OpenCloudOS-Kernel/drivers/media/video
Mauro Carvalho Chehab 7a7d9a89d0 V4L/DVB (6251): Replace video-buf to a more generic approach
video-buf currently does two different tasks:

- Manages video buffers with a common code that allows
  implementing all the V4L2 different modes of buffering;

- Controls memory allocations

While the first task is generic, the second were written to support PCI DMA
Scatter/Gather needs. The original approach can't even work for those
video capture hardware that don't support scatter/gather.

I did one approach to make it more generic. While the approach worked
fine for vivi driver, it were not generic enough to handle USB needs.

This patch creates two different modules, one containing the generic
video buffer handling (videobuf-core) and another with PCI DMA S/G.
After this patch, it would be simpler to write an USB video-buf and a
non-SG DMA module.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981
Reviewed-by: Ricardo Cerqueira <v4l@cerqueira.org>
2007-10-09 22:14:55 -03:00
..
bt8xx V4L/DVB (6249): Add Typhoon Tv-Tuner PCI to bttv-cards.c 2007-10-09 22:14:55 -03:00
cpia2 V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
cx88 V4L/DVB (6247): Fix bug #8689: Fixes IR stop/start during suspend/resume 2007-10-09 22:14:51 -03:00
cx23885 V4L/DVB (6224): VIDEO_CX23885 depends on DVB_CORE 2007-10-09 22:14:40 -03:00
cx25840 V4L/DVB (6142): cx25840: fix build warning 2007-10-09 22:07:51 -03:00
em28xx V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
et61x251 V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
ivtv V4L/DVB (6123): ivtv: move ivtv.h public header to include/linux 2007-10-09 22:07:28 -03:00
ovcamchip V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
pvrusb2 V4L/DVB (6212): pvrusb2: I2C adapter tweaks from Jean Delvare 2007-10-09 22:14:35 -03:00
pwc V4L/DVB (6237): Oops in pwc v4l driver 2007-10-09 22:14:49 -03:00
saa7134 V4L/DVB (6225): AverTV Studio 307 has only one composite input 2007-10-09 22:14:45 -03:00
sn9c102 V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
usbvideo some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
usbvision V4L/DVB (6214): usbvision: Don't support I2C_M_REV_DIR_ADDR 2007-10-09 22:14:35 -03:00
zc0301 V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
Kconfig V4L/DVB (6151): include drivers/media/video/cx23885/Kconfig 2007-10-09 22:07:59 -03:00
Makefile V4L/DVB (6150): Add CX23885/CX23887 PCIe bridge driver 2007-10-09 22:07:56 -03:00
adv7170.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
adv7175.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
arv.c V4L/DVB (5983): Arv.c: fix memset in ioctl 2007-10-09 22:04:40 -03:00
bt819.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt856.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt866.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
btcx-risc.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
btcx-risc.h
bw-qcam.c V4L/DVB (6250): bw-qcam use data_reverse instead of manually poking the control register fix 2007-10-09 22:14:55 -03:00
bw-qcam.h V4L/DVB (3318b): sem2mutex: drivers/media/, #2 2006-02-07 06:49:14 -02:00
c-qcam.c V4L/DVB (5860): Use msecs_to_jiffies instead of HZ on some webcam drivers 2007-07-20 17:35:50 -03:00
cafe_ccic-regs.h V4L/DVB (5690): Cafe_ccic: Properly power down the sensor 2007-05-22 16:16:27 -03:00
cafe_ccic.c V4L/DVB (6235): cafe_ccic: default to allocating DMA buffers at probe time 2007-10-09 22:14:49 -03:00
compat_ioctl32.c V4L/DVB (5989): V4L: Add additional ioctls to compat_ioctl32 2007-10-09 22:04:45 -03:00
cpia.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
cpia.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
cpia_pp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
cpia_usb.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cs53l32a.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
cs8420.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
cx2341x.c V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy 2007-10-09 22:06:42 -03:00
dabfirmware.h V4L/DVB (3599a): Move drivers/usb/media to drivers/media/video 2006-03-25 09:29:04 -03:00
dabusb.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
dabusb.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
dpc7146.c V4L/DVB (3537a): Whitespace cleanup 2006-03-21 08:53:57 -08:00
font.h V4L/DVB (3518): Creates a virtual video device driver 2006-03-24 16:26:49 -03:00
hexium_gemini.c V4L/DVB (3537a): Whitespace cleanup 2006-03-21 08:53:57 -08:00
hexium_orion.c V4L/DVB (3537a): Whitespace cleanup 2006-03-21 08:53:57 -08:00
ibmmpeg2.h
indycam.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
indycam.h
ir-kbd-i2c.c V4L/DVB (6196): cx23885: add support for DViCO FusionHDTV 5 Express 2007-10-09 22:14:29 -03:00
ks0127.c V4L/DVB (5029): Ks0127 status flags 2007-01-15 16:25:52 -02:00
ks0127.h V4L/DVB (3916): AverMedia 6 Eyes AVS6EYES support 2006-06-25 01:59:28 -03:00
meye.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
meye.h meye: make meye use sony-laptop instead of sonypi 2007-04-28 22:06:02 -04:00
msp3400-driver.c V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs 2007-10-09 22:07:29 -03:00
msp3400-driver.h V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
msp3400-kthreads.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
mt20xx.c V4L/DVB (6130): mt20xx: convert from tuner sub-driver into dvb_frontend module 2007-10-09 22:07:39 -03:00
mt20xx.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
mxb.c V4L/DVB (4894): Mxb: fix to load the proper i2c modules 2006-12-10 09:05:26 -02:00
mxb.h V4L/DVB (3537a): Whitespace cleanup 2006-03-21 08:53:57 -08:00
ov511.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
ov511.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ov7670.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
planb.c V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs 2007-10-09 22:07:29 -03:00
planb.h V4L/DVB (5551): Plan-b: header change 2007-04-27 15:45:53 -03:00
pms.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa711x.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
saa711x_regs.h V4L/DVB (4551): Added register aliases for saa711x registers, instead of using reg numbers 2006-09-26 12:30:34 -03:00
saa5246a.c V4L/DVB (5197): Convert to generic boolean-values 2007-02-21 13:35:16 -02:00
saa5246a.h V4L/DVB (5197): Convert to generic boolean-values 2007-02-21 13:35:16 -02:00
saa5249.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
saa6588.c V4L/DVB (6215): Bugfix for saa6588.c, add forgotten spin_lock_init() 2007-10-09 22:14:35 -03:00
saa7110.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
saa7111.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7114.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7115.c V4L/DVB (5414): Add missing kfree in early exit of saa7115. 2007-04-27 15:44:31 -03:00
saa7121.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
saa7127.c V4L/DVB (6116): ivtv: VBI cleanups and fixes 2007-10-09 22:07:14 -03:00
saa7146.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
saa7146reg.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
saa7185.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7191.c V4L/DVB (6148): Fix a warning at saa7191_probe 2007-09-14 13:13:42 -03:00
saa7191.h
saa7196.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
se401.c V4L/DVB (5490): Drivers/media/video/se401.c: check kmalloc() return value. 2007-04-27 15:45:21 -03:00
se401.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
stradis.c V4L/DVB (5831): stradis: use ARRAY_SIZE 2007-07-18 14:24:42 -03:00
stv680.c V4L/DVB (5790): Fix error handling for stv680 2007-07-18 14:24:21 -03:00
stv680.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
tcm825x.c V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups 2007-10-09 22:14:40 -03:00
tcm825x.h V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups 2007-10-09 22:14:40 -03:00
tda7432.c V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h 2007-04-27 15:45:23 -03:00
tda8290.c V4L/DVB (6140): tda8290: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:49 -03:00
tda8290.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tda9840.c V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
tda9840.h V4L/DVB (3548): Renamed I2C_foo addresses to I2C_ADDR_foo 2006-03-24 16:26:51 -03:00
tda9875.c V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h 2007-04-27 15:45:23 -03:00
tda9887.c V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers 2007-10-09 22:07:34 -03:00
tea5761.c V4L/DVB (6138): tea5761: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:46 -03:00
tea5761.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tea5767.c V4L/DVB (6139): tea5767: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:49 -03:00
tea5767.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tea6415c.c V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
tea6415c.h
tea6420.c V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
tea6420.h V4L/DVB (3548): Renamed I2C_foo addresses to I2C_ADDR_foo 2006-03-24 16:26:51 -03:00
tlv320aic23b.c V4L/DVB (4048): Add support for the Texas Instruments TLV320AIC23B audio codec 2006-06-25 02:05:00 -03:00
tuner-3036.c V4L/DVB (4068): Removed all references to kernel stuff from videodev.h and videodev2.h 2006-06-25 02:05:05 -03:00
tuner-core.c V4L/DVB (6196): cx23885: add support for DViCO FusionHDTV 5 Express 2007-10-09 22:14:29 -03:00
tuner-driver.h V4L/DVB (6133): tuner-simple: convert from tuner sub-driver into dvb_frontend module 2007-10-09 22:07:41 -03:00
tuner-i2c.h V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers 2007-10-09 22:07:34 -03:00
tuner-simple.c V4L/DVB (6137): tuner-simple: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:45 -03:00
tuner-simple.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tuner-types.c V4L/DVB (5978): tuner: Better tuner radio support 2007-10-09 22:04:34 -03:00
tvaudio.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tveeprom.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tvmixer.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tvp5150.c V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro. 2007-07-18 14:23:52 -03:00
tvp5150_reg.h V4L/DVB (3408): Included new sliced VBI types to videodev2.h and tvp5150 2006-01-23 17:11:05 -02:00
upd64031a.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
upd64083.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
v4l1-compat.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
v4l2-common.c V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy 2007-10-09 22:06:42 -03:00
v4l2-int-device.c V4L/DVB (6218): V4L: Int if: Use -ENOIOCTLCMD for nonexistent ioctls 2007-10-09 22:14:39 -03:00
video-buf-dvb.c V4L/DVB (5988): Fix OOP on videobuf-dvb when hibernating 2007-10-09 22:04:45 -03:00
video-buf.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
videobuf-core.c V4L/DVB (6251): Replace video-buf to a more generic approach 2007-10-09 22:14:55 -03:00
videobuf-dma-sg.c V4L/DVB (6251): Replace video-buf to a more generic approach 2007-10-09 22:14:55 -03:00
videocodec.c V4L/DVB (5489): Codec.c: check kmalloc() return value. 2007-04-27 15:45:20 -03:00
videocodec.h V4L/DVB (4269): Subject: videocodec: make 1-bit fields unsigned 2006-06-30 15:59:30 -03:00
videodev.c V4L/DVB (5982): Dev.c: memset fix 2007-10-09 22:04:39 -03:00
vino.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
vino.h
vivi.c V4L/DVB (6014): vivi: use videobuf_read_stream() 2007-10-09 22:05:10 -03:00
vp27smpx.c V4L/DVB (6044): vp27smpx: clarify history of this source. 2007-10-09 22:05:30 -03:00
vpx3220.c V4L/DVB (4515): Fixed module name, since it is, in fact, a decoder. 2006-09-26 12:30:32 -03:00
w9966.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
w9968cf.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
w9968cf.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
w9968cf_decoder.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
w9968cf_vpp.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
wm8739.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
wm8775.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
zoran.h V4L/DVB (5890): zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formats 2007-07-30 16:26:26 -03:00
zoran_card.c V4L/DVB (5885): zr36067: Fix problems with module parameters 2007-10-09 22:02:58 -03:00
zoran_card.h V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_device.c V4L/DVB (5885): zr36067: Fix problems with module parameters 2007-10-09 22:02:58 -03:00
zoran_device.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
zoran_driver.c V4L/DVB (5981): Zoran_driver.c: fix memset in ioctl 2007-10-09 22:04:38 -03:00
zoran_procfs.c V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_procfs.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
zr364xx.c V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z 2007-07-18 14:24:23 -03:00
zr36016.c V4L/DVB (6078): Coding style fix drivers/media/video/zr36016.c 2007-10-09 22:06:07 -03:00
zr36016.h
zr36050.c V4L/DVB (6077): Coding style fix drivers/media/video/zr36050.c 2007-10-09 22:06:06 -03:00
zr36050.h
zr36057.h V4L/DVB (3599b): Whitespace cleanups under drivers/media 2006-03-25 09:29:23 -03:00
zr36060.c V4L/DVB (6076): Coding style fix drivers/media/video/zr36060.c 2007-10-09 22:06:05 -03:00
zr36060.h