media: ddbridge: return stv09xx id in port_has_stv0900_aa()
authorDaniel Scheller <d.scheller@gmx.net>
Mon, 3 Jul 2017 17:21:00 +0000 (13:21 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 20 Jul 2017 17:05:05 +0000 (13:05 -0400)
The returned value is required for further evaluation of the exact
demodulator chip (stv090x or stv0910).

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Tested-by: Richard Scobie <r.scobie@clear.net.nz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/pci/ddbridge/ddbridge-core.c

index cd1723e79a078a650e6777206ffc417d9c83f4bb..3fbac7bee2d4a0038e8e59e57efd5ba58ef9f192 100644 (file)
@@ -1480,10 +1480,9 @@ static int port_has_stv0900(struct ddb_port *port)
        return 1;
 }
 
-static int port_has_stv0900_aa(struct ddb_port *port)
+static int port_has_stv0900_aa(struct ddb_port *port, u8 *id)
 {
-       u8 val;
-       if (i2c_read_reg16(&port->i2c->adap, 0x68, 0xf100, &val) < 0)
+       if (i2c_read_reg16(&port->i2c->adap, 0x68, 0xf100, id) < 0)
                return 0;
        return 1;
 }
@@ -1530,7 +1529,7 @@ static void ddb_port_probe(struct ddb_port *port)
 {
        struct ddb *dev = port->dev;
        char *modname = "NO MODULE";
-       u8 xo2_type, xo2_id, cxd_id;
+       u8 xo2_type, xo2_id, cxd_id, stv_id;
 
        port->class = DDB_PORT_NONE;
 
@@ -1622,7 +1621,7 @@ static void ddb_port_probe(struct ddb_port *port)
                port->class = DDB_PORT_TUNER;
                port->type = DDB_TUNER_DVBS_ST;
                ddbwritel(I2C_SPEED_100, port->i2c->regs + I2C_TIMING);
-       } else if (port_has_stv0900_aa(port)) {
+       } else if (port_has_stv0900_aa(port, &stv_id)) {
                modname = "DUAL DVB-S2";
                port->class = DDB_PORT_TUNER;
                port->type = DDB_TUNER_DVBS_ST_AA;