V4L framework progress: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(→‎Bridge Drivers: Added BKL column)
(→‎Bridge Drivers: Fill in BKL column)
Line 19: Line 19:
;video_ioctls
;video_ioctls
Whether the driver uses the video_ioctl2 fops .ioctl op
Whether the driver uses the video_ioctl2 fops .ioctl op
;BKL
Still uses the Big Kernel Lock
;have hardware
;have hardware
Who can test this driver?
Who can test this driver?
;BKL
Still uses the Big Kernel Lock


AW = Andy Walls
AW = Andy Walls
Line 45: Line 45:
| av7110 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| av7110 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
|-
|-
| bttv || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| bttv || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} ||
|-
|-
| budget-av || [[PCI]] ||2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| budget-av || [[PCI]] ||2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
Line 63: Line 63:
| cx18 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || AW, HV || {{No}} ||
| cx18 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || AW, HV || {{No}} ||
|-
|-
| cx25821 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || staging driver
| cx25821 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || staging driver
|-
|-
| cx231xx || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| cx231xx || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
|-
|-
| cx23885 || [[PCIe]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| cx23885 || [[PCIe]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} ||
|-
| cx88 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} ||
|-
|-
| cx88 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| dabusb || [[USB]] || n/a || || || {{No}} || {{Yes}} || not a v4l driver
|-
|-
| davinci || platform || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| davinci || platform || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
Line 79: Line 81:
| et61x251 || [[USB]] || 2 || {{No}} || {{No}} || {{Yes}} || {{No}} ||
| et61x251 || [[USB]] || 2 || {{No}} || {{No}} || {{Yes}} || {{No}} ||
|-
|-
| go7007 || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || staging driver
| go7007 || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || staging driver
|-
|-
| gspca || [[USB]] || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} ||
| gspca || [[USB]] || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} ||
Line 107: Line 109:
| pvrusb2 || [[USB]] || 2 || {{Yes}} || {{Yes}} || MI || {{No}} ||
| pvrusb2 || [[USB]] || 2 || {{Yes}} || {{Yes}} || MI || {{No}} ||
|-
|-
| pwc || [[USB]] || 2 || {{No}} || {{No}} || HdG || {{No}} ||
| pwc || [[USB]] || 2 || {{No}} || {{No}} || HdG || {{Yes}} ||
|-
|-
| quickcam_messenger || [[USB]] || 1 || {{No}} || {{No}} || HV || {{No}} || deprecated, replaced by gspca
| quickcam_messenger || [[USB]] || 1 || {{No}} || {{No}} || HV || {{No}} || deprecated, replaced by gspca
Line 135: Line 137:
| radio-sf16fmr2 || ISA || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || radio only
| radio-sf16fmr2 || ISA || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || radio only
|-
|-
| radio-si470x || [[USB]] || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} || radio only
| radio-si470x || [[USB]] || 2 || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || radio only
|-
|-
| radio-si4713 || platform || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || radio transmitter only
| radio-si4713 || platform || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || radio transmitter only
Line 151: Line 153:
| radio-zoltrix || ISA || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || radio only
| radio-zoltrix || ISA || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || radio only
|-
|-
| s2255drv || [[USB]] || 2 || {{No}} || {{Yes}} || Sensoray || {{No}} ||
| s2255drv || [[USB]] || 2 || {{No}} || {{Yes}} || Sensoray || {{Yes}} ||
|-
|-
| saa7134 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
| saa7134 || [[PCI]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||
Line 157: Line 159:
| saa7164 || [[PCIe]] || || || || || {{No}} || dvb only, no v4l2 support (yet?)
| saa7164 || [[PCIe]] || || || || || {{No}} || dvb only, no v4l2 support (yet?)
|-
|-
| se401 || [[USB]] || 1 || {{No}} || {{No}} || {{Yes}} || {{No}} ||
| se401 || [[USB]] || 1 || {{No}} || {{No}} || {{Yes}} || {{Yes}} ||
|-
|-
| sn9c102 || [[USB]] || 2 || {{No}} || {{No}} || {{Unknown}} || {{No}} ||
| sn9c102 || [[USB]] || 2 || {{No}} || {{No}} || {{Unknown}} || {{No}} ||
Line 163: Line 165:
| soc_camera || platform || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} ||
| soc_camera || platform || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} ||
|-
|-
| stk-webcam || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Unknown}} || {{No}} ||
| stk-webcam || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Unknown}} || {{Yes}} ||
|-
|-
| stradis || [[PCI]] || 1 || {{No}} || {{No}} || {{No}} || {{No}} ||
| stradis || [[PCI]] || 1 || {{No}} || {{No}} || {{No}} || {{Yes}} ||
|-
|-
| stv680 || [[USB]] || 1 || {{No}} || {{No}} || {{Yes}} || {{No}} || deprecated, replaced by gspca
| stv680 || [[USB]] || 1 || {{No}} || {{No}} || {{Yes}} || {{No}} || deprecated, replaced by gspca
Line 171: Line 173:
| tea575x-tuner || i2c || 2 || {{No}} || {{Yes}} || {{No}} || {{No}} || sound/i2c/other
| tea575x-tuner || i2c || 2 || {{No}} || {{Yes}} || {{No}} || {{No}} || sound/i2c/other
|-
|-
| tlg2300 || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Unknown}} || {{No}} ||
| tlg2300 || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Unknown}} || {{Yes}} ||
|-
|-
| tm6000 || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || staging driver
| tm6000 || [[USB]] || 2 || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || staging driver
|-
|-
| usbvision || [[USB]] || 2 || {{Yes}} || {{Yes}} || HV || {{No}} ||
| usbvision || [[USB]] || 2 || {{Yes}} || {{Yes}} || HV || {{Yes}} ||
|-
|-
| uvc || [[USB]] || 2 || {{No}} || {{No}} || LP, HV || {{No}} ||
| uvc || [[USB]] || 2 || {{No}} || {{No}} || LP, HV || {{No}} ||
|-
|-
| vicam || [[USB]] || 1 || {{No}} || {{No}} || {{Yes}} || {{No}} ||
| vicam || [[USB]] || 1 || {{No}} || {{No}} || {{Yes}} || {{Yes}} ||
|-
|-
| vino || platform || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || SGI Indy
| vino || platform || 2 || {{Yes}} || {{Yes}} || {{No}} || {{No}} || SGI Indy
Line 191: Line 193:
| zc0301 || [[USB]] || 2 || {{No}} || {{No}} || {{No}} || {{No}} || deprecated, replaced by gspca
| zc0301 || [[USB]] || 2 || {{No}} || {{No}} || {{No}} || {{No}} || deprecated, replaced by gspca
|-
|-
| zoran || [[PCI]] || 2 || {{Yes}} || {{Yes}} || HV || {{No}} ||
| zoran || [[PCI]] || 2 || {{Yes}} || {{Yes}} || HV || {{Yes}} ||
|-
|-
| zr364xx || [[USB]] || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} ||
| zr364xx || [[USB]] || 2 || {{No}} || {{Yes}} || {{Yes}} || {{No}} ||

