aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/tuners
diff options
context:
space:
mode:
authorGravatar Mauro Carvalho Chehab <mchehab@osg.samsung.com> 2016-03-05 07:13:39 -0300
committerGravatar Mauro Carvalho Chehab <mchehab@osg.samsung.com> 2016-03-10 15:10:59 -0300
commitb2cd27448b33de9069d580d8f229efef434b64e6 (patch)
tree9464dd1d85ef2fb0bcb958d7043fc4ec0d593029 /drivers/media/tuners
parent[media] media: Sanitise the reserved fields of the G_TOPOLOGY IOCTL arguments (diff)
downloadlinux-b2cd27448b33.tar.gz
linux-b2cd27448b33.tar.bz2
linux-b2cd27448b33.zip
[media] media-device: map new functions into old types for legacy API
The legacy media controller userspace API exposes entity types that carry both type and function information. The new API replaces the type with a function. It preserves backward compatibility by defining legacy functions for the existing types and using them in drivers. This works fine, as long as newer entity functions won't be added. Unfortunately, some tools, like media-ctl with --print-dot argument rely on the now legacy MEDIA_ENT_T_V4L2_SUBDEV and MEDIA_ENT_T_DEVNODE numeric ranges to identify what entities will be shown. Also, if the entity doesn't match those ranges, it will ignore the major/minor information on devnodes, and won't be getting the devnode name via udev or sysfs. As we're now adding devices outside the old range, the legacy ioctl needs to map the new entity functions into a type at the old range, or otherwise we'll have a regression. Detected on all released media-ctl versions (e. g. versions <= 1.10). Fix this by deriving the type from the function to emulate the legacy API if the function isn't in the legacy functions range. Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/tuners')
0 files changed, 0 insertions, 0 deletions