media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer
authorHans Verkuil <hans.verkuil@cisco.com>
Wed, 14 Feb 2018 12:03:18 +0000 (13:03 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 3 Mar 2018 15:51:06 +0000 (15:51 +0000)
commitc5833ac1da1d7b8a3b7fb56b51b72293efda072e
tree10ced729382dbcff296a1d5e7d30165a4e46091a
parentb68691d351df8f31a7fe35969a89ae7840f75790
media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer

commit b8c601e8af2d08f733d74defa8465303391bb930 upstream.

ctrl_is_pointer just hardcoded two known string controls, but that
caused problems when using e.g. custom controls that use a pointer
for the payload.

Reimplement this function: it now finds the v4l2_ctrl (if the driver
uses the control framework) or it calls vidioc_query_ext_ctrl (if the
driver implements that directly).

In both cases it can now check if the control is a pointer control
or not.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
[bwh: Rebased on top of some earlier fixes]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/media/video/v4l2-compat-ioctl32.c