All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] ddbridge: updates from dddvb-0.9.31
@ 2017-08-20 10:41 Daniel Scheller
  2017-08-20 10:41 ` [PATCH 1/6] [media] ddbridge: fix gap handling Daniel Scheller
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

Digital Devices bumped their driver package to version 0.9.31, which most
importantly carries all refactorisations which are part of the pending
mainline driver bump (bringing dddvb and the proposed kernel version much
closer to each other), and improves further on that. This series bumps
the mainline driver accordingly.

These patches should go in right after and alongside the ddbridge-0.9.29
v4 bump series (see [1], means: 4.14 window material) so we have an
uptodate driver in mainline when the next major version gets tagged by
Linus.

[1] http://www.spinics.net/lists/linux-media/msg119911.html

Daniel Scheller (6):
  [media] ddbridge: fix gap handling
  [media] ddbridge: move ddb_unmap(), cleanup modparams
  [media] ddbridge: move device ID table to ddbridge-hw
  [media] ddbridge: remove ddb_info's from the global scope
  [media] ddbridge: const'ify all ddb_info, ddb_regmap et al
  [media] ddbridge: bump version string to 0.9.31intermediate-integrated

 drivers/media/pci/ddbridge/ddbridge-core.c |  46 +++++++---
 drivers/media/pci/ddbridge/ddbridge-hw.c   | 129 ++++++++++++++++++++++-------
 drivers/media/pci/ddbridge/ddbridge-hw.h   |  45 ++++------
 drivers/media/pci/ddbridge/ddbridge-i2c.c  |   5 +-
 drivers/media/pci/ddbridge/ddbridge-main.c |  67 ++-------------
 drivers/media/pci/ddbridge/ddbridge.h      |  27 +++---
 6 files changed, 172 insertions(+), 147 deletions(-)

-- 
2.13.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/6] [media] ddbridge: fix gap handling
  2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
@ 2017-08-20 10:41 ` Daniel Scheller
  2017-08-20 10:41 ` [PATCH 2/6] [media] ddbridge: move ddb_unmap(), cleanup modparams Daniel Scheller
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

Force gap setting if given by attribute and enable gap for older regmaps.
Also, setting a gap value of 128 via sysfs will now disable gap.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
---
 drivers/media/pci/ddbridge/ddbridge-core.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c
index c290d3fecc8d..98a12c644e44 100644
--- a/drivers/media/pci/ddbridge/ddbridge-core.c
+++ b/drivers/media/pci/ddbridge/ddbridge-core.c
@@ -336,6 +336,7 @@ static void calc_con(struct ddb_output *output, u32 *con, u32 *con2, u32 flags)
 	if (output->port->gap != 0xffffffff) {
 		flags |= 1;
 		gap = output->port->gap;
+		max_bitrate = 0;
 	}
 	if (dev->link[0].info->type == DDB_OCTOPUS_CI && output->port->nr > 1) {
 		*con = 0x10c;
@@ -372,6 +373,7 @@ static void calc_con(struct ddb_output *output, u32 *con, u32 *con2, u32 flags)
 				*con |= 0x810; /* 96 MBit/s and gap */
 				max_bitrate = 96000;
 			}
+			*con |= 0x10; /* enable gap */
 		}
 	}
 	if (max_bitrate > 0) {
@@ -3203,8 +3205,10 @@ static ssize_t gap_store(struct device *device, struct device_attribute *attr,
 
 	if (sscanf(buf, "%u\n", &val) != 1)
 		return -EINVAL;
-	if (val > 20)
+	if (val > 128)
 		return -EINVAL;
+	if (val == 128)
+		val = 0xffffffff;
 	dev->port[num].gap = val;
 	return count;
 }
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/6] [media] ddbridge: move ddb_unmap(), cleanup modparams
  2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
  2017-08-20 10:41 ` [PATCH 1/6] [media] ddbridge: fix gap handling Daniel Scheller
@ 2017-08-20 10:41 ` Daniel Scheller
  2017-08-20 10:41 ` [PATCH 3/6] [media] ddbridge: move device ID table to ddbridge-hw Daniel Scheller
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

adapter_alloc is only used from within ddbridge-core, so move it there,
this removes the need for prototyping/referencing the variable. While at
it, msi isn't needed outside of ddbridge-main, so don't extref that one
aswell.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
---
 drivers/media/pci/ddbridge/ddbridge-core.c | 18 ++++++++++++++++++
 drivers/media/pci/ddbridge/ddbridge-main.c | 20 ++------------------
 drivers/media/pci/ddbridge/ddbridge.h      |  3 +--
 3 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c
index 98a12c644e44..070e382db9ad 100644
--- a/drivers/media/pci/ddbridge/ddbridge-core.c
+++ b/drivers/media/pci/ddbridge/ddbridge-core.c
@@ -58,10 +58,21 @@
 
 #define DDB_MAX_ADAPTER 64
 
+/****************************************************************************/
+
 DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 
+static int adapter_alloc;
+module_param(adapter_alloc, int, 0444);
+MODULE_PARM_DESC(adapter_alloc,
+		 "0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all");
+
+/****************************************************************************/
+
 DEFINE_MUTEX(redirect_lock);
 
+struct workqueue_struct *ddb_wq;
+
 static struct ddb *ddbs[DDB_MAX_ADAPTER];
 
 /****************************************************************************/
@@ -3612,3 +3623,10 @@ int ddb_init(struct ddb *dev)
 	dev_err(dev->dev, "fail1\n");
 	return -1;
 }
