linux/drivers/media/video
Guennadi Liakhovetski 9a74251d8b V4L/DVB (13658): v4l: add a media-bus API for configuring v4l2 subdev pixel and frame formats
Video subdevices, like cameras, decoders, connect to video bridges over
specialised busses. Data is being transferred over these busses in various
formats, which only loosely correspond to fourcc codes, describing how video
data is stored in RAM. This is not a one-to-one correspondence, therefore we
cannot use fourcc codes to configure subdevice output data formats. This patch
adds codes for several such on-the-bus formats and an API, similar to the
familiar .s_fmt(), .g_fmt(), .try_fmt(), .enum_fmt() API for configuring those
codes. After all users of the old API in struct v4l2_subdev_video_ops are
converted, it will be removed. Also add helper routines to support generic
pass-through mode for the soc-camera framework.

 create mode 100644 drivers/media/video/soc_mediabus.c
 create mode 100644 include/media/soc_mediabus.h
 create mode 100644 include/media/v4l2-mediabus.h

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 09:27:27 -02:00
..
au0828 V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
bt8xx V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
cpia2 V4L/DVB (13594): cpia2: use __stringify macro. 2009-12-16 00:18:31 -02:00
cx18 V4L/DVB (13555): v4l: Use video_device_node_name() instead of the minor number 2009-12-16 00:17:57 -02:00
cx88 V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
cx231xx V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
cx23885 V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
cx25840 V4L/DVB (13232): cx25840 6.5MHz carrier detection fixes 2009-12-05 18:41:01 -02:00
davinci V4L/DVB (13607): vpif: move vpif_remove to .devexit 2009-12-16 00:18:37 -02:00
em28xx V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
et61x251 V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
gspca V4L/DVB (13627): gspca - zc3xx: Set the quality for sensor tas5130c. 2009-12-16 00:18:49 -02:00
hdpvr V4L/DVB (13552): v4l: Replace video_is_unregistered with video_is_registered 2009-12-16 00:17:55 -02:00
ivtv V4L/DVB (13555): v4l: Use video_device_node_name() instead of the minor number 2009-12-16 00:17:57 -02:00
ovcamchip V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
pvrusb2 V4L/DVB (13550): v4l: Use the new video_device_node_name function 2009-12-16 00:17:55 -02:00
pwc V4L/DVB (13593): PWC: parameter trace is only available in debug 2009-12-16 00:18:30 -02:00
saa7134 V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
saa7164 Merge branch 'for-next' into for-linus 2009-12-07 18:36:35 +01:00
sn9c102 V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
usbvideo V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
usbvision V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
uvc V4L/DVB (13610): uvc: Correct size given to memset 2009-12-16 00:18:41 -02:00
zc0301 V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
zoran V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
adv7170.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
adv7175.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
adv7180.c V4L/DVB (13176): adv7180: Support checking standard via interrupts 2009-12-05 18:40:43 -02:00
adv7343_regs.h V4L/DVB (11743): Analog Devices ADV7343 video encoder driver 2009-06-16 18:20:59 -03:00
adv7343.c V4L/DVB (12201): adv7343: remove unused #include <linux/version.h> 2009-09-19 00:18:07 -03:00
arv.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
bt819.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
bt856.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
bt866.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
btcx-risc.c
btcx-risc.h
bw-qcam.c V4L/DVB (12438): Read buffer overflow 2009-08-13 20:39:14 -03:00
bw-qcam.h
c-qcam.c V4L/DVB (13550): v4l: Use the new video_device_node_name function 2009-12-16 00:17:55 -02:00
cafe_ccic-regs.h
cafe_ccic.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
cpia_pp.c
cpia_usb.c
cpia.c V4L/DVB (13590): cpia: convert it to use proc_fops 2009-12-16 00:18:23 -02:00
cpia.h
cs53l32a.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
cs5345.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
cs8420.h
cx2341x.c V4L/DVB (12104): ivtv/cx18: fix regression: class controls are no longer seen 2009-06-23 03:14:31 -03:00
dabusb.c Driver-Core: fix devnode callbacks for dabusb and industrialio 2009-09-21 07:36:33 -07:00
dabusb.h
font.h
hexium_gemini.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
hexium_orion.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
ibmmpeg2.h
indycam.c V4L/DVB (10866): saa7191, indycam: remove compat code. 2009-03-30 12:43:11 -03:00
indycam.h V4L/DVB (10861): vino/indycam/saa7191: convert to i2c modules to V4L2. 2009-03-30 12:43:10 -03:00
ir-kbd-i2c.c V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register() 2009-12-16 00:18:45 -02:00
Kconfig V4L/DVB (13612): IR: Move common IR code to drivers/media/IR 2009-12-16 00:18:42 -02:00
ks0127.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
ks0127.h V4L/DVB (10730): v4l-dvb: cleanup obsolete references to v4l1 headers. 2009-03-30 12:42:59 -03:00
m52790.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
Makefile 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
meye.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
meye.h
msp3400-driver.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
msp3400-driver.h V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
msp3400-kthreads.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
mt9m001.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
mt9m111.c V4L/DVB (13644): v4l: add new v4l2-subdev sensor operations, use g_skip_top_lines in soc-camera 2009-12-16 09:27:13 -02:00
mt9t031.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
mt9v011.c V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down 2009-08-13 20:39:08 -03:00
mt9v011.h V4L/DVB (12340): mtv9v011: Add a missing chip version to the driver 2009-08-13 20:39:02 -03:00
mt9v022.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
mx1_camera.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
mx3_camera.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
mxb.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
mxb.h
omap24xxcam-dma.c V4L/DVB (9815): omap2: add OMAP2 camera driver. 2008-12-30 09:38:35 -02:00
omap24xxcam.c V4L/DVB (13557): v4l: Remove unneeded video_device::minor usage in drivers 2009-12-16 00:17:58 -02:00
omap24xxcam.h V4L/DVB (9815): omap2: add OMAP2 camera driver. 2008-12-30 09:38:35 -02:00
ov511.c V4L/DVB (13596): ov511.c typo: lock => unlock 2009-12-16 00:18:33 -02:00
ov511.h V4L/DVB (11966): ov511: Fix unit_video parameter behavior 2009-06-16 19:07:40 -03:00
ov772x.c V4L/DVB (13650): soc-camera: switch drivers and platforms to use .priv in struct soc_camera_link 2009-12-16 09:27:19 -02:00
ov7670.c V4L/DVB (11117): ov7670: add support to get/set registers 2009-03-30 12:43:30 -03:00
ov9640.c V4L/DVB (13040): V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV9640 sensor 2009-12-05 18:40:01 -02:00
ov9640.h V4L/DVB (13040): V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV9640 sensor 2009-12-05 18:40:01 -02:00
pms.c V4L/DVB (13509): pms: convert from V4L1 to V4L2. 2009-12-05 18:42:14 -02:00
pxa_camera.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
rj54n1cb0c.c V4L/DVB (13130): soc-camera: add a new driver for the RJ54N1CB0C camera sensor from Sharp 2009-12-05 18:40:28 -02:00
s2255drv.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
saa711x_regs.h
saa717x.c V4L/DVB (13396): correct initialization of audio_mode 2009-12-05 18:41:40 -02:00
saa5246a.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
saa5249.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
saa6588.c V4L/DVB (12215): saa6588: conform to the final RDS spec. 2009-09-12 12:17:31 -03:00
saa7110.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
saa7115.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7121.h
saa7127.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7146.h V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
saa7146reg.h
saa7185.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7191.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
saa7191.h V4L/DVB (10861): vino/indycam/saa7191: convert to i2c modules to V4L2. 2009-03-30 12:43:10 -03:00
se401.c V4L/DVB (13550): v4l: Use the new video_device_node_name function 2009-12-16 00:17:55 -02:00
se401.h V4L/DVB (11998): se401: Fix coding style 2009-06-16 19:07:54 -03:00
sh_mobile_ceu_camera.c V4L/DVB (13646): sh_mobile_ceu_camera: do not mark host occupied, when adding a client fails 2009-12-16 09:27:15 -02:00
soc_camera_platform.c V4L/DVB (13644): v4l: add new v4l2-subdev sensor operations, use g_skip_top_lines in soc-camera 2009-12-16 09:27:13 -02:00
soc_camera.c V4L/DVB (13645): soc-camera: fix multi-line comment coding style 2009-12-16 09:27:15 -02:00
soc_mediabus.c 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
stk-sensor.c
stk-webcam.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
stk-webcam.h
stradis.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
stv680.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
stv680.h
tcm825x.c V4L/DVB (12111): tcm825x: remove incorrect __exit_p wrapper 2009-06-23 03:14:48 -03:00
tcm825x.h V4L/DVB (10628): V4L: Storage class should be before const qualifier 2009-03-30 12:42:48 -03:00
tda7432.c V4L/DVB (11564): tda7432: Delete old driver history 2009-06-16 18:20:36 -03:00
tda9840.c V4L/DVB (11372): v4l2: use old-style i2c API for kernels < 2.6.26 instead of < 2.6.22 2009-04-06 21:44:23 -03:00
tda9875.c V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API 2009-03-30 12:43:48 -03:00
tea6415c.c V4L/DVB (11737): Drop stray references to i2c_probe 2009-06-16 18:20:58 -03:00
tea6415c.h V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
tea6420.c V4L/DVB (11737): Drop stray references to i2c_probe 2009-06-16 18:20:58 -03:00
tea6420.h V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
ths7303.c V4L/DVB (11742): TI THS7303 video amplifier driver code 2009-06-16 18:20:59 -03:00
tlv320aic23b.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
tuner-core.c V4L/DVB (13247): tuner-core: dont force every tuner to set frequency at startup 2009-12-05 18:41:06 -02:00
tvaudio.c V4L/DVB (13166): remove duplicate structure field initialization 2009-12-05 18:40:40 -02:00
tveeprom.c V4L/DVB (12478): ARRAY_SIZE changes 2009-09-12 12:19:05 -03:00
tvp514x_regs.h V4L/DVB (12246): tvp514x: Migration to sub-device framework 2009-09-19 00:18:09 -03:00
tvp514x.c V4L/DVB (13292): tvp514x: recognize the error case in tvp514x_read_reg() 2009-12-05 18:41:13 -02:00
tvp5150_reg.h
tvp5150.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
tw9910.c V4L/DVB (13657): tw9910: Add revision control to tw9910_set_hsync 2009-12-16 09:27:26 -02:00
upd64031a.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
upd64083.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
v4l1-compat.c V4L/DVB (12948): v4l1-compat: fix VIDIOC_G_STD handling 2009-09-19 00:15:25 -03:00
v4l2-common.c V4L/DVB (13618): v4l2: Adding helper function to get dv preset description 2009-12-16 00:18:47 -02:00
v4l2-compat-ioctl32.c V4L/DVB (13571): v4l: Adding Digital Video Timings APIs 2009-12-16 00:18:03 -02:00
v4l2-dev.c V4L/DVB (13552): v4l: Replace video_is_unregistered with video_is_registered 2009-12-16 00:17:55 -02:00
v4l2-device.c V4L/DVB (11936): Fix v4l2-device usage of i2c_unregister_device() 2009-06-16 19:07:26 -03:00
v4l2-int-device.c V4L/DVB (9322): v4l2-int-if: Export more interfaces to modules 2008-10-21 14:31:20 -02:00
v4l2-ioctl.c V4L/DVB (13571): v4l: Adding Digital Video Timings APIs 2009-12-16 00:18:03 -02:00
videobuf-core.c V4L/DVB (13415): videobuf-core: explicitly cast page count 2009-12-05 18:41:46 -02:00
videobuf-dma-contig.c V4L/DVB (13598): videobuf_dma_contig_user_get() for non-aligned offsets 2009-12-16 00:18:34 -02:00
videobuf-dma-sg.c V4L/DVB (13377): make struct videobuf_queue_ops constant 2009-12-05 18:41:35 -02:00
videobuf-dvb.c 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.c V4L/DVB (13417): Fix videobuf_queue_vmalloc_init() prototype 2009-12-05 18:41:47 -02:00
vino.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
vino.h
vivi.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
vp27smpx.c V4L/DVB (11370): v4l2-subdev: move s_std from tuner to core. 2009-04-06 21:44:22 -03:00
vpx3220.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
w9966.c V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
w9968cf.h V4L/DVB (11377): v4l: increase version numbers of drivers converted to v4l2_subdev. 2009-04-06 21:44:26 -03:00
wm8739.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
wm8775.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
zr364xx.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00