linux/drivers/media/video
Hans Verkuil 48ea0be060 [media] v4l2-dev/ioctl: determine the valid ioctls upfront
Rather than testing whether an ioctl is implemented in the driver or not
every time the ioctl is called, do it upfront when the device is registered.

This also allows a driver to disable certain ioctls based on the capabilities
of the detected board, something you can't do today without creating separate
v4l2_ioctl_ops structs for each new variation.

For the most part it is pretty straightforward, but for control ioctls a flag
is needed since it is possible that you have per-filehandle controls, and that
can't be determined upfront of course.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-14 09:17:28 -03:00
..
au0828 [media] drivers/media/video/au0828/au0828-video.c: add missing video_device_release 2012-05-02 09:09:10 -03:00
blackfin [media] add blackfin capture bridge driver 2012-03-19 15:08:20 -03:00
bt8xx [media] Default bt878 contrast value 2012-04-11 07:55:35 -03:00
cpia2 [media] cpia2: major overhaul to get it in a working state again 2012-05-07 16:21:05 -03:00
cx18 [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
cx88 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-01-18 12:53:54 -08:00
cx231xx [media] media, cx231xx: Fix double free on close 2012-03-19 14:13:51 -03:00
cx23885 [media] cx23885: Don't duplicate xc4000 entry for radio 2012-01-16 11:55:12 -02:00
cx25821 [media] cx25821: Add a card definition for "No brand" cards that have: subvendor = 0x0000 subdevice = 0x0000 2012-03-08 12:42:28 -03:00
cx25840 [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
davinci [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
em28xx [media] em28xx: Make em28xx-input.c a separate module 2012-04-10 20:45:41 -03:00
gspca [media] gspca_pac7302: Improve the gain control 2012-05-07 16:15:48 -03:00
hdpvr Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-02-24 12:32:51 -08:00
ivtv [media] v4l2-ctrls: Use v4l2_subscribed_event_ops 2012-05-07 16:29:35 -03:00
m5mols [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
marvell-ccic [media] marvell-cam: Demote the "release" print to debug level 2012-03-19 22:17:06 -03:00
omap [media] omap_vout: fix section mismatch 2012-01-23 15:27:17 -02:00
omap3isp [media] omap3isp: Move CCDC link validation to ccdc_link_validate() 2012-05-14 08:53:28 -03:00
pvrusb2 [media] pvrusb2: For querystd, start with list of hardware-supported standards 2012-05-07 16:58:00 -03:00
pwc pwc: Add support for control events 2012-04-09 08:28:33 -03:00
s5p-fimc [media] s5p-fimc: Handle sub-device interdependencies using deferred probing 2012-04-10 15:25:25 -03:00
s5p-g2d [media] s5p-g2d: Added locking for writing control values to registers 2012-03-08 07:43:37 -03:00
s5p-jpeg [media] s5p-jpeg: Adapt to new controls 2012-03-08 07:43:51 -03:00
s5p-mfc [media] s5p-mfc: Added support for clk_prepare 2012-03-08 07:42:52 -03:00
s5p-tv [media] s5p-tv: mark const init data with __initconst instead of __initdata 2012-04-10 21:38:16 -03:00
saa7134 [media] Add support for KWorld PC150-U ATSC hybrid tuner card 2012-03-08 11:01:25 -03:00
saa7164 [media] saa7164: saa7164_vbi_stop_port() returns linux error codes 2012-04-26 15:28:31 -03:00
smiapp [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
sn9c102 module_param: check type correctness for module_param_array 2012-01-13 09:32:16 +10:30
tlg2300 [media] tlg2300: Remove usage of KERNEL_VERSION() 2012-04-19 16:47:07 -03:00
tm6000 [media] tm6000: don't use KERNEL_VERSION 2012-04-19 16:49:30 -03:00
usbvision Merge tag 'v3.2-rc2' into staging/for_v3.3 2011-11-23 19:42:09 -02:00
uvc [media] uvcvideo: Use videobuf2 .get_unmapped_area() implementation 2012-05-08 13:46:19 -03:00
zoran [media] zoran: fix integer overflow in setup_window() 2012-04-19 09:11:25 -03:00
adp1653.c [media] v4l: Allow changing control handler lock 2012-05-14 08:46:27 -03:00
adv7170.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7175.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7180.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7183.c [media] adv7183: add adv7183 decoder driver 2012-03-19 15:04:10 -03:00
adv7183_regs.h [media] adv7183: add adv7183 decoder driver 2012-03-19 15:04:10 -03:00
adv7343.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7343_regs.h
ak881x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
aptina-pll.c [media] v4l: aptina-pll: Round up minimum multiplier factor value properly 2012-05-08 14:26:41 -03:00
aptina-pll.h [media] v4l: Aptina-style sensor PLL support 2012-03-19 18:53:39 -03:00
arv.c
as3645a.c [media] as3645a: move relevant code under __devinit/__devexit 2012-05-08 14:28:41 -03:00
atmel-isi.c [media] V4L: atmel-isi: add clk_prepare()/clk_unprepare() functions 2012-01-23 18:13:21 -02:00
bt819.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
bt856.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
bt866.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
btcx-risc.c
btcx-risc.h
bw-qcam.c
c-qcam.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
cs53l32a.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
cs5345.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
cs8420.h
cx2341x.c
fsl-viu.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
hexium_gemini.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
hexium_orion.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
ibmmpeg2.h
imx074.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
indycam.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
indycam.h
ir-kbd-i2c.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
Kconfig [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
ks0127.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ks0127.h
m52790.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
Makefile [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
mem2mem_testdev.c
meye.c [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
meye.h
msp3400-driver.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
msp3400-driver.h module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
msp3400-kthreads.c
mt9m001.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9m032.c [media] v4l: Add driver for Micron MT9M032 camera sensor 2012-03-19 18:56:33 -03:00
mt9m111.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9p031.c [media] mt9p031: Use generic PLL setup code 2012-03-19 18:54:22 -03:00
mt9t001.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9t031.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9t112.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9v011.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9v022.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9v032.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mx1_camera.c [media] soc-camera: remove redundant parameter from .set_bus_param() 2012-01-06 11:00:23 -02:00
mx2_camera.c [media] media: i.MX27 camera: Add resizing support 2012-03-08 10:06:44 -03:00
mx2_emmaprp.c [media] i.MX2: eMMa-PrP: Allow userptr IO mode 2012-04-10 15:40:08 -03:00
mx3_camera.c dmaengine/dma_slave: introduce inline wrappers 2012-03-21 19:20:22 +05:30
mxb.c [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
mxb.h
noon010pc30.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
omap1_camera.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
omap24xxcam-dma.c [media] [trivial] omap24xxcam-dma: Fix logical test 2011-12-09 20:28:42 -02:00
omap24xxcam.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
omap24xxcam.h
ov772x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov2640.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov5642.c [media] V4L: OV5642:remove redundant code to set cropping w/h 2012-04-10 21:31:19 -03:00
ov6650.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov7670.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov9640.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov9640.h
ov9740.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
pms.c
pxa_camera.c [media] V4L: pxa_camera: add clk_prepare/clk_unprepare calls 2012-03-19 22:11:07 -03:00
rj54n1cb0c.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
s5k6aa.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
s2255drv.c [media] s2255drv: Remove redundant NULL test before release_firmware() 2012-04-19 09:09:58 -03:00
saa711x_regs.h
saa717x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa6588.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7110.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7115.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7121.h
saa7127.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7146.h
saa7146reg.h
saa7185.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7191.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7191.h
sh_mobile_ceu_camera.c [media] V4L: sh_mobile_ceu_camera: maximum image size depends on the hardware version 2012-03-19 22:11:06 -03:00
sh_mobile_csi2.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
sh_vou.c
smiapp-pll.c [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
smiapp-pll.h [media] smiapp: Generic SMIA++/SMIA PLL calculator 2012-05-14 08:57:02 -03:00
soc_camera.c [media] V4L: soc-camera: call soc_camera_power_on() after adding the client to the host 2012-03-19 22:11:05 -03:00
soc_camera_platform.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
soc_mediabus.c
sr030pc30.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
stk-sensor.c
stk-webcam.c [media] stk-webcam: Don't flip the image by default 2012-05-07 16:11:03 -03:00
stk-webcam.h
tcm825x.c
tcm825x.h
tda7432.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tda9840.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tea6415c.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tea6415c.h
tea6420.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tea6420.h
ths7303.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
timblogiw.c dmaengine/dma_slave: introduce inline wrappers 2012-03-21 19:20:22 +05:30
tlv320aic23b.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tuner-core.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tvaudio.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tveeprom.c [media] tveeprom: update hauppauge tuner list thru 181 2012-02-28 18:46:53 -03:00
tvp514x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tvp514x_regs.h
tvp5150.c [media] media: tvp5150: support g_mbus_fmt callback 2012-03-08 12:07:14 -03:00
tvp5150_reg.h
tvp7002.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tvp7002_reg.h
tw9910.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
upd64031a.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
upd64083.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
v4l2-common.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
v4l2-compat-ioctl32.c [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
v4l2-ctrls.c [media] v4l: Allow changing control handler lock 2012-05-14 08:46:27 -03:00
v4l2-dev.c [media] v4l2-dev/ioctl: determine the valid ioctls upfront 2012-05-14 09:17:28 -03:00
v4l2-device.c [media] media: fix truncated entity specification 2011-12-20 09:31:50 -02:00
v4l2-event.c [media] v4l2-ctrls: Use v4l2_subscribed_event_ops 2012-05-07 16:29:35 -03:00
v4l2-fh.c
v4l2-int-device.c
v4l2-ioctl.c [media] v4l2-dev/ioctl: determine the valid ioctls upfront 2012-05-14 09:17:28 -03:00
v4l2-mem2mem.c
v4l2-subdev.c [media] v4l: Implement v4l2_subdev_link_validate() 2012-05-14 08:45:31 -03:00
via-camera.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-01-15 12:49:56 -08:00
via-camera.h
videobuf-core.c [media] videobuf: only start streaming in poll() if so requested by the poll mask 2012-03-27 11:41:33 -03:00
videobuf-dma-contig.c
videobuf-dma-sg.c
videobuf-dvb.c [media] videobuf-dvb: avoid spurious ENOMEM when CONFIG_DVB_NET=n 2012-01-06 12:42:19 -02:00
videobuf-vmalloc.c
videobuf2-core.c [media] videobuf2-core: also test for pending events 2012-03-27 11:41:48 -03:00
videobuf2-dma-contig.c [media] media: videobuf2-dma-contig: quiet sparse noise about plain integer as NULL pointer 2012-05-08 14:35:14 -03:00
videobuf2-dma-sg.c [media] media: vb2: fix potential deadlock in mmap vs. get_userptr handling 2011-12-30 16:06:49 -02:00
videobuf2-memops.c [media] media: vb2: fix potential deadlock in mmap vs. get_userptr handling 2011-12-30 16:06:49 -02:00
videobuf2-vmalloc.c [media] media: vb2: support userptr for PFN mappings 2012-03-08 07:42:17 -03:00
vino.c [media] v4l: Casting (void *) value returned by kmalloc is useless 2011-11-24 21:06:57 -02:00
vino.h
vivi.c [media] v4l: Allow changing control handler lock 2012-05-14 08:46:27 -03:00
vp27smpx.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
vpx3220.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
vs6624.c [media] vs6624: add vs6624 sensor driver 2012-03-19 15:04:26 -03:00
vs6624_regs.h [media] vs6624: add vs6624 sensor driver 2012-03-19 15:04:26 -03:00
w9966.c [media] /w9966: Fix a build warning 2012-03-19 15:37:59 -03:00
wm8739.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
wm8775.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
zr364xx.c USB: convert drivers/media/* to use module_usb_driver() 2011-11-18 09:46:12 -08:00