Move av7110 driver to staging
Subsystems (2)
cover Move av7110 driver to staging
This driver was written for a hardware manufactured by Convergence, which bankrupted and stopped manufacturing av7110 chipset more than 15 years ago.
Recent checks identified that a frontend used by such driver was broken for sometime without nobody noticing it.
It means that it is time to retire it for good.
Mauro Carvalho Chehab (2):
media: move ttpci-eeprom to common
media: av7110: move driver to staging
drivers/media/common/Kconfig | 4 +
drivers/media/common/Makefile | 1 +
.../{pci/ttpci => common}/ttpci-eeprom.c | 0
.../{pci/ttpci => common}/ttpci-eeprom.h | 0
drivers/media/pci/ttpci/Kconfig | 74 -------------------
drivers/media/pci/ttpci/Makefile | 11 +--
drivers/media/pci/ttpci/budget.h | 2 +-
drivers/media/usb/Kconfig | 5 --
drivers/media/usb/dvb-usb/Makefile | 2 +-
drivers/staging/media/Kconfig | 2 +
drivers/staging/media/Makefile | 1 +
drivers/staging/media/av7110/Kconfig | 74 +++++++++++++++++++
drivers/staging/media/av7110/Makefile | 20 +++++
drivers/staging/media/av7110/TODO | 2 +
.../ttpci => staging/media/av7110}/av7110.c | 0
.../ttpci => staging/media/av7110}/av7110.h | 0
.../media/av7110}/av7110_av.c | 0
.../media/av7110}/av7110_av.h | 0
.../media/av7110}/av7110_ca.c | 0
.../media/av7110}/av7110_ca.h | 0
.../media/av7110}/av7110_hw.c | 0
.../media/av7110}/av7110_hw.h | 0
.../media/av7110}/av7110_ipack.c | 0
.../media/av7110}/av7110_ipack.h | 0
.../media/av7110}/av7110_ir.c | 0
.../media/av7110}/av7110_v4l.c | 0
.../media/av7110}/budget-patch.c | 0
.../media/av7110}/dvb_filter.c | 0
.../media/av7110}/dvb_filter.h | 0
29 files changed, 107 insertions(+), 91 deletions(-)
rename drivers/media/{pci/ttpci => common}/ttpci-eeprom.c (100%)
rename drivers/media/{pci/ttpci => common}/ttpci-eeprom.h (100%)
create mode 100644 drivers/staging/media/av7110/Kconfig
create mode 100644 drivers/staging/media/av7110/Makefile
create mode 100644 drivers/staging/media/av7110/TODO
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_av.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_av.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ca.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ca.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_hw.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_hw.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ipack.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ipack.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ir.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_v4l.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/budget-patch.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/dvb_filter.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/dvb_filter.h (100%)Signature · 1 line
2.31.1
PATCH 1/2 media: move ttpci-eeprom to common
The ttpci-eeprom is actually an independent driver that doesn't depend on the stuff under drivers/media/pci/ttpci/.
Also, it is used by an USB driver (pctv452e).
So, move it to the common directory.
---
drivers/media/common/Kconfig | 4 ++++
drivers/media/common/Makefile | 1 +
drivers/media/{pci/ttpci => common}/ttpci-eeprom.c | 0
drivers/media/{pci/ttpci => common}/ttpci-eeprom.h | 0
drivers/media/pci/ttpci/Makefile | 2 +-
drivers/media/usb/Kconfig | 5 -----
drivers/media/usb/dvb-usb/Makefile | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
rename drivers/media/{pci/ttpci => common}/ttpci-eeprom.c (100%)
rename drivers/media/{pci/ttpci => common}/ttpci-eeprom.h (100%)drivers/media/common/Kconfig +4 -0
@@ -13,6 +13,10 @@ config VIDEO_TVEEPROM tristate depends on I2C +config TTPCI_EEPROM + tristate + depends on I2C + config CYPRESS_FIRMWARE tristate depends on USB
drivers/media/common/Makefile +1 -0
@@ -3,3 +3,4 @@ obj-y += b2c2/ saa7146/ siano/ v4l2-tpg/ videobuf2/ obj-$(CONFIG_VIDEO_CX2341X) += cx2341x.o obj-$(CONFIG_VIDEO_TVEEPROM) += tveeprom.o obj-$(CONFIG_CYPRESS_FIRMWARE) += cypress_firmware.o +obj-$(CONFIG_TTPCI_EEPROM) += ttpci-eeprom.o
drivers/media/common/ttpci-eeprom.c renamed from drivers/media/pci/ttpci/ttpci-eeprom.c +0 -0
drivers/media/common/ttpci-eeprom.h renamed from drivers/media/pci/ttpci/ttpci-eeprom.h +0 -0
drivers/media/pci/ttpci/Makefile +1 -1
@@ -10,7 +10,6 @@ ifdef CONFIG_DVB_AV7110_IR dvb-ttpci-objs += av7110_ir.o endif -obj-$(CONFIG_TTPCI_EEPROM) += ttpci-eeprom.o obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o obj-$(CONFIG_DVB_BUDGET) += budget.o obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.o
@@ -20,3 +19,4 @@ obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners +ccflags-y += -I $(srctree)/drivers/media/common
drivers/media/usb/Kconfig +0 -5
@@ -1,10 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only -# This Kconfig option is also used by the legacy av7110 driver -config TTPCI_EEPROM - tristate - depends on I2C - if USB && MEDIA_SUPPORT menuconfig MEDIA_USB_SUPPORT
drivers/media/usb/dvb-usb/Makefile +1 -1
@@ -83,4 +83,4 @@ obj-$(CONFIG_DVB_USB_TECHNISAT_USB2) += dvb-usb-technisat-usb2.o ccflags-y += -I$(srctree)/drivers/media/dvb-frontends/ # due to tuner-xc3028 ccflags-y += -I$(srctree)/drivers/media/tuners -ccflags-y += -I$(srctree)/drivers/media/pci/ttpci +ccflags-y += -I$(srctree)/drivers/media/common
Signature · 1 line
2.31.1
PATCH 2/2 media: av7110: move driver to staging
In reply to Mauro Carvalho ChehabThis driver is really old, from a device whose manufacturer got bankrupted more than 15 years ago.
It is also the only upstream driver relying on the DVB "full-featured" API.
Some changes at the frontend drivers seem to have broken it without anybody noticing.
So, it sounds it is time to retire the driver for good.
---
drivers/media/pci/ttpci/Kconfig | 74 -------------------
drivers/media/pci/ttpci/Makefile | 9 ---
drivers/media/pci/ttpci/budget.h | 2 +-
drivers/staging/media/Kconfig | 2 +
drivers/staging/media/Makefile | 1 +
drivers/staging/media/av7110/Kconfig | 74 +++++++++++++++++++
drivers/staging/media/av7110/Makefile | 20 +++++
drivers/staging/media/av7110/TODO | 2 +
.../ttpci => staging/media/av7110}/av7110.c | 0
.../ttpci => staging/media/av7110}/av7110.h | 0
.../media/av7110}/av7110_av.c | 0
.../media/av7110}/av7110_av.h | 0
.../media/av7110}/av7110_ca.c | 0
.../media/av7110}/av7110_ca.h | 0
.../media/av7110}/av7110_hw.c | 0
.../media/av7110}/av7110_hw.h | 0
.../media/av7110}/av7110_ipack.c | 0
.../media/av7110}/av7110_ipack.h | 0
.../media/av7110}/av7110_ir.c | 0
.../media/av7110}/av7110_v4l.c | 0
.../media/av7110}/budget-patch.c | 0
.../media/av7110}/dvb_filter.c | 0
.../media/av7110}/dvb_filter.h | 0
23 files changed, 100 insertions(+), 84 deletions(-)
create mode 100644 drivers/staging/media/av7110/Kconfig
create mode 100644 drivers/staging/media/av7110/Makefile
create mode 100644 drivers/staging/media/av7110/TODO
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_av.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_av.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ca.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ca.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_hw.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_hw.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ipack.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ipack.h (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_ir.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/av7110_v4l.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/budget-patch.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/dvb_filter.c (100%)
rename drivers/{media/pci/ttpci => staging/media/av7110}/dvb_filter.h (100%)drivers/media/pci/ttpci/Kconfig +0 -74
@@ -1,56 +1,4 @@ # SPDX-License-Identifier: GPL-2.0-only -config DVB_AV7110_IR - bool - depends on RC_CORE=y || RC_CORE = DVB_AV7110 - default DVB_AV7110 - -config DVB_AV7110 - tristate "AV7110 cards" - depends on DVB_CORE && PCI && I2C - select TTPCI_EEPROM - select VIDEO_SAA7146_VV - depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV - select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT - select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT - select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT - select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT - select DVB_SP8870 if MEDIA_SUBDRV_AUTOSELECT - select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT - select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT - select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT - help - Support for SAA7146 and AV7110 based DVB cards as produced - by Fujitsu-Siemens, Technotrend, Hauppauge and others. - - This driver only supports the fullfeatured cards with - onboard MPEG2 decoder. - - This driver needs an external firmware. Please use the script - "<kerneldir>/scripts/get_dvb_firmware av7110" to - download/extract it, and then copy it to /usr/lib/hotplug/firmware - or /lib/firmware (depending on configuration of firmware hotplug). - - Alternatively, you can download the file and use the kernel's - EXTRA_FIRMWARE configuration option to build it into your - kernel image by adding the filename to the EXTRA_FIRMWARE - configuration option string. - - Say Y if you own such a card and want to use it. - -config DVB_AV7110_OSD - bool "AV7110 OSD support" - depends on DVB_AV7110 - default y if DVB_AV7110=y || DVB_AV7110=m - help - The AV7110 firmware provides some code to generate an OnScreenDisplay - on the video output. This is kind of nonstandard and not guaranteed to - be maintained. - - Anyway, some popular DVB software like VDR uses this OSD to render - its menus, so say Y if you want to use this software. - - All other people say N. - config DVB_BUDGET_CORE tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)" depends on DVB_CORE && PCI && I2C
@@ -136,25 +84,3 @@ config DVB_BUDGET_AV To compile this driver as a module, choose M here: the module will be called budget-av. - -config DVB_BUDGET_PATCH - tristate "AV7110 cards with Budget Patch" - depends on DVB_BUDGET_CORE && I2C - depends on DVB_AV7110 - select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT - select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT - select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT - help - Support for Budget Patch (full TS) modification on - SAA7146+AV7110 based cards (DVB-S cards). This - driver doesn't use onboard MPEG2 decoder. The - card is driven in Budget-only mode. Card is - required to have loaded firmware to tune properly. - Firmware can be loaded by insertion and removal of - standard AV7110 driver prior to loading this - driver. - - Say Y if you own such a card and want to use it. - - To compile this driver as a module, choose M here: the - module will be called budget-patch.
drivers/media/pci/ttpci/Makefile +0 -9
@@ -1,21 +1,12 @@ # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel SAA7146 FULL TS DVB device driver -# and the AV7110 DVB device driver # -dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o dvb_filter.o - -ifdef CONFIG_DVB_AV7110_IR -dvb-ttpci-objs += av7110_ir.o -endif - obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o obj-$(CONFIG_DVB_BUDGET) += budget.o obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.o obj-$(CONFIG_DVB_BUDGET_CI) += budget-ci.o -obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o -obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners
drivers/media/pci/ttpci/budget.h +1 -1
@@ -8,7 +8,6 @@#include <media/demux.h> #include <media/dvb_demux.h> #include <media/dmxdev.h> -#include "dvb_filter.h" #include <media/dvb_net.h> #include <linux/module.h>
@@ -28,6 +27,7 @@ extern int budget_debug; __func__, ##arg); \ } while (0) +#define TS_SIZE 188struct budget_info {char *name;
drivers/staging/media/Kconfig +2 -0
@@ -42,4 +42,6 @@ source "drivers/staging/media/tegra-video/Kconfig" source "drivers/staging/media/ipu3/Kconfig" +source "drivers/staging/media/av7110/Kconfig" + endif
drivers/staging/media/Makefile +1 -0
@@ -10,3 +10,4 @@ obj-$(CONFIG_TEGRA_VDE) += tegra-vde/ obj-$(CONFIG_VIDEO_HANTRO) += hantro/ obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3/ obj-$(CONFIG_VIDEO_ZORAN) += zoran/ +obj-$(CONFIG_DVB_AV7110) += av7110/
drivers/staging/media/av7110/Kconfig new file +74 -0
74 lines not on this page · raw message
drivers/staging/media/av7110/Makefile new file +20 -0
@@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for the AV7110 DVB device driver +# + +dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o \ + av7110_ipack.o dvb_filter.o + +ifdef CONFIG_DVB_AV7110_IR +dvb-ttpci-objs += av7110_ir.o +endif + +obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o + +obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o + +ccflags-y += -I $(srctree)/drivers/media/dvb-frontends +ccflags-y += -I $(srctree)/drivers/media/tuners +ccflags-y += -I $(srctree)/drivers/media/pci/ttpci +ccflags-y += -I $(srctree)/drivers/media/common
drivers/staging/media/av7110/TODO new file +2 -0
@@ -0,0 +1,2 @@ +- Thid driver is too old and relies on a different API. + Drop it from Kernel on a couple of versions.
drivers/staging/media/av7110/av7110.c renamed from drivers/media/pci/ttpci/av7110.c +0 -0
drivers/staging/media/av7110/av7110.h renamed from drivers/media/pci/ttpci/av7110.h +0 -0
drivers/staging/media/av7110/av7110_av.c renamed from drivers/media/pci/ttpci/av7110_av.c +0 -0
drivers/staging/media/av7110/av7110_av.h renamed from drivers/media/pci/ttpci/av7110_av.h +0 -0
drivers/staging/media/av7110/av7110_ca.c renamed from drivers/media/pci/ttpci/av7110_ca.c +0 -0
drivers/staging/media/av7110/av7110_ca.h renamed from drivers/media/pci/ttpci/av7110_ca.h +0 -0
drivers/staging/media/av7110/av7110_hw.c renamed from drivers/media/pci/ttpci/av7110_hw.c +0 -0
drivers/staging/media/av7110/av7110_hw.h renamed from drivers/media/pci/ttpci/av7110_hw.h +0 -0
drivers/staging/media/av7110/av7110_ipack.c renamed from drivers/media/pci/ttpci/av7110_ipack.c +0 -0
drivers/staging/media/av7110/av7110_ipack.h renamed from drivers/media/pci/ttpci/av7110_ipack.h +0 -0
drivers/staging/media/av7110/av7110_ir.c renamed from drivers/media/pci/ttpci/av7110_ir.c +0 -0
drivers/staging/media/av7110/av7110_v4l.c renamed from drivers/media/pci/ttpci/av7110_v4l.c +0 -0
drivers/staging/media/av7110/budget-patch.c renamed from drivers/media/pci/ttpci/budget-patch.c +0 -0
drivers/staging/media/av7110/dvb_filter.c renamed from drivers/media/pci/ttpci/dvb_filter.c +0 -0
drivers/staging/media/av7110/dvb_filter.h renamed from drivers/media/pci/ttpci/dvb_filter.h +0 -0
Signature · 1 line
2.31.1