Commit 76103bac authored by Daniel Scheller's avatar Daniel Scheller Committed by Mauro Carvalho Chehab
Browse files

media: ddbridge: return stv09xx id in port_has_stv0900_aa()



The returned value is required for further evaluation of the exact
demodulator chip (stv090x or stv0910).

Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
Tested-by: default avatarRichard Scobie <r.scobie@clear.net.nz>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 44173fda
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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;