Revision as of 07:31, 1 April 2010

This page contains the status of all drivers with respect to their adoption of all the new structures that the V4L framework offers.

This should help in identifying those drivers that need more work.

It is expected that this page will be continuously updated whenever new conversion tasks appear.

Note: the driver lists are not yet complete. This is work in progress.

Bridge Drivers

driver

The driver name

interface

Type of bridge interface

V4L API

Whether the driver implements the V4L2 API or still uses the old V4L1 API

v4l2_device

Whether the driver uses struct v4l2_device

video_ioctls

Whether the driver uses the video_ioctl2 fops .ioctl op

have hardware

Who can test this driver?

BKL

Still uses the Big Kernel Lock

AW = Andy Walls

HdG = Hans de Goede

HV = Hans Verkuil

LP = Laurent Pinchart

MI = Mike Isely

A Sortable Table of Bridge Drivers
driver interface V4L API v4l2_device video_ioctl2 have hardware BKL Comments
arv platform 1 No No No No V4L2 code is waiting for merge
au0828 USB 2 Yes Yes Yes No
av7110 PCI 2 Yes Yes Yes No
bttv PCI 2 Yes Yes Yes Yes
budget-av PCI 2 Yes Yes Yes No
bw-qcam parport 1 No No No No
c-qcam parport 1 No No Yes No
cafe_ccic PCI 2 Yes Yes HV No
cpia_pp parport 1 No No No No
cpia_usb USB 1 No No No No deprecated, replaced by gspca
cpia2 USB 2 No No No No
cx18 PCI 2 Yes Yes AW, HV No
cx25821 PCI 2 Yes Yes Yes Yes staging driver
cx231xx USB 2 Yes Yes Yes No
cx23885 PCIe 2 Yes Yes Yes Yes
cx88 PCI 2 Yes Yes Yes Yes
dabusb USB n/a No Yes not a v4l driver
davinci platform 2 Yes Yes Yes No
dsbr100 USB 2 Yes Yes Yes No radio only
em28xx USB 2 Yes Yes Yes No
et61x251 USB 2 No No Yes No
go7007 USB 2 Yes Yes Yes Yes staging driver
gspca USB 2 No Yes Yes No
hdpvr USB 2 Yes Yes Yes No
hexium_gemini PCI 2 Yes Yes No No
hexium_orion PCI 2 Yes Yes No No
ibmcam USB 1 No No Yes No
ivtv PCI 2 Yes Yes HV, AW No
konicawc USB 1 No No No No
meye PCI 2 No Yes No No
mxb PCI 2 Yes Yes HV No
omap24xcam platform 2 No Yes Yes No still uses v4l2-int-device
ov511 USB 1 No No Yes No deprecated, replaced by gspca
pms ISA 2 Yes Yes HV No
pvrusb2 USB 2 Yes Yes MI No
pwc USB 2 No No HdG Yes
quickcam_messenger USB 1 No No HV No deprecated, replaced by gspca
radio-aimslab ISA 2 Yes Yes No No radio only
radio-aztech ISA 2 Yes Yes No No radio only
radio-cadet ISA 2 Yes Yes No No radio only
radio-gemtek ISA 2 Yes Yes No No radio only
radio-gemtek-pci PCI 2 Yes Yes HV No radio only, identical to radio-maxiradio
radio-maestro PCI 2 Yes Yes No No radio only
radio-maxiradio PCI 2 Yes Yes HV No radio only, identical to radio-gemtek-pci
radio-miropcm20 ISA 2 Yes Yes No No radio only
radio-mr800 USB 2 Yes Yes Yes No radio only
radio-rtrack2 ISA 2 Yes Yes No No radio only
radio-sf16fmi ISA 2 Yes Yes No No radio only
radio-sf16fmr2 ISA 2 Yes Yes No No radio only
radio-si470x USB 2 No Yes Yes Yes radio only
radio-si4713 platform 2 Yes Yes No No radio transmitter only
radio-tea5764 i2c 2 No Yes Yes No radio only
radio-terratec ISA 2 Yes Yes No No radio only
radio-timb platform 2 Yes Yes No No radio only
radio-trust ISA 2 Yes Yes No No radio only
radio-typhoon ISA 2 Yes Yes HV No radio only
radio-zoltrix ISA 2 Yes Yes No No radio only
s2255drv USB 2 No Yes Sensoray Yes
saa7134 PCI 2 Yes Yes Yes No
saa7164 PCIe No dvb only, no v4l2 support (yet?)
se401 USB 1 No No Yes Yes
sn9c102 USB 2 No No ? Unknown No
soc_camera platform 2 No Yes Yes No
stk-webcam USB 2 Yes Yes ? Unknown Yes
stradis PCI 1 No No No Yes
stv680 USB 1 No No Yes No deprecated, replaced by gspca
tea575x-tuner i2c 2 No Yes No No sound/i2c/other
tlg2300 USB 2 Yes Yes ? Unknown Yes
tm6000 USB 2 Yes Yes Yes No staging driver
usbvision USB 2 Yes Yes HV Yes
uvc USB 2 No No LP, HV No
vicam USB 1 No No Yes Yes
vino platform 2 Yes Yes No No SGI Indy
vivi n/a 2 Yes Yes Yes No
w9966 parport 1 No No No No
w9968cf USB 1 No No Yes No deprecated, replaced by gspca
zc0301 USB 2 No No No No deprecated, replaced by gspca
zoran PCI 2 Yes Yes HV Yes
zr364xx USB 2 No Yes Yes No

