2021-06-01 09:12:35

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2 0/3] Move av7110 driver to staging

This driver was written for a hardware manufactured by TI from
a design made by Convergence. Such hardware supports only
MPEG2, which doesn't fit most of the current DVB transmissions.

It stopped being manufactured more than a decade ago.

Also, 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.

This series move both av7110 and sp8870 frontend drivers (which
is used only by av7110) to staging, while keeping the remaining
ttpci support upstream.

It also moves ttpci-eeprom to a common place, as it is used by
both a PCI and an USB driver.

---

v2:
- Fix a typo at the TODO file;
- Add a note at TODO that cleanup patches won't be accepted;
- Changed the description of the second patch.

Mauro Carvalho Chehab (3):
media: move ttpci-eeprom to common
media: av7110: move driver to staging
media: sp8870: move it 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/dvb-frontends/Kconfig | 12 ---
drivers/media/dvb-frontends/Makefile | 1 -
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 | 94 +++++++++++++++++++
drivers/staging/media/av7110/Makefile | 22 +++++
drivers/staging/media/av7110/TODO | 3 +
.../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
.../media/av7110}/sp8870.c | 0
.../media/av7110}/sp8870.h | 0
33 files changed, 130 insertions(+), 104 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%)
rename drivers/{media/dvb-frontends => staging/media/av7110}/sp8870.c (100%)
rename drivers/{media/dvb-frontends => staging/media/av7110}/sp8870.h (100%)

--
2.31.1



2021-06-01 09:12:37

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2 2/3] 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 <[email protected]>
---
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 | 3 +
.../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, 101 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%)

diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig
index 8a362ee9105f..65a6832a6b96 100644
--- a/drivers/media/pci/ttpci/Kconfig
+++ b/drivers/media/pci/ttpci/Kconfig
@@ -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.
diff --git a/drivers/media/pci/ttpci/Makefile b/drivers/media/pci/ttpci/Makefile
index 61001fa5a93e..b0708f6e40cc 100644
--- a/drivers/media/pci/ttpci/Makefile
+++ b/drivers/media/pci/ttpci/Makefile
@@ -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
diff --git a/drivers/media/pci/ttpci/budget.h b/drivers/media/pci/ttpci/budget.h
index a7463daf39f1..bd87432e6cde 100644
--- a/drivers/media/pci/ttpci/budget.h
+++ b/drivers/media/pci/ttpci/budget.h
@@ -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 188

