media: ddbridge/mci: store mci type and number of ports in the hwinfo
authorDaniel Scheller <d.scheller@gmx.net>
Sat, 23 Jun 2018 15:36:09 +0000 (11:36 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 30 Jul 2018 20:23:12 +0000 (16:23 -0400)
For better support for future MCI based cards, rename the mci struct
member to mci_ports to carry the number of ports on the cards, and add a
mci_type member to identify the card type to handle differing hardware.

Picked up from the upstream dddvb GIT.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/pci/ddbridge/ddbridge-core.c
drivers/media/pci/ddbridge/ddbridge-hw.c
drivers/media/pci/ddbridge/ddbridge.h

index 68ea0ff..67b60da 100644 (file)
@@ -1893,12 +1893,12 @@ static void ddb_port_probe(struct ddb_port *port)
        }
 
        if (link->info->type == DDB_OCTOPUS_MCI) {
-               if (port->nr >= link->info->mci)
+               if (port->nr >= link->info->mci_ports)
                        return;
                port->name = "DUAL MCI";
                port->type_name = "MCI";
                port->class = DDB_PORT_TUNER;
-               port->type = DDB_TUNER_MCI_SX8;
+               port->type = DDB_TUNER_MCI + link->info->mci_type;
                return;
        }
 
index 1d3ee6a..f3cbac0 100644 (file)
@@ -318,7 +318,8 @@ static const struct ddb_info ddb_s2x_48 = {
        .port_num = 4,
        .i2c_mask = 0x00,
        .tempmon_irq = 24,
-       .mci      = 4
+       .mci_ports = 4,
+       .mci_type = 0,
 };
 
 /****************************************************************************/
index 65bd74d..8a354df 100644 (file)
@@ -120,20 +120,23 @@ struct ddb_info {
 #define DDB_OCTOPUS_MCI     9
        char *name;
        u32   i2c_mask;
+       u32   board_control;
+       u32   board_control_2;
+
        u8    port_num;
        u8    led_num;
        u8    fan_num;
        u8    temp_num;
        u8    temp_bus;
-       u32   board_control;
-       u32   board_control_2;
        u8    con_clock; /* use a continuous clock */
        u8    ts_quirks;
 #define TS_QUIRK_SERIAL   1
 #define TS_QUIRK_REVERSED 2
 #define TS_QUIRK_ALT_OSC  8
+       u8    mci_ports;
+       u8    mci_type;
+
        u32   tempmon_irq;
-       u8    mci;
        const struct ddb_regmap *regmap;
 };