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

media: av7110: move driver to staging

This driver is really old, from devices that aren't
manufactured anymore for more than a decade.

Also, the decoder supports only MPEG2, with is not compatible
with several modern DVB streams.

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.

Due to that, it sounds it is time to retire the driver for good.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

+101 -84
-74
drivers/media/pci/ttpci/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 - config DVB_AV7110_IR 3 - bool 4 - depends on RC_CORE=y || RC_CORE = DVB_AV7110 5 - default DVB_AV7110 6 - 7 - config DVB_AV7110 8 - tristate "AV7110 cards" 9 - depends on DVB_CORE && PCI && I2C 10 - select TTPCI_EEPROM 11 - select VIDEO_SAA7146_VV 12 - depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV 13 - select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT 14 - select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT 15 - select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT 16 - select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT 17 - select DVB_SP8870 if MEDIA_SUBDRV_AUTOSELECT 18 - select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT 19 - select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT 20 - select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT 21 - help 22 - Support for SAA7146 and AV7110 based DVB cards as produced 23 - by Fujitsu-Siemens, Technotrend, Hauppauge and others. 24 - 25 - This driver only supports the fullfeatured cards with 26 - onboard MPEG2 decoder. 27 - 28 - This driver needs an external firmware. Please use the script 29 - "<kerneldir>/scripts/get_dvb_firmware av7110" to 30 - download/extract it, and then copy it to /usr/lib/hotplug/firmware 31 - or /lib/firmware (depending on configuration of firmware hotplug). 32 - 33 - Alternatively, you can download the file and use the kernel's 34 - EXTRA_FIRMWARE configuration option to build it into your 35 - kernel image by adding the filename to the EXTRA_FIRMWARE 36 - configuration option string. 37 - 38 - Say Y if you own such a card and want to use it. 39 - 40 - config DVB_AV7110_OSD 41 - bool "AV7110 OSD support" 42 - depends on DVB_AV7110 43 - default y if DVB_AV7110=y || DVB_AV7110=m 44 - help 45 - The AV7110 firmware provides some code to generate an OnScreenDisplay 46 - on the video output. This is kind of nonstandard and not guaranteed to 47 - be maintained. 48 - 49 - Anyway, some popular DVB software like VDR uses this OSD to render 50 - its menus, so say Y if you want to use this software. 51 - 52 - All other people say N. 53 - 54 2 config DVB_BUDGET_CORE 55 3 tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)" 56 4 depends on DVB_CORE && PCI && I2C ··· 84 136 85 137 To compile this driver as a module, choose M here: the 86 138 module will be called budget-av. 87 - 88 - config DVB_BUDGET_PATCH 89 - tristate "AV7110 cards with Budget Patch" 90 - depends on DVB_BUDGET_CORE && I2C 91 - depends on DVB_AV7110 92 - select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT 93 - select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT 94 - select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT 95 - help 96 - Support for Budget Patch (full TS) modification on 97 - SAA7146+AV7110 based cards (DVB-S cards). This 98 - driver doesn't use onboard MPEG2 decoder. The 99 - card is driven in Budget-only mode. Card is 100 - required to have loaded firmware to tune properly. 101 - Firmware can be loaded by insertion and removal of 102 - standard AV7110 driver prior to loading this 103 - driver. 104 - 105 - Say Y if you own such a card and want to use it. 106 - 107 - To compile this driver as a module, choose M here: the 108 - module will be called budget-patch.
-9
drivers/media/pci/ttpci/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 # 3 3 # Makefile for the kernel SAA7146 FULL TS DVB device driver 4 - # and the AV7110 DVB device driver 5 4 # 6 - 7 - dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o dvb_filter.o 8 - 9 - ifdef CONFIG_DVB_AV7110_IR 10 - dvb-ttpci-objs += av7110_ir.o 11 - endif 12 5 13 6 obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o 14 7 obj-$(CONFIG_DVB_BUDGET) += budget.o 15 8 obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.o 16 9 obj-$(CONFIG_DVB_BUDGET_CI) += budget-ci.o 17 - obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o 18 - obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o 19 10 20 11 ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ 21 12 ccflags-y += -I $(srctree)/drivers/media/tuners
drivers/media/pci/ttpci/av7110.c drivers/staging/media/av7110/av7110.c
drivers/media/pci/ttpci/av7110.h drivers/staging/media/av7110/av7110.h
drivers/media/pci/ttpci/av7110_av.c drivers/staging/media/av7110/av7110_av.c
drivers/media/pci/ttpci/av7110_av.h drivers/staging/media/av7110/av7110_av.h
drivers/media/pci/ttpci/av7110_ca.c drivers/staging/media/av7110/av7110_ca.c
drivers/media/pci/ttpci/av7110_ca.h drivers/staging/media/av7110/av7110_ca.h
drivers/media/pci/ttpci/av7110_hw.c drivers/staging/media/av7110/av7110_hw.c
drivers/media/pci/ttpci/av7110_hw.h drivers/staging/media/av7110/av7110_hw.h
drivers/media/pci/ttpci/av7110_ipack.c drivers/staging/media/av7110/av7110_ipack.c
drivers/media/pci/ttpci/av7110_ipack.h drivers/staging/media/av7110/av7110_ipack.h
drivers/media/pci/ttpci/av7110_ir.c drivers/staging/media/av7110/av7110_ir.c
drivers/media/pci/ttpci/av7110_v4l.c drivers/staging/media/av7110/av7110_v4l.c
drivers/media/pci/ttpci/budget-patch.c drivers/staging/media/av7110/budget-patch.c
+1 -1
drivers/media/pci/ttpci/budget.h
··· 8 8 #include <media/demux.h> 9 9 #include <media/dvb_demux.h> 10 10 #include <media/dmxdev.h> 11 - #include "dvb_filter.h" 12 11 #include <media/dvb_net.h> 13 12 14 13 #include <linux/module.h> ··· 27 28 __func__, ##arg); \ 28 29 } while (0) 29 30 31 + #define TS_SIZE 188 30 32 31 33 struct budget_info { 32 34 char *name;
drivers/media/pci/ttpci/dvb_filter.c drivers/staging/media/av7110/dvb_filter.c
drivers/media/pci/ttpci/dvb_filter.h drivers/staging/media/av7110/dvb_filter.h
+2
drivers/staging/media/Kconfig
··· 42 42 43 43 source "drivers/staging/media/ipu3/Kconfig" 44 44 45 + source "drivers/staging/media/av7110/Kconfig" 46 + 45 47 endif
+1
drivers/staging/media/Makefile
··· 10 10 obj-$(CONFIG_VIDEO_HANTRO) += hantro/ 11 11 obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3/ 12 12 obj-$(CONFIG_VIDEO_ZORAN) += zoran/ 13 + obj-$(CONFIG_DVB_AV7110) += av7110/
+74
drivers/staging/media/av7110/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0-only 2 + config DVB_AV7110_IR 3 + bool 4 + depends on RC_CORE=y || RC_CORE = DVB_AV7110 5 + default DVB_AV7110 6 + 7 + config DVB_AV7110 8 + tristate "AV7110 cards" 9 + depends on DVB_CORE && PCI && I2C 10 + select TTPCI_EEPROM 11 + select VIDEO_SAA7146_VV 12 + depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV 13 + select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT 14 + select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT 15 + select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT 16 + select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT 17 + select DVB_SP8870 if MEDIA_SUBDRV_AUTOSELECT 18 + select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT 19 + select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT 20 + select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT 21 + help 22 + Support for SAA7146 and AV7110 based DVB cards as produced 23 + by Fujitsu-Siemens, Technotrend, Hauppauge and others. 24 + 25 + This driver only supports the fullfeatured cards with 26 + onboard MPEG2 decoder. 27 + 28 + This driver needs an external firmware. Please use the script 29 + "<kerneldir>/scripts/get_dvb_firmware av7110" to 30 + download/extract it, and then copy it to /usr/lib/hotplug/firmware 31 + or /lib/firmware (depending on configuration of firmware hotplug). 32 + 33 + Alternatively, you can download the file and use the kernel's 34 + EXTRA_FIRMWARE configuration option to build it into your 35 + kernel image by adding the filename to the EXTRA_FIRMWARE 36 + configuration option string. 37 + 38 + Say Y if you own such a card and want to use it. 39 + 40 + config DVB_AV7110_OSD 41 + bool "AV7110 OSD support" 42 + depends on DVB_AV7110 43 + default y if DVB_AV7110=y || DVB_AV7110=m 44 + help 45 + The AV7110 firmware provides some code to generate an OnScreenDisplay 46 + on the video output. This is kind of nonstandard and not guaranteed to 47 + be maintained. 48 + 49 + Anyway, some popular DVB software like VDR uses this OSD to render 50 + its menus, so say Y if you want to use this software. 51 + 52 + All other people say N. 53 + 54 + config DVB_BUDGET_PATCH 55 + tristate "AV7110 cards with Budget Patch" 56 + depends on DVB_BUDGET_CORE && I2C 57 + depends on DVB_AV7110 58 + select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT 59 + select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT 60 + select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT 61 + help 62 + Support for Budget Patch (full TS) modification on 63 + SAA7146+AV7110 based cards (DVB-S cards). This 64 + driver doesn't use onboard MPEG2 decoder. The 65 + card is driven in Budget-only mode. Card is 66 + required to have loaded firmware to tune properly. 67 + Firmware can be loaded by insertion and removal of 68 + standard AV7110 driver prior to loading this 69 + driver. 70 + 71 + Say Y if you own such a card and want to use it. 72 + 73 + To compile this driver as a module, choose M here: the 74 + module will be called budget-patch.
+20
drivers/staging/media/av7110/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + # 3 + # Makefile for the AV7110 DVB device driver 4 + # 5 + 6 + dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o \ 7 + av7110_ipack.o dvb_filter.o 8 + 9 + ifdef CONFIG_DVB_AV7110_IR 10 + dvb-ttpci-objs += av7110_ir.o 11 + endif 12 + 13 + obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o 14 + 15 + obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o 16 + 17 + ccflags-y += -I $(srctree)/drivers/media/dvb-frontends 18 + ccflags-y += -I $(srctree)/drivers/media/tuners 19 + ccflags-y += -I $(srctree)/drivers/media/pci/ttpci 20 + ccflags-y += -I $(srctree)/drivers/media/common
+3
drivers/staging/media/av7110/TODO
··· 1 + - This driver is too old and relies on a different API. 2 + Drop it from Kernel on a couple of versions. 3 + - Cleanup patches for the drivers here won't be accepted.