struct budget_info {
char *name;
diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig
index ca59986b20f8..e3aaae920847 100644
--- a/drivers/staging/media/Kconfig
+++ b/drivers/staging/media/Kconfig
@@ -42,4 +42,6 @@ source "drivers/staging/media/tegra-video/Kconfig"

source "drivers/staging/media/ipu3/Kconfig"

+source "drivers/staging/media/av7110/Kconfig"
+
endif
diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile
index 716929a1a313..5b5afc5b03a0 100644
--- a/drivers/staging/media/Makefile
+++ b/drivers/staging/media/Makefile
@@ -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/
diff --git a/drivers/staging/media/av7110/Kconfig b/drivers/staging/media/av7110/Kconfig
new file mode 100644
index 000000000000..e19d24bf2eb4
--- /dev/null
+++ b/drivers/staging/media/av7110/Kconfig
@@ -0,0 +1,74 @@
+# 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_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.
diff --git a/drivers/staging/media/av7110/Makefile b/drivers/staging/media/av7110/Makefile
new file mode 100644
index 000000000000..dcabecf1abde
--- /dev/null
+++ b/drivers/staging/media/av7110/Makefile
@@ -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
diff --git a/drivers/staging/media/av7110/TODO b/drivers/staging/media/av7110/TODO
new file mode 100644
index 000000000000..60062d8441b3
--- /dev/null
+++ b/drivers/staging/media/av7110/TODO
@@ -0,0 +1,3 @@
+- This driver is too old and relies on a different API.
+ Drop it from Kernel on a couple of versions.
+- Cleanup patches for the drivers here won't be accepted.
diff --git a/drivers/media/pci/ttpci/av7110.c b/drivers/staging/media/av7110/av7110.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110.c
rename to drivers/staging/media/av7110/av7110.c
diff --git a/drivers/media/pci/ttpci/av7110.h b/drivers/staging/media/av7110/av7110.h
similarity index 100%
rename from drivers/media/pci/ttpci/av7110.h
rename to drivers/staging/media/av7110/av7110.h
diff --git a/drivers/media/pci/ttpci/av7110_av.c b/drivers/staging/media/av7110/av7110_av.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_av.c
rename to drivers/staging/media/av7110/av7110_av.c
diff --git a/drivers/media/pci/ttpci/av7110_av.h b/drivers/staging/media/av7110/av7110_av.h
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_av.h
rename to drivers/staging/media/av7110/av7110_av.h
diff --git a/drivers/media/pci/ttpci/av7110_ca.c b/drivers/staging/media/av7110/av7110_ca.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_ca.c
rename to drivers/staging/media/av7110/av7110_ca.c
diff --git a/drivers/media/pci/ttpci/av7110_ca.h b/drivers/staging/media/av7110/av7110_ca.h
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_ca.h
rename to drivers/staging/media/av7110/av7110_ca.h
diff --git a/drivers/media/pci/ttpci/av7110_hw.c b/drivers/staging/media/av7110/av7110_hw.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_hw.c
rename to drivers/staging/media/av7110/av7110_hw.c
diff --git a/drivers/media/pci/ttpci/av7110_hw.h b/drivers/staging/media/av7110/av7110_hw.h
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_hw.h
rename to drivers/staging/media/av7110/av7110_hw.h
diff --git a/drivers/media/pci/ttpci/av7110_ipack.c b/drivers/staging/media/av7110/av7110_ipack.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_ipack.c
rename to drivers/staging/media/av7110/av7110_ipack.c
diff --git a/drivers/media/pci/ttpci/av7110_ipack.h b/drivers/staging/media/av7110/av7110_ipack.h
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_ipack.h
rename to drivers/staging/media/av7110/av7110_ipack.h
diff --git a/drivers/media/pci/ttpci/av7110_ir.c b/drivers/staging/media/av7110/av7110_ir.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_ir.c
rename to drivers/staging/media/av7110/av7110_ir.c
diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/staging/media/av7110/av7110_v4l.c
similarity index 100%
rename from drivers/media/pci/ttpci/av7110_v4l.c
rename to drivers/staging/media/av7110/av7110_v4l.c
diff --git a/drivers/media/pci/ttpci/budget-patch.c b/drivers/staging/media/av7110/budget-patch.c
similarity index 100%
rename from drivers/media/pci/ttpci/budget-patch.c
rename to drivers/staging/media/av7110/budget-patch.c
diff --git a/drivers/media/pci/ttpci/dvb_filter.c b/drivers/staging/media/av7110/dvb_filter.c
similarity index 100%
rename from drivers/media/pci/ttpci/dvb_filter.c
rename to drivers/staging/media/av7110/dvb_filter.c
diff --git a/drivers/media/pci/ttpci/dvb_filter.h b/drivers/staging/media/av7110/dvb_filter.h
similarity index 100%
rename from drivers/media/pci/ttpci/dvb_filter.h
rename to drivers/staging/media/av7110/dvb_filter.h
--
2.31.1

2021-06-01 09:14:25

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2 1/3] 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.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
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%)

diff --git a/drivers/media/common/Kconfig b/drivers/media/common/Kconfig
index 4ea03b7899a8..0f6bde0f793e 100644
--- a/drivers/media/common/Kconfig
+++ b/drivers/media/common/Kconfig
@@ -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
diff --git a/drivers/media/common/Makefile b/drivers/media/common/Makefile
index b71e4b62eea5..55b5a1900124 100644
--- a/drivers/media/common/Makefile
+++ b/drivers/media/common/Makefile
@@ -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
diff --git a/drivers/media/pci/ttpci/ttpci-eeprom.c b/drivers/media/common/ttpci-eeprom.c
similarity index 100%
rename from drivers/media/pci/ttpci/ttpci-eeprom.c
rename to drivers/media/common/ttpci-eeprom.c
diff --git a/drivers/media/pci/ttpci/ttpci-eeprom.h b/drivers/media/common/ttpci-eeprom.h
similarity index 100%
rename from drivers/media/pci/ttpci/ttpci-eeprom.h
rename to drivers/media/common/ttpci-eeprom.h
diff --git a/drivers/media/pci/ttpci/Makefile b/drivers/media/pci/ttpci/Makefile
index 9b44c479fcdd..61001fa5a93e 100644
--- a/drivers/media/pci/ttpci/Makefile
+++ b/drivers/media/pci/ttpci/Makefile
@@ -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
diff --git a/drivers/media/usb/Kconfig b/drivers/media/usb/Kconfig
index 00feadb217d8..f97153df3c84 100644
--- a/drivers/media/usb/Kconfig
+++ b/drivers/media/usb/Kconfig
@@ -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
diff --git a/drivers/media/usb/dvb-usb/Makefile b/drivers/media/usb/dvb-usb/Makefile
index 28e4806a87cd..c22514948db2 100644
--- a/drivers/media/usb/dvb-usb/Makefile
+++ b/drivers/media/usb/dvb-usb/Makefile
@@ -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
--
2.31.1

2021-06-01 09:14:56

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2 3/3] media: sp8870: move it to staging

