android_kernel_xiaomi_sm8350/include/media
Hans Verkuil 0996517cf8 V4L/DVB: v4l2: Add new control handling framework
Add a new framework to handle controls which makes life for driver
developers much easier.

Note that this patch moves some of the control support that used to be in
v4l2-common.c to v4l2-ctrls.c. The tables were copied unchanged. The body
of v4l2_ctrl_query_fill() was copied to a new v4l2_ctrl_fill() function
in v4l2-ctrls.c. This new function doesn't use the v4l2_queryctrl
struct anymore, which makes it more general.

The remainder of v4l2-ctrls.c is all new. Highlights include:

- No need to implement VIDIOC_QUERYCTRL, QUERYMENU, S_CTRL, G_CTRL,
  S_EXT_CTRLS, G_EXT_CTRLS or TRY_EXT_CTRLS in either bridge drivers
  or subdevs. New wrapper functions are provided that can just be plugged in.
  Once everything has been converted these wrapper functions can be removed as well.

- When subdevices are added their controls can be automatically merged
  with the bridge driver's controls.

- Most drivers just need to implement s_ctrl to set the controls.
  The framework handles the locking and tries to be as 'atomic' as possible.

- Ready for the subdev device nodes: the same mechanism applies to subdevs
  and their device nodes as well. Sub-device drivers can make controls
  local, preventing them from being merged with bridge drivers.

- Takes care of backwards compatibility handling of VIDIOC_S_CTRL and
  VIDIOC_G_CTRL. Handling of V4L2_CID_PRIVATE_BASE is fully transparent.
  CTRL_CLASS controls are automatically added.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-08 23:43:03 -03:00
..
davinci V4L/DVB: V4L: vpfe_capture: Add call back function for interrupt clear for vpfe_cfg 2010-05-18 00:52:43 -03:00
adv7343.h
ak881x.h V4L/DVB: V4L: v4l2-subdev driver for AK8813 and AK8814 TV-encoders from AKM 2010-05-19 12:58:02 -03:00
bt819.h
cs53l32a.h
cs5345.h
cx2341x.h
cx25840.h V4L/DVB: cx25840: Add s_io_pin_config core subdev ops for the CX2388[578] 2010-08-08 23:42:54 -03:00
i2c-addr.h
ir-common.h V4L/DVB: ir-common: remove keymap tables from the module 2010-05-19 12:56:51 -03:00
ir-core.h V4L/DVB: IR: extend interfaces to support more device settings 2010-08-08 23:43:00 -03:00
ir-kbd-i2c.h V4L/DVB: ir-core: partially convert ir-kbd-i2c.c to not use ir-functions.c 2010-08-02 14:53:59 -03:00
lirc_dev.h V4L/DVB: IR/lirc: make lirc userspace and staging modules buildable 2010-08-02 16:42:55 -03:00
lirc.h V4L/DVB: IR: extend interfaces to support more device settings 2010-08-08 23:43:00 -03:00
m52790.h
msp3400.h
mt9t112.h V4L/DVB (13670): soc-camera: Add mt9t112 camera driver 2009-12-16 09:27:41 -02:00
ov772x.h soc-camera: ov772x: Modify buswidth control 2010-02-26 15:11:00 -03:00
ovcamchip.h
pwc-ioctl.h
radio-si4713.h
rc-map.h V4L/DVB: staging/lirc: port lirc_streamzap to ir-core 2010-08-08 23:42:58 -03:00
rds.h
rj54n1cb0c.h V4L/DVB (13661): rj54n1cb0c: Add cropping, auto white balance, restrict sizes, add platform data 2009-12-16 09:27:30 -02:00
saa6752hs.h
saa7115.h
saa7127.h
saa7146_vv.h V4L/DVB: saa7146: fix regression of the av7110/budget-av driver 2010-05-06 19:20:50 -03:00
saa7146.h
sh_mobile_ceu.h V4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2 2010-08-02 16:43:40 -03:00
sh_mobile_csi2.h V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms 2010-08-02 16:43:39 -03:00
sh_vou.h V4L/DVB: V4L: SuperH Video Output Unit (VOU) driver 2010-05-19 12:58:01 -03:00
si4713.h
soc_camera_platform.h V4L/DVB (13659): soc-camera: convert to the new mediabus API 2009-12-16 09:27:29 -02:00
soc_camera.h V4L/DVB: V4L2: soc-camera: export soc-camera bus type for notifications 2010-08-02 16:43:38 -03:00
soc_mediabus.h V4L/DVB (13658): v4l: add a media-bus API for configuring v4l2 subdev pixel and frame formats 2009-12-16 09:27:27 -02:00
timb_radio.h V4L/DVB: radio: Add radio-timb 2010-02-26 15:10:56 -03:00
tuner-types.h
tuner.h V4L/DVB: tuner: Add a definition for the Philips FQ1236 MK5 NTSC tuner 2010-07-08 16:49:53 -03:00
tvaudio.h
tveeprom.h
tvp514x.h
tvp5150.h
tvp7002.h V4L/DVB: Definitions for TVP7002 in DM365 2010-02-26 15:11:01 -03:00
tw9910.h tw9910: use TABs for indentation 2010-02-26 15:10:59 -03:00
upd64031a.h
upd64083.h
v4l2-chip-ident.h V4L/DVB: V4L: v4l2-subdev driver for AK8813 and AK8814 TV-encoders from AKM 2010-05-19 12:58:02 -03:00
v4l2-common.h V4L/DVB: v4l2-common: simplify prio utility functions 2010-05-19 12:58:54 -03:00
v4l2-ctrls.h V4L/DVB: v4l2: Add new control handling framework 2010-08-08 23:43:03 -03:00
v4l2-dev.h V4L/DVB: v4l2: Add new control handling framework 2010-08-08 23:43:03 -03:00
v4l2-device.h V4L/DVB: v4l2: Add new control handling framework 2010-08-08 23:43:03 -03:00
v4l2-event.h V4L/DVB: V4L: Events: Add backend 2010-05-19 12:58:06 -03:00
v4l2-fh.h V4L/DVB: V4L: Events: Add backend 2010-05-19 12:58:06 -03:00
v4l2-i2c-drv.h
v4l2-int-device.h
v4l2-ioctl.h V4L/DVB: V4L: Events: Support event handling in do_ioctl 2010-05-19 12:58:07 -03:00
v4l2-mediabus.h V4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats 2010-08-02 16:43:37 -03:00
v4l2-mem2mem.h V4L/DVB: add memory-to-memory device helper framework for videobuf 2010-05-19 12:58:03 -03:00
v4l2-subdev.h V4L/DVB: v4l2: Add new control handling framework 2010-08-08 23:43:03 -03:00
videobuf-core.h V4L/DVB: videobuf: Remove videobuf_mapping start and end fields 2010-08-02 15:23:09 -03:00
videobuf-dma-contig.h V4L/DVB (13377): make struct videobuf_queue_ops constant 2009-12-05 18:41:35 -02:00
videobuf-dma-sg.h V4L/DVB: videobuf: Rename vmalloc fields to vaddr 2010-08-02 15:25:57 -03:00
videobuf-dvb.h V4L/DVB (13103): create a standard method for dvb adapter drivers to override frontend ioctls 2009-12-05 18:40:21 -02:00
videobuf-vmalloc.h V4L/DVB: videobuf: Rename vmalloc fields to vaddr 2010-08-02 15:25:57 -03:00
wm8775.h