media: usbvision: deprecate driver
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 20 Feb 2020 08:14:13 +0000 (09:14 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 2 Mar 2020 14:04:54 +0000 (15:04 +0100)
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>
14 files changed:
MAINTAINERS
drivers/media/usb/Kconfig
drivers/media/usb/Makefile
drivers/staging/media/Kconfig
drivers/staging/media/Makefile
drivers/staging/media/usbvision/Kconfig [moved from drivers/media/usb/usbvision/Kconfig with 57% similarity]
drivers/staging/media/usbvision/Makefile [moved from drivers/media/usb/usbvision/Makefile with 100% similarity]
drivers/staging/media/usbvision/TODO [new file with mode: 0644]
drivers/staging/media/usbvision/usbvision-cards.c [moved from drivers/media/usb/usbvision/usbvision-cards.c with 100% similarity]
drivers/staging/media/usbvision/usbvision-cards.h [moved from drivers/media/usb/usbvision/usbvision-cards.h with 100% similarity]
drivers/staging/media/usbvision/usbvision-core.c [moved from drivers/media/usb/usbvision/usbvision-core.c with 100% similarity]
drivers/staging/media/usbvision/usbvision-i2c.c [moved from drivers/media/usb/usbvision/usbvision-i2c.c with 100% similarity]
drivers/staging/media/usbvision/usbvision-video.c [moved from drivers/media/usb/usbvision/usbvision-video.c with 100% similarity]
drivers/staging/media/usbvision/usbvision.h [moved from drivers/media/usb/usbvision/usbvision.h with 100% similarity]

index 1af9729..6f7ccf6 100644 (file)
@@ -17454,7 +17454,7 @@ L:      linux-media@vger.kernel.org
 T:     git git://linuxtv.org/media_tree.git
 W:     https://linuxtv.org
 S:     Odd Fixes
-F:     drivers/media/usb/usbvision/
+F:     drivers/staging/media/usbvision/
 
 USB WEBCAM GADGET
 M:     Laurent Pinchart <laurent.pinchart@ideasonboard.com>
index 03c2944..e678d3d 100644 (file)
@@ -25,7 +25,6 @@ if MEDIA_ANALOG_TV_SUPPORT
        comment "Analog TV USB devices"
 source "drivers/media/usb/pvrusb2/Kconfig"
 source "drivers/media/usb/hdpvr/Kconfig"
-source "drivers/media/usb/usbvision/Kconfig"
 source "drivers/media/usb/stk1160/Kconfig"
 source "drivers/media/usb/go7007/Kconfig"
 endif
index 21e46b1..169aa07 100644 (file)
@@ -17,7 +17,6 @@ obj-$(CONFIG_VIDEO_CPIA2) += cpia2/
 obj-$(CONFIG_VIDEO_AU0828) += au0828/
 obj-$(CONFIG_VIDEO_HDPVR)      += hdpvr/
 obj-$(CONFIG_VIDEO_PVRUSB2) += pvrusb2/
-obj-$(CONFIG_VIDEO_USBVISION) += usbvision/
 obj-$(CONFIG_VIDEO_STK1160) += stk1160/
 obj-$(CONFIG_VIDEO_CX231XX) += cx231xx/
 obj-$(CONFIG_VIDEO_TM6000) += tm6000/
index c394abf..e59a846 100644 (file)
@@ -42,4 +42,8 @@ source "drivers/staging/media/phy-rockchip-dphy-rx0/Kconfig"
 
 source "drivers/staging/media/rkisp1/Kconfig"
 
+if MEDIA_ANALOG_TV_SUPPORT
+source "drivers/staging/media/usbvision/Kconfig"
+endif
+
 endif
index ea9fce8..23c6824 100644 (file)
@@ -10,3 +10,4 @@ obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3/
 obj-$(CONFIG_SOC_CAMERA)       += soc_camera/
 obj-$(CONFIG_PHY_ROCKCHIP_DPHY_RX0)    += phy-rockchip-dphy-rx0/
 obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1)      += rkisp1/
+obj-$(CONFIG_VIDEO_USBVISION)  += usbvision/
similarity index 57%
rename from drivers/media/usb/usbvision/Kconfig
rename to drivers/staging/media/usbvision/Kconfig
index e1039fd..7903f55 100644 (file)
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_USBVISION
-       tristate "USB video devices based on Nogatech NT1003/1004/1005"
+       tristate "USB video devices based on Nogatech NT1003/1004/1005 (Deprecated)"
        depends on I2C && VIDEO_V4L2
        select VIDEO_TUNER
        select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
@@ -9,5 +9,10 @@ config VIDEO_USBVISION
          NT1003/1004/1005 USB Bridges. This driver enables using those
          devices.
 
+         This driver is deprecated and scheduled for removal by the
+         end of 2020. See the TODO file in drivers/staging/media/usbvision
+         for a list of actions that have to be done in order to prevent
+         removal of this driver.
+
          To compile this driver as a module, choose M here: the
          module will be called usbvision.
diff --git a/drivers/staging/media/usbvision/TODO b/drivers/staging/media/usbvision/TODO
new file mode 100644 (file)
index 0000000..e9fb4d1
--- /dev/null
@@ -0,0 +1,11 @@
+The driver is deprecated and scheduled for removal by the end
+of 2020.
+
+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).