Sub-Device Drivers

subdev driver

The sub-device driver name

uses mediabus

Whether the driver implements the new *_mbus_fmt subdev ops

uses init

Whether the driver uses the deprecated .core init op

uses reset

Whether the driver uses the deprecated .core reset op

have hardware

Can someone test this i2c driver?

A Sortable Table of Sub-Device Drivers
i2c driver uses mediabus uses init uses reset have hardware Comments
adv7170 n/a No No
adv7175 n/a No No
adv7180 n/a No No
adv7343 n/a No No
bt819 n/a No No
bt856 n/a No No
bt866 n/a No No
cs5345 n/a No No
cs53l32a n/a No No
cx25840 n/a No Yes
ks0127 n/a No No
m52790 n/a No No
msp3400 n/a No No
mt9m001 n/a No No
mt9m111 n/a No No
mt9t031 n/a No No
mt9t112 n/a No No
mt9v011 n/a No Yes
mt9v022 n/a No No
ov7670 n/a No Yes
ov772x n/a No No
ov9640 n/a No No
saa5246a n/a No No
saa5249 n/a No No
saa6588 n/a No No
saa7110 n/a No No
saa7115 n/a No Yes
saa7121 n/a No No
saa7127 n/a No No
saa6752hs n/a No No
saa717x n/a No No
saa7185 n/a No No
saa7191 n/a No No
tcm825x n/a No No
tda7432 n/a No No
tda9840 n/a No No
tda9875 n/a No No
tea6415c n/a No No
tea6420 n/a No No
ths7303 n/a No No
tlv320aic23b n/a No No
tvaudio n/a No No
tvp514x n/a No No
tvp5150 n/a No Yes
tvp7002 n/a No No
tw9910 n/a No No
upd64031a n/a No No
upd64083 n/a No No