Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: usbvision: deprecate driver

The driver is deprecated and scheduled for removal by the end
of 2020. The reason is that this driver is for old and obsolete
hardware, and it produces a continuous stream of syzbot errors due
to poor code.

In order to prevent removal the following actions would have to
be taken:

- clean up the code
- convert to the vb2 framework
- fix the disconnect and free-on-last-user handling (i.e., add
a release callback for struct v4l2_device and rework the code
to use that correctly).

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

authored by

Hans Verkuil and committed by
Mauro Carvalho Chehab
8fb12ce2 5e815fe0

+23 -4
+1 -1
MAINTAINERS
··· 17454 17454 T: git git://linuxtv.org/media_tree.git 17455 17455 W: https://linuxtv.org 17456 17456 S: Odd Fixes 17457 - F: drivers/media/usb/usbvision/ 17457 + F: drivers/staging/media/usbvision/ 17458 17458 17459 17459 USB WEBCAM GADGET 17460 17460 M: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-1
drivers/media/usb/Kconfig
··· 25 25 comment "Analog TV USB devices" 26 26 source "drivers/media/usb/pvrusb2/Kconfig" 27 27 source "drivers/media/usb/hdpvr/Kconfig" 28 - source "drivers/media/usb/usbvision/Kconfig" 29 28 source "drivers/media/usb/stk1160/Kconfig" 30 29 source "drivers/media/usb/go7007/Kconfig" 31 30 endif
-1
drivers/media/usb/Makefile
··· 17 17 obj-$(CONFIG_VIDEO_AU0828) += au0828/ 18 18 obj-$(CONFIG_VIDEO_HDPVR) += hdpvr/ 19 19 obj-$(CONFIG_VIDEO_PVRUSB2) += pvrusb2/ 20 - obj-$(CONFIG_VIDEO_USBVISION) += usbvision/ 21 20 obj-$(CONFIG_VIDEO_STK1160) += stk1160/ 22 21 obj-$(CONFIG_VIDEO_CX231XX) += cx231xx/ 23 22 obj-$(CONFIG_VIDEO_TM6000) += tm6000/
+6 -1
drivers/media/usb/usbvision/Kconfig drivers/staging/media/usbvision/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_USBVISION 3 - tristate "USB video devices based on Nogatech NT1003/1004/1005" 3 + tristate "USB video devices based on Nogatech NT1003/1004/1005 (Deprecated)" 4 4 depends on I2C && VIDEO_V4L2 5 5 select VIDEO_TUNER 6 6 select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT ··· 8 8 There are more than 50 different USB video devices based on 9 9 NT1003/1004/1005 USB Bridges. This driver enables using those 10 10 devices. 11 + 12 + This driver is deprecated and scheduled for removal by the 13 + end of 2020. See the TODO file in drivers/staging/media/usbvision 14 + for a list of actions that have to be done in order to prevent 15 + removal of this driver. 11 16 12 17 To compile this driver as a module, choose M here: the 13 18 module will be called usbvision.
drivers/media/usb/usbvision/Makefile drivers/staging/media/usbvision/Makefile
drivers/media/usb/usbvision/usbvision-cards.c drivers/staging/media/usbvision/usbvision-cards.c
drivers/media/usb/usbvision/usbvision-cards.h drivers/staging/media/usbvision/usbvision-cards.h
drivers/media/usb/usbvision/usbvision-core.c drivers/staging/media/usbvision/usbvision-core.c
drivers/media/usb/usbvision/usbvision-i2c.c drivers/staging/media/usbvision/usbvision-i2c.c
drivers/media/usb/usbvision/usbvision-video.c drivers/staging/media/usbvision/usbvision-video.c
drivers/media/usb/usbvision/usbvision.h drivers/staging/media/usbvision/usbvision.h
+4
drivers/staging/media/Kconfig
··· 42 42 43 43 source "drivers/staging/media/rkisp1/Kconfig" 44 44 45 + if MEDIA_ANALOG_TV_SUPPORT 46 + source "drivers/staging/media/usbvision/Kconfig" 47 + endif 48 + 45 49 endif
+1
drivers/staging/media/Makefile
··· 10 10 obj-$(CONFIG_SOC_CAMERA) += soc_camera/ 11 11 obj-$(CONFIG_PHY_ROCKCHIP_DPHY_RX0) += phy-rockchip-dphy-rx0/ 12 12 obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1) += rkisp1/ 13 + obj-$(CONFIG_VIDEO_USBVISION) += usbvision/
+11
drivers/staging/media/usbvision/TODO
··· 1 + The driver is deprecated and scheduled for removal by the end 2 + of 2020. 3 + 4 + In order to prevent removal the following actions would have to 5 + be taken: 6 + 7 + - clean up the code 8 + - convert to the vb2 framework 9 + - fix the disconnect and free-on-last-user handling (i.e., add 10 + a release callback for struct v4l2_device and rework the code 11 + to use that correctly).