This driver is used only by av7110, which is preparing for
its retirement. So, move this ancillary driver to stay together
with av7110.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
drivers/media/dvb-frontends/Kconfig | 12 -----------
drivers/media/dvb-frontends/Makefile | 1 -
drivers/staging/media/av7110/Kconfig | 20 +++++++++++++++++++
drivers/staging/media/av7110/Makefile | 2 ++
.../media/av7110}/sp8870.c | 0
.../media/av7110}/sp8870.h | 0
6 files changed, 22 insertions(+), 13 deletions(-)
rename drivers/{media/dvb-frontends => staging/media/av7110}/sp8870.c (100%)
rename drivers/{media/dvb-frontends => staging/media/av7110}/sp8870.h (100%)

diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig
index 3468b07b62fe..2c1ed98d43c5 100644
--- a/drivers/media/dvb-frontends/Kconfig
+++ b/drivers/media/dvb-frontends/Kconfig
@@ -323,18 +323,6 @@ config DVB_TDA10071
comment "DVB-T (terrestrial) frontends"
depends on DVB_CORE

-config DVB_SP8870
- tristate "Spase sp8870 based"
- depends on DVB_CORE && I2C
- default m if !MEDIA_SUBDRV_AUTOSELECT
- help
- A DVB-T tuner module. Say Y when you want to support this frontend.
-
- This driver needs external firmware. Please use the command
- "<kerneldir>/scripts/get_dvb_firmware sp8870" to
- download/extract it, and then copy it to /usr/lib/hotplug/firmware
- or /lib/firmware (depending on configuration of firmware hotplug).
-
config DVB_SP887X
tristate "Spase sp887x based"
depends on DVB_CORE && I2C
diff --git a/drivers/media/dvb-frontends/Makefile b/drivers/media/dvb-frontends/Makefile
index b9f47d68e14e..d32e4c0be576 100644
--- a/drivers/media/dvb-frontends/Makefile
+++ b/drivers/media/dvb-frontends/Makefile
@@ -20,7 +20,6 @@ obj-$(CONFIG_DVB_PLL) += dvb-pll.o
obj-$(CONFIG_DVB_STV0299) += stv0299.o
obj-$(CONFIG_DVB_STB0899) += stb0899.o
obj-$(CONFIG_DVB_STB6100) += stb6100.o
-obj-$(CONFIG_DVB_SP8870) += sp8870.o
obj-$(CONFIG_DVB_CX22700) += cx22700.o
obj-$(CONFIG_DVB_S5H1432) += s5h1432.o
obj-$(CONFIG_DVB_CX24110) += cx24110.o
diff --git a/drivers/staging/media/av7110/Kconfig b/drivers/staging/media/av7110/Kconfig
index e19d24bf2eb4..9faf9d2d4001 100644
--- a/drivers/staging/media/av7110/Kconfig
+++ b/drivers/staging/media/av7110/Kconfig
@@ -72,3 +72,23 @@ config DVB_BUDGET_PATCH

To compile this driver as a module, choose M here: the
module will be called budget-patch.
+
+if DVB_AV7110
+
+# Frontend driver that it is used only by AV7110 driver
+# While technically independent, it doesn't make sense to keep
+# it if we drop support for AV7110, as no other driver will use it.
+
+config DVB_SP8870
+ tristate "Spase sp8870 based"
+ depends on DVB_CORE && I2C
+ default m if !MEDIA_SUBDRV_AUTOSELECT
+ help
+ A DVB-T tuner module. Say Y when you want to support this frontend.
+
+ This driver needs external firmware. Please use the command
+ "<kerneldir>/scripts/get_dvb_firmware sp8870" to
+ download/extract it, and then copy it to /usr/lib/hotplug/firmware
+ or /lib/firmware (depending on configuration of firmware hotplug).
+
+endif
diff --git a/drivers/staging/media/av7110/Makefile b/drivers/staging/media/av7110/Makefile
index dcabecf1abde..307b267598ea 100644
--- a/drivers/staging/media/av7110/Makefile
+++ b/drivers/staging/media/av7110/Makefile
@@ -14,6 +14,8 @@ obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o

obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o

+obj-$(CONFIG_DVB_SP8870) += sp8870.o
+
ccflags-y += -I $(srctree)/drivers/media/dvb-frontends
ccflags-y += -I $(srctree)/drivers/media/tuners
ccflags-y += -I $(srctree)/drivers/media/pci/ttpci
diff --git a/drivers/media/dvb-frontends/sp8870.c b/drivers/staging/media/av7110/sp8870.c
similarity index 100%
rename from drivers/media/dvb-frontends/sp8870.c
rename to drivers/staging/media/av7110/sp8870.c
diff --git a/drivers/media/dvb-frontends/sp8870.h b/drivers/staging/media/av7110/sp8870.h
similarity index 100%
rename from drivers/media/dvb-frontends/sp8870.h
rename to drivers/staging/media/av7110/sp8870.h
--
2.31.1