+
+void ddb_unmap(struct ddb *dev)
+{
+	if (dev->regs)
+		iounmap(dev->regs);
+	vfree(dev);
+}
diff --git a/drivers/media/pci/ddbridge/ddbridge-main.c b/drivers/media/pci/ddbridge/ddbridge-main.c
index 3cb6bb265172..25e9bd7d4fc1 100644
--- a/drivers/media/pci/ddbridge/ddbridge-main.c
+++ b/drivers/media/pci/ddbridge/ddbridge-main.c
@@ -41,16 +41,11 @@
 /****************************************************************************/
 /* module parameters */
 
-int adapter_alloc;
-module_param(adapter_alloc, int, 0444);
-MODULE_PARM_DESC(adapter_alloc,
-		 "0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all");
-
 #ifdef CONFIG_PCI_MSI
 #ifdef CONFIG_DVB_DDBRIDGE_MSIENABLE
-int msi = 1;
+static int msi = 1;
 #else
-int msi;
+static int msi;
 #endif
 module_param(msi, int, 0444);
 #ifdef CONFIG_DVB_DDBRIDGE_MSIENABLE
@@ -89,20 +84,9 @@ module_param(stv0910_single, int, 0444);
 MODULE_PARM_DESC(stv0910_single, "use stv0910 cards as single demods");
 
 /****************************************************************************/
-
-struct workqueue_struct *ddb_wq;
-
-/****************************************************************************/
 /****************************************************************************/
 /****************************************************************************/
 
-static void ddb_unmap(struct ddb *dev)
-{
-	if (dev->regs)
-		iounmap(dev->regs);
-	vfree(dev);
-}
-
 static void ddb_irq_disable(struct ddb *dev)
 {
 	ddbwritel(dev, 0, INTERRUPT_ENABLE);
diff --git a/drivers/media/pci/ddbridge/ddbridge.h b/drivers/media/pci/ddbridge/ddbridge.h
index 91b58eff951c..9ca94a4f82ee 100644
--- a/drivers/media/pci/ddbridge/ddbridge.h
+++ b/drivers/media/pci/ddbridge/ddbridge.h
@@ -369,8 +369,6 @@ int ddbridge_flashread(struct ddb *dev, u32 link, u8 *buf, u32 addr, u32 len);
 /****************************************************************************/
 
 /* ddbridge-main.c (modparams) */
-extern int adapter_alloc;
-extern int msi;
 extern int ci_bitrate;
 extern int ts_loop;
 extern int xo2_speed;
@@ -394,5 +392,6 @@ int ddb_device_create(struct ddb *dev);
 int ddb_class_create(void);
 void ddb_class_destroy(void);
 int ddb_init(struct ddb *dev);
+void ddb_unmap(struct ddb *dev);
 
 #endif /* DDBRIDGE_H */
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/6] [media] ddbridge: move device ID table to ddbridge-hw
  2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
  2017-08-20 10:41 ` [PATCH 1/6] [media] ddbridge: fix gap handling Daniel Scheller
  2017-08-20 10:41 ` [PATCH 2/6] [media] ddbridge: move ddb_unmap(), cleanup modparams Daniel Scheller
@ 2017-08-20 10:41 ` Daniel Scheller
  2017-08-20 10:41 ` [PATCH 4/6] [media] ddbridge: remove ddb_info's from the global scope Daniel Scheller
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

This further cleans up ddbridge-main from hardware-related data and moves
the exact card type determination into ddbridge-hw.c:get_ddb_info(), right
to the hardware maps/structs. Also, const'ify more structs and pointers.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
---
 drivers/media/pci/ddbridge/ddbridge-core.c |  8 ++--
 drivers/media/pci/ddbridge/ddbridge-hw.c   | 65 ++++++++++++++++++++++++++++++
 drivers/media/pci/ddbridge/ddbridge-hw.h   | 19 +++++++++
 drivers/media/pci/ddbridge/ddbridge-main.c | 47 ++++-----------------
 drivers/media/pci/ddbridge/ddbridge.h      |  2 +-
 5 files changed, 96 insertions(+), 45 deletions(-)

diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c
index 070e382db9ad..5f6367fee586 100644
--- a/drivers/media/pci/ddbridge/ddbridge-core.c
+++ b/drivers/media/pci/ddbridge/ddbridge-core.c
@@ -2441,7 +2441,7 @@ static void output_handler(unsigned long data)
 
 static struct ddb_regmap *io_regmap(struct ddb_io *io, int link)
 {
-	struct ddb_info *info;
+	const struct ddb_info *info;
 
 	if (link)
 		info = io->port->dev->link[io->port->lnr].info;
@@ -2575,7 +2575,7 @@ void ddb_ports_init(struct ddb *dev)
 {
 	u32 i, l, p;
 	struct ddb_port *port;
-	struct ddb_info *info;
+	const struct ddb_info *info;
 	struct ddb_regmap *rm;
 
 	for (p = l = 0; l < DDB_MAX_LINK; l++) {
@@ -3538,7 +3538,7 @@ static int tempmon_init(struct ddb_link *link, int first_time)
 
 static int ddb_init_tempmon(struct ddb_link *link)
 {
-	struct ddb_info *info = link->info;
+	const struct ddb_info *info = link->info;
 
 	if (!info->tempmon_irq)
 		return 0;
@@ -3556,7 +3556,7 @@ static int ddb_init_tempmon(struct ddb_link *link)
 
 static int ddb_init_boards(struct ddb *dev)
 {
-	struct ddb_info *info;
+	const struct ddb_info *info;
 	struct ddb_link *link;
 	u32 l;
 
diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.c b/drivers/media/pci/ddbridge/ddbridge-hw.c
index 317dc865e99c..3b208d5bf4ad 100644
--- a/drivers/media/pci/ddbridge/ddbridge-hw.c
+++ b/drivers/media/pci/ddbridge/ddbridge-hw.c
@@ -17,6 +17,7 @@
  */
 
 #include "ddbridge.h"
+#include "ddbridge-hw.h"
 
 /******************************************************************************/
 
@@ -309,3 +310,67 @@ const struct ddb_info ddb_s2_48 = {
 	.board_control = 1,
 	.tempmon_irq = 24,
 };
+
+/****************************************************************************/
+/****************************************************************************/
+/****************************************************************************/
+
+#define DDB_DEVID(_device, _subdevice, _info) { \
+	.vendor = DDVID, \
+	.device = _device, \
+	.subvendor = DDVID, \
+	.subdevice = _subdevice, \
+	.info = &_info }
+
+static const struct ddb_device_id ddb_device_ids[] = {
+	/* PCIe devices */
+	DDB_DEVID(0x0002, 0x0001, ddb_octopus),
+	DDB_DEVID(0x0003, 0x0001, ddb_octopus),
+	DDB_DEVID(0x0005, 0x0004, ddb_octopusv3),
+	DDB_DEVID(0x0003, 0x0002, ddb_octopus_le),
+	DDB_DEVID(0x0003, 0x0003, ddb_octopus_oem),
+	DDB_DEVID(0x0003, 0x0010, ddb_octopus_mini),
+	DDB_DEVID(0x0005, 0x0011, ddb_octopus_mini),
+	DDB_DEVID(0x0003, 0x0020, ddb_v6),
+	DDB_DEVID(0x0003, 0x0021, ddb_v6_5),
+	DDB_DEVID(0x0006, 0x0022, ddb_v7),
+	DDB_DEVID(0x0006, 0x0024, ddb_v7a),
+	DDB_DEVID(0x0003, 0x0030, ddb_dvbct),
+	DDB_DEVID(0x0003, 0xdb03, ddb_satixS2v3),
+	DDB_DEVID(0x0006, 0x0031, ddb_ctv7),
+	DDB_DEVID(0x0006, 0x0032, ddb_ctv7),
+	DDB_DEVID(0x0006, 0x0033, ddb_ctv7),
+	DDB_DEVID(0x0007, 0x0023, ddb_s2_48),
+	DDB_DEVID(0x0008, 0x0034, ddb_ct2_8),
+	DDB_DEVID(0x0008, 0x0035, ddb_c2t2_8),
+	DDB_DEVID(0x0008, 0x0036, ddb_isdbt_8),
+	DDB_DEVID(0x0008, 0x0037, ddb_c2t2i_v0_8),
+	DDB_DEVID(0x0008, 0x0038, ddb_c2t2i_8),
+	DDB_DEVID(0x0006, 0x0039, ddb_ctv7),
+	DDB_DEVID(0x0011, 0x0040, ddb_ci),
+	DDB_DEVID(0x0011, 0x0041, ddb_cis),
+	DDB_DEVID(0x0012, 0x0042, ddb_ci),
+	DDB_DEVID(0x0013, 0x0043, ddb_ci_s2_pro),
+	DDB_DEVID(0x0013, 0x0044, ddb_ci_s2_pro_a),
+};
+
+/****************************************************************************/
+
+const struct ddb_info *get_ddb_info(u16 vendor, u16 device,
+				    u16 subvendor, u16 subdevice)
+{
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(ddb_device_ids); i++) {
+		const struct ddb_device_id *id = &ddb_device_ids[i];
+
+		if (vendor == id->vendor &&
+		    device == id->device &&
+		    subvendor == id->subvendor &&
+		    ((subdevice == id->subdevice) ||
+		     (id->subdevice == 0xffff)))
+			return id->info;
+	}
+
+	return &ddb_none;
+}
diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.h b/drivers/media/pci/ddbridge/ddbridge-hw.h
index d26cd9c977d8..1a985d0a1a97 100644
--- a/drivers/media/pci/ddbridge/ddbridge-hw.h
+++ b/drivers/media/pci/ddbridge/ddbridge-hw.h
@@ -23,6 +23,20 @@
 
 /******************************************************************************/
 
+#define DDVID 0xdd01 /* Digital Devices Vendor ID */
+
+/******************************************************************************/
+
+struct ddb_device_id {
+	u16 vendor;
+	u16 device;
+	u16 subvendor;
+	u16 subdevice;
+	const struct ddb_info *info;
+};
+
+/******************************************************************************/
+
 extern const struct ddb_info ddb_none;
 extern const struct ddb_info ddb_octopus;
 extern const struct ddb_info ddb_octopusv3;
@@ -53,4 +67,9 @@ extern const struct ddb_info ddb_c2t2i_8;
 
 extern const struct ddb_info ddb_s2_48;
 
+/****************************************************************************/
+
+const struct ddb_info *get_ddb_info(u16 vendor, u16 device,
+				    u16 subvendor, u16 subdevice);
+
 #endif /* _DDBRIDGE_HW_H */
diff --git a/drivers/media/pci/ddbridge/ddbridge-main.c b/drivers/media/pci/ddbridge/ddbridge-main.c
index 25e9bd7d4fc1..ccac7fe31336 100644
--- a/drivers/media/pci/ddbridge/ddbridge-main.c
+++ b/drivers/media/pci/ddbridge/ddbridge-main.c
@@ -215,10 +215,12 @@ static int ddb_probe(struct pci_dev *pdev,
 	dev->link[0].ids.vendor = id->vendor;
 	dev->link[0].ids.device = id->device;
 	dev->link[0].ids.subvendor = id->subvendor;
-	dev->link[0].ids.subdevice = id->subdevice;
+	dev->link[0].ids.subdevice = pdev->subsystem_device;
 
 	dev->link[0].dev = dev;
-	dev->link[0].info = (struct ddb_info *) id->driver_data;
+	dev->link[0].info = get_ddb_info(id->vendor, id->device,
+					 id->subvendor, pdev->subsystem_device);
+
 	dev_info(&pdev->dev, "detected %s\n", dev->link[0].info->name);
 
 	dev->regs_len = pci_resource_len(dev->pdev, 0);
@@ -270,46 +272,11 @@ static int ddb_probe(struct pci_dev *pdev,
 /****************************************************************************/
 /****************************************************************************/
 
-#define DDVID 0xdd01 /* Digital Devices Vendor ID */
-
-#define DDB_DEVICE(_device, _subdevice, _driver_data) { \
-		PCI_DEVICE_SUB(DDVID, _device, DDVID, _subdevice), \
-			.driver_data = (kernel_ulong_t) &_driver_data }
-
-#define DDB_DEVICE_ANY(_device) { \
-		PCI_DEVICE_SUB(DDVID, _device, DDVID, PCI_ANY_ID), \
-			.driver_data = (kernel_ulong_t) &ddb_none }
+#define DDB_DEVICE_ANY(_device) \
+		{ PCI_DEVICE_SUB(DDVID, _device, DDVID, PCI_ANY_ID) }
 
 static const struct pci_device_id ddb_id_table[] = {
-	DDB_DEVICE(0x0002, 0x0001, ddb_octopus),
-	DDB_DEVICE(0x0003, 0x0001, ddb_octopus),
-	DDB_DEVICE(0x0005, 0x0004, ddb_octopusv3),
-	DDB_DEVICE(0x0003, 0x0002, ddb_octopus_le),
-	DDB_DEVICE(0x0003, 0x0003, ddb_octopus_oem),
-	DDB_DEVICE(0x0003, 0x0010, ddb_octopus_mini),
-	DDB_DEVICE(0x0005, 0x0011, ddb_octopus_mini),
-	DDB_DEVICE(0x0003, 0x0020, ddb_v6),
-	DDB_DEVICE(0x0003, 0x0021, ddb_v6_5),
-	DDB_DEVICE(0x0006, 0x0022, ddb_v7),
-	DDB_DEVICE(0x0006, 0x0024, ddb_v7a),
-	DDB_DEVICE(0x0003, 0x0030, ddb_dvbct),
-	DDB_DEVICE(0x0003, 0xdb03, ddb_satixS2v3),
-	DDB_DEVICE(0x0006, 0x0031, ddb_ctv7),
-	DDB_DEVICE(0x0006, 0x0032, ddb_ctv7),
-	DDB_DEVICE(0x0006, 0x0033, ddb_ctv7),
-	DDB_DEVICE(0x0007, 0x0023, ddb_s2_48),
-	DDB_DEVICE(0x0008, 0x0034, ddb_ct2_8),
-	DDB_DEVICE(0x0008, 0x0035, ddb_c2t2_8),
-	DDB_DEVICE(0x0008, 0x0036, ddb_isdbt_8),
-	DDB_DEVICE(0x0008, 0x0037, ddb_c2t2i_v0_8),
-	DDB_DEVICE(0x0008, 0x0038, ddb_c2t2i_8),
-	DDB_DEVICE(0x0006, 0x0039, ddb_ctv7),
-	DDB_DEVICE(0x0011, 0x0040, ddb_ci),
-	DDB_DEVICE(0x0011, 0x0041, ddb_cis),
-	DDB_DEVICE(0x0012, 0x0042, ddb_ci),
-	DDB_DEVICE(0x0013, 0x0043, ddb_ci_s2_pro),
-	DDB_DEVICE(0x0013, 0x0044, ddb_ci_s2_pro_a),
-	/* in case sub-ids got deleted in flash */
+	DDB_DEVICE_ANY(0x0002),
 	DDB_DEVICE_ANY(0x0003),
 	DDB_DEVICE_ANY(0x0005),
 	DDB_DEVICE_ANY(0x0006),
diff --git a/drivers/media/pci/ddbridge/ddbridge.h b/drivers/media/pci/ddbridge/ddbridge.h
index 9ca94a4f82ee..d890400dc1c3 100644
--- a/drivers/media/pci/ddbridge/ddbridge.h
+++ b/drivers/media/pci/ddbridge/ddbridge.h
@@ -307,7 +307,7 @@ struct ddb_lnb {
 
 struct ddb_link {
 	struct ddb            *dev;
-	struct ddb_info       *info;
+	const struct ddb_info *info;
 	u32                    nr;
 	u32                    regs;
 	spinlock_t             lock;
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/6] [media] ddbridge: remove ddb_info's from the global scope
  2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
                   ` (2 preceding siblings ...)
  2017-08-20 10:41 ` [PATCH 3/6] [media] ddbridge: move device ID table to ddbridge-hw Daniel Scheller
@ 2017-08-20 10:41 ` Daniel Scheller
  2017-08-20 10:41 ` [PATCH 5/6] [media] ddbridge: const'ify all ddb_info, ddb_regmap et al Daniel Scheller
  2017-08-20 10:41 ` [PATCH 6/6] [media] ddbridge: bump version string to 0.9.31intermediate-integrated Daniel Scheller
  5 siblings, 0 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

Since the DD hardware info and maps aren't needed anymore outside of
ddbridge-hw.c (they're returned via get_ddb_info() now), mark them
static and remove all refs from ddbridge-hw.h.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
---
 drivers/media/pci/ddbridge/ddbridge-hw.c | 46 ++++++++++++++++----------------
 drivers/media/pci/ddbridge/ddbridge-hw.h | 32 ----------------------
 2 files changed, 23 insertions(+), 55 deletions(-)

diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.c b/drivers/media/pci/ddbridge/ddbridge-hw.c
index 3b208d5bf4ad..1c25e86c189e 100644
--- a/drivers/media/pci/ddbridge/ddbridge-hw.c
+++ b/drivers/media/pci/ddbridge/ddbridge-hw.c
@@ -87,13 +87,13 @@ static struct ddb_regmap octopus_map = {
 
 /****************************************************************************/
 
-const struct ddb_info ddb_none = {
+static const struct ddb_info ddb_none = {
 	.type     = DDB_NONE,
 	.name     = "unknown Digital Devices PCIe card, install newer driver",
 	.regmap   = &octopus_map,
 };
 
-const struct ddb_info ddb_octopus = {
+static const struct ddb_info ddb_octopus = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Octopus DVB adapter",
 	.regmap   = &octopus_map,
@@ -101,7 +101,7 @@ const struct ddb_info ddb_octopus = {
 	.i2c_mask = 0x0f,
 };
 
-const struct ddb_info ddb_octopusv3 = {
+static const struct ddb_info ddb_octopusv3 = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Octopus V3 DVB adapter",
 	.regmap   = &octopus_map,
@@ -109,7 +109,7 @@ const struct ddb_info ddb_octopusv3 = {
 	.i2c_mask = 0x0f,
 };
 
-const struct ddb_info ddb_octopus_le = {
+static const struct ddb_info ddb_octopus_le = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Octopus LE DVB adapter",
 	.regmap   = &octopus_map,
@@ -117,7 +117,7 @@ const struct ddb_info ddb_octopus_le = {
 	.i2c_mask = 0x03,
 };
 
-const struct ddb_info ddb_octopus_oem = {
+static const struct ddb_info ddb_octopus_oem = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Octopus OEM",
 	.regmap   = &octopus_map,
@@ -129,7 +129,7 @@ const struct ddb_info ddb_octopus_oem = {
 	.temp_bus = 0,
 };
 
-const struct ddb_info ddb_octopus_mini = {
+static const struct ddb_info ddb_octopus_mini = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Octopus Mini",
 	.regmap   = &octopus_map,
@@ -137,7 +137,7 @@ const struct ddb_info ddb_octopus_mini = {
 	.i2c_mask = 0x0f,
 };
 
-const struct ddb_info ddb_v6 = {
+static const struct ddb_info ddb_v6 = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Cine S2 V6 DVB adapter",
 	.regmap   = &octopus_map,
@@ -145,7 +145,7 @@ const struct ddb_info ddb_v6 = {
 	.i2c_mask = 0x07,
 };
 
-const struct ddb_info ddb_v6_5 = {
+static const struct ddb_info ddb_v6_5 = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Cine S2 V6.5 DVB adapter",
 	.regmap   = &octopus_map,
@@ -153,7 +153,7 @@ const struct ddb_info ddb_v6_5 = {
 	.i2c_mask = 0x0f,
 };
 
-const struct ddb_info ddb_v7 = {
+static const struct ddb_info ddb_v7 = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Cine S2 V7 DVB adapter",
 	.regmap   = &octopus_map,
@@ -164,7 +164,7 @@ const struct ddb_info ddb_v7 = {
 	.ts_quirks = TS_QUIRK_REVERSED,
 };
 
-const struct ddb_info ddb_v7a = {
+static const struct ddb_info ddb_v7a = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Cine S2 V7 Advanced DVB adapter",
 	.regmap   = &octopus_map,
@@ -175,7 +175,7 @@ const struct ddb_info ddb_v7a = {
 	.ts_quirks = TS_QUIRK_REVERSED,
 };
 
-const struct ddb_info ddb_ctv7 = {
+static const struct ddb_info ddb_ctv7 = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices Cine CT V7 DVB adapter",
 	.regmap   = &octopus_map,
@@ -185,7 +185,7 @@ const struct ddb_info ddb_ctv7 = {
 	.board_control_2 = 4,
 };
 
-const struct ddb_info ddb_satixS2v3 = {
+static const struct ddb_info ddb_satixS2v3 = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Mystique SaTiX-S2 V3 DVB adapter",
 	.regmap   = &octopus_map,
@@ -193,7 +193,7 @@ const struct ddb_info ddb_satixS2v3 = {
 	.i2c_mask = 0x07,
 };
 
-const struct ddb_info ddb_ci = {
+static const struct ddb_info ddb_ci = {
 	.type     = DDB_OCTOPUS_CI,
 	.name     = "Digital Devices Octopus CI",
 	.regmap   = &octopus_map,
@@ -201,7 +201,7 @@ const struct ddb_info ddb_ci = {
 	.i2c_mask = 0x03,
 };
 
-const struct ddb_info ddb_cis = {
+static const struct ddb_info ddb_cis = {
 	.type     = DDB_OCTOPUS_CI,
 	.name     = "Digital Devices Octopus CI single",
 	.regmap   = &octopus_map,
@@ -209,7 +209,7 @@ const struct ddb_info ddb_cis = {
 	.i2c_mask = 0x03,
 };
 
-const struct ddb_info ddb_ci_s2_pro = {
+static const struct ddb_info ddb_ci_s2_pro = {
 	.type     = DDB_OCTOPUS_CI,
 	.name     = "Digital Devices Octopus CI S2 Pro",
 	.regmap   = &octopus_map,
@@ -219,7 +219,7 @@ const struct ddb_info ddb_ci_s2_pro = {
 	.board_control_2 = 4,
 };
 
-const struct ddb_info ddb_ci_s2_pro_a = {
+static const struct ddb_info ddb_ci_s2_pro_a = {
 	.type     = DDB_OCTOPUS_CI,
 	.name     = "Digital Devices Octopus CI S2 Pro Advanced",
 	.regmap   = &octopus_map,
@@ -229,7 +229,7 @@ const struct ddb_info ddb_ci_s2_pro_a = {
 	.board_control_2 = 4,
 };
 
-const struct ddb_info ddb_dvbct = {
+static const struct ddb_info ddb_dvbct = {
 	.type     = DDB_OCTOPUS,
 	.name     = "Digital Devices DVBCT V6.1 DVB adapter",
 	.regmap   = &octopus_map,
@@ -239,7 +239,7 @@ const struct ddb_info ddb_dvbct = {
 
 /****************************************************************************/
 
-const struct ddb_info ddb_ct2_8 = {
+static const struct ddb_info ddb_ct2_8 = {
 	.type     = DDB_OCTOPUS_MAX_CT,
 	.name     = "Digital Devices MAX A8 CT2",
 	.regmap   = &octopus_map,
@@ -251,7 +251,7 @@ const struct ddb_info ddb_ct2_8 = {
 	.tempmon_irq = 24,
 };
 
-const struct ddb_info ddb_c2t2_8 = {
+static const struct ddb_info ddb_c2t2_8 = {
 	.type     = DDB_OCTOPUS_MAX_CT,
 	.name     = "Digital Devices MAX A8 C2T2",
 	.regmap   = &octopus_map,
@@ -263,7 +263,7 @@ const struct ddb_info ddb_c2t2_8 = {
 	.tempmon_irq = 24,
 };
 
-const struct ddb_info ddb_isdbt_8 = {
+static const struct ddb_info ddb_isdbt_8 = {
 	.type     = DDB_OCTOPUS_MAX_CT,
 	.name     = "Digital Devices MAX A8 ISDBT",
 	.regmap   = &octopus_map,
@@ -275,7 +275,7 @@ const struct ddb_info ddb_isdbt_8 = {
 	.tempmon_irq = 24,
 };
 
-const struct ddb_info ddb_c2t2i_v0_8 = {
+static const struct ddb_info ddb_c2t2i_v0_8 = {
 	.type     = DDB_OCTOPUS_MAX_CT,
 	.name     = "Digital Devices MAX A8 C2T2I V0",
 	.regmap   = &octopus_map,
@@ -287,7 +287,7 @@ const struct ddb_info ddb_c2t2i_v0_8 = {
 	.tempmon_irq = 24,
 };
 
-const struct ddb_info ddb_c2t2i_8 = {
+static const struct ddb_info ddb_c2t2i_8 = {
 	.type     = DDB_OCTOPUS_MAX_CT,
 	.name     = "Digital Devices MAX A8 C2T2I",
 	.regmap   = &octopus_map,
@@ -301,7 +301,7 @@ const struct ddb_info ddb_c2t2i_8 = {
 
 /****************************************************************************/
 
-const struct ddb_info ddb_s2_48 = {
+static const struct ddb_info ddb_s2_48 = {
 	.type     = DDB_OCTOPUS_MAX,
 	.name     = "Digital Devices MAX S8 4/8",
 	.regmap   = &octopus_map,
diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.h b/drivers/media/pci/ddbridge/ddbridge-hw.h
index 1a985d0a1a97..7c142419419c 100644
--- a/drivers/media/pci/ddbridge/ddbridge-hw.h
+++ b/drivers/media/pci/ddbridge/ddbridge-hw.h
@@ -37,38 +37,6 @@ struct ddb_device_id {
 
 /******************************************************************************/
 
-extern const struct ddb_info ddb_none;
-extern const struct ddb_info ddb_octopus;
-extern const struct ddb_info ddb_octopusv3;
-extern const struct ddb_info ddb_octopus_le;
-extern const struct ddb_info ddb_octopus_oem;
-extern const struct ddb_info ddb_octopus_mini;
-extern const struct ddb_info ddb_v6;
-extern const struct ddb_info ddb_v6_5;
-extern const struct ddb_info ddb_v7;
-extern const struct ddb_info ddb_v7a;
-extern const struct ddb_info ddb_ctv7;
-extern const struct ddb_info ddb_satixS2v3;
-extern const struct ddb_info ddb_ci;
-extern const struct ddb_info ddb_cis;
-extern const struct ddb_info ddb_ci_s2_pro;
-extern const struct ddb_info ddb_ci_s2_pro_a;
-extern const struct ddb_info ddb_dvbct;
-
-/****************************************************************************/
-
-extern const struct ddb_info ddb_ct2_8;
-extern const struct ddb_info ddb_c2t2_8;
-extern const struct ddb_info ddb_isdbt_8;
-extern const struct ddb_info ddb_c2t2i_v0_8;
-extern const struct ddb_info ddb_c2t2i_8;
-
-/****************************************************************************/
-
-extern const struct ddb_info ddb_s2_48;
-
-/****************************************************************************/
-
 const struct ddb_info *get_ddb_info(u16 vendor, u16 device,
 				    u16 subvendor, u16 subdevice);
 
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/6] [media] ddbridge: const'ify all ddb_info, ddb_regmap et al
  2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
                   ` (3 preceding siblings ...)
  2017-08-20 10:41 ` [PATCH 4/6] [media] ddbridge: remove ddb_info's from the global scope Daniel Scheller
@ 2017-08-20 10:41 ` Daniel Scheller
  2017-08-20 10:41 ` [PATCH 6/6] [media] ddbridge: bump version string to 0.9.31intermediate-integrated Daniel Scheller
  5 siblings, 0 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

All data is accessed RO, so mark everything const. Some vars in several
functions aswell as function signatures also require the const keyword
now, they're also added by this commit.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
---
 drivers/media/pci/ddbridge/ddbridge-core.c | 14 +++++++-------
 drivers/media/pci/ddbridge/ddbridge-hw.c   | 18 +++++++++---------
 drivers/media/pci/ddbridge/ddbridge-i2c.c  |  5 +++--
 drivers/media/pci/ddbridge/ddbridge.h      | 20 ++++++++++----------
 4 files changed, 29 insertions(+), 28 deletions(-)

diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c
index 5f6367fee586..a14031ac45cf 100644
--- a/drivers/media/pci/ddbridge/ddbridge-core.c
+++ b/drivers/media/pci/ddbridge/ddbridge-core.c
@@ -2439,7 +2439,7 @@ static void output_handler(unsigned long data)
 /****************************************************************************/
 /****************************************************************************/
 
-static struct ddb_regmap *io_regmap(struct ddb_io *io, int link)
+static const struct ddb_regmap *io_regmap(struct ddb_io *io, int link)
 {
 	const struct ddb_info *info;
 
@@ -2457,7 +2457,7 @@ static struct ddb_regmap *io_regmap(struct ddb_io *io, int link)
 static void ddb_dma_init(struct ddb_io *io, int nr, int out)
 {
 	struct ddb_dma *dma;
-	struct ddb_regmap *rm = io_regmap(io, 0);
+	const struct ddb_regmap *rm = io_regmap(io, 0);
 
 	dma = out ? &io->port->dev->odma[nr] : &io->port->dev->idma[nr];
 	io->dma = dma;
@@ -2488,7 +2488,7 @@ static void ddb_input_init(struct ddb_port *port, int nr, int pnr, int anr)
 {
 	struct ddb *dev = port->dev;
 	struct ddb_input *input = &dev->input[anr];
-	struct ddb_regmap *rm;
+	const struct ddb_regmap *rm;
 
 	port->input[pnr] = input;
 	input->nr = nr;
@@ -2500,7 +2500,7 @@ static void ddb_input_init(struct ddb_port *port, int nr, int pnr, int anr)
 		port->lnr, nr, input->regs);
 
 	if (dev->has_dma) {
-		struct ddb_regmap *rm0 = io_regmap(input, 0);
+		const struct ddb_regmap *rm0 = io_regmap(input, 0);
 		u32 base = rm0->irq_base_idma;
 		u32 dma_nr = nr;
 
@@ -2520,7 +2520,7 @@ static void ddb_output_init(struct ddb_port *port, int nr)
 {
 	struct ddb *dev = port->dev;
 	struct ddb_output *output = &dev->output[nr];
-	struct ddb_regmap *rm;
+	const struct ddb_regmap *rm;
 
 	port->output = output;
 	output->nr = nr;
@@ -2533,7 +2533,7 @@ static void ddb_output_init(struct ddb_port *port, int nr)
 		 port->lnr, nr, output->regs);
 
 	if (dev->has_dma) {
-		struct ddb_regmap *rm0 = io_regmap(output, 0);
+		const struct ddb_regmap *rm0 = io_regmap(output, 0);
 		u32 base = rm0->irq_base_odma;
 
 		dev->handler[0][nr + base] = output_handler;
@@ -2576,7 +2576,7 @@ void ddb_ports_init(struct ddb *dev)
 	u32 i, l, p;
 	struct ddb_port *port;
 	const struct ddb_info *info;
-	struct ddb_regmap *rm;
+	const struct ddb_regmap *rm;
 
 	for (p = l = 0; l < DDB_MAX_LINK; l++) {
 		info = dev->link[l].info;
diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.c b/drivers/media/pci/ddbridge/ddbridge-hw.c
index 1c25e86c189e..48248bcd59c2 100644
--- a/drivers/media/pci/ddbridge/ddbridge-hw.c
+++ b/drivers/media/pci/ddbridge/ddbridge-hw.c
@@ -21,49 +21,49 @@
 
 /******************************************************************************/
 
-static struct ddb_regset octopus_input = {
+static const struct ddb_regset octopus_input = {
 	.base = 0x200,
 	.num  = 0x08,
 	.size = 0x10,
 };
 
-static struct ddb_regset octopus_output = {
+static const struct ddb_regset octopus_output = {
 	.base = 0x280,
 	.num  = 0x08,
 	.size = 0x10,
 };
 
-static struct ddb_regset octopus_idma = {
+static const struct ddb_regset octopus_idma = {
 	.base = 0x300,
 	.num  = 0x08,
 	.size = 0x10,
 };
 
-static struct ddb_regset octopus_idma_buf = {
+static const struct ddb_regset octopus_idma_buf = {
 	.base = 0x2000,
 	.num  = 0x08,
 	.size = 0x100,
 };
 
-static struct ddb_regset octopus_odma = {
+static const struct ddb_regset octopus_odma = {
 	.base = 0x380,
 	.num  = 0x04,
 	.size = 0x10,
 };
 
-static struct ddb_regset octopus_odma_buf = {
+static const struct ddb_regset octopus_odma_buf = {
 	.base = 0x2800,
 	.num  = 0x04,
 	.size = 0x100,
 };
 
-static struct ddb_regset octopus_i2c = {
+static const struct ddb_regset octopus_i2c = {
 	.base = 0x80,
 	.num  = 0x04,
 	.size = 0x20,
 };
 
-static struct ddb_regset octopus_i2c_buf = {
+static const struct ddb_regset octopus_i2c_buf = {
 	.base = 0x1000,
 	.num  = 0x04,
 	.size = 0x200,
@@ -71,7 +71,7 @@ static struct ddb_regset octopus_i2c_buf = {
 
 /****************************************************************************/
 
-static struct ddb_regmap octopus_map = {
+static const struct ddb_regmap octopus_map = {
 	.irq_base_i2c = 0,
 	.irq_base_idma = 8,
 	.irq_base_odma = 16,
diff --git a/drivers/media/pci/ddbridge/ddbridge-i2c.c b/drivers/media/pci/ddbridge/ddbridge-i2c.c
index 3d4fafb5db27..e4d39c3270ae 100644
--- a/drivers/media/pci/ddbridge/ddbridge-i2c.c
+++ b/drivers/media/pci/ddbridge/ddbridge-i2c.c
@@ -155,7 +155,8 @@ static void i2c_handler(unsigned long priv)
 }
 
 static int ddb_i2c_add(struct ddb *dev, struct ddb_i2c *i2c,
-		       struct ddb_regmap *regmap, int link, int i, int num)
+		       const struct ddb_regmap *regmap, int link,
+		       int i, int num)
 {
 	struct i2c_adapter *adap;
 
@@ -196,7 +197,7 @@ int ddb_i2c_init(struct ddb *dev)
 	u32 i, j, num = 0, l, base;
 	struct ddb_i2c *i2c;
 	struct i2c_adapter *adap;
-	struct ddb_regmap *regmap;
+	const struct ddb_regmap *regmap;
 
 	for (l = 0; l < DDB_MAX_LINK; l++) {
 		if (!dev->link[l].info)
diff --git a/drivers/media/pci/ddbridge/ddbridge.h b/drivers/media/pci/ddbridge/ddbridge.h
index d890400dc1c3..c1a1edfe15aa 100644
--- a/drivers/media/pci/ddbridge/ddbridge.h
+++ b/drivers/media/pci/ddbridge/ddbridge.h
@@ -85,17 +85,17 @@ struct ddb_regmap {
 	u32 irq_base_idma;
 	u32 irq_base_odma;
 
-	struct ddb_regset *i2c;
-	struct ddb_regset *i2c_buf;
-	struct ddb_regset *idma;
-	struct ddb_regset *idma_buf;
-	struct ddb_regset *odma;
-	struct ddb_regset *odma_buf;
+	const struct ddb_regset *i2c;
+	const struct ddb_regset *i2c_buf;
+	const struct ddb_regset *idma;
+	const struct ddb_regset *idma_buf;
+	const struct ddb_regset *odma;
+	const struct ddb_regset *odma_buf;
 
-	struct ddb_regset *input;
-	struct ddb_regset *output;
+	const struct ddb_regset *input;
+	const struct ddb_regset *output;
 
-	struct ddb_regset *channel;
+	const struct ddb_regset *channel;
 };
 
 struct ddb_ids {
@@ -133,7 +133,7 @@ struct ddb_info {
 #define TS_QUIRK_REVERSED 2
 #define TS_QUIRK_ALT_OSC  8
 	u32   tempmon_irq;
-	struct ddb_regmap *regmap;
+	const struct ddb_regmap *regmap;
 };
 
 /* DMA_SIZE MUST be smaller than 256k and
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 6/6] [media] ddbridge: bump version string to 0.9.31intermediate-integrated
  2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
                   ` (4 preceding siblings ...)
  2017-08-20 10:41 ` [PATCH 5/6] [media] ddbridge: const'ify all ddb_info, ddb_regmap et al Daniel Scheller
@ 2017-08-20 10:41 ` Daniel Scheller
  5 siblings, 0 replies; 7+ messages in thread
From: Daniel Scheller @ 2017-08-20 10:41 UTC (permalink / raw)
  To: linux-media, mchehab, mchehab; +Cc: jasmin, rjkm

From: Daniel Scheller <d.scheller@gmx.net>

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
---
 drivers/media/pci/ddbridge/ddbridge.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/pci/ddbridge/ddbridge.h b/drivers/media/pci/ddbridge/ddbridge.h
index c1a1edfe15aa..e9afa96bd9df 100644
--- a/drivers/media/pci/ddbridge/ddbridge.h
+++ b/drivers/media/pci/ddbridge/ddbridge.h
@@ -63,7 +63,7 @@
 #include "dvb_ca_en50221.h"
 #include "dvb_net.h"
 
-#define DDBRIDGE_VERSION "0.9.29-integrated"
+#define DDBRIDGE_VERSION "0.9.31intermediate-integrated"
 
 #define DDB_MAX_I2C    32
 #define DDB_MAX_PORT   32
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-08-20 10:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-20 10:41 [PATCH 0/6] ddbridge: updates from dddvb-0.9.31 Daniel Scheller
2017-08-20 10:41 ` [PATCH 1/6] [media] ddbridge: fix gap handling Daniel Scheller
2017-08-20 10:41 ` [PATCH 2/6] [media] ddbridge: move ddb_unmap(), cleanup modparams Daniel Scheller
2017-08-20 10:41 ` [PATCH 3/6] [media] ddbridge: move device ID table to ddbridge-hw Daniel Scheller
2017-08-20 10:41 ` [PATCH 4/6] [media] ddbridge: remove ddb_info's from the global scope Daniel Scheller
2017-08-20 10:41 ` [PATCH 5/6] [media] ddbridge: const'ify all ddb_info, ddb_regmap et al Daniel Scheller
2017-08-20 10:41 ` [PATCH 6/6] [media] ddbridge: bump version string to 0.9.31intermediate-integrated Daniel Scheller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.