mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
detect LNBH address to prevent error message in driver
This commit is contained in:
parent
8cbb835de0
commit
53464162de
@ -1371,11 +1371,19 @@ static struct stv0910_cfg stv0910_p = {
|
|||||||
.clk = 30000000,
|
.clk = 30000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int has_lnbh25(struct i2c_adapter *i2c, u8 adr)
|
||||||
|
{
|
||||||
|
u8 val;
|
||||||
|
|
||||||
|
return i2c_read_reg(i2c, adr, 0, &val) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int demod_attach_stv0910(struct ddb_input *input, int type)
|
static int demod_attach_stv0910(struct ddb_input *input, int type)
|
||||||
{
|
{
|
||||||
struct i2c_adapter *i2c = &input->port->i2c->adap;
|
struct i2c_adapter *i2c = &input->port->i2c->adap;
|
||||||
struct ddb_dvb *dvb = &input->port->dvb[input->nr & 1];
|
struct ddb_dvb *dvb = &input->port->dvb[input->nr & 1];
|
||||||
struct stv0910_cfg cfg = stv0910_p;
|
struct stv0910_cfg cfg = stv0910_p;
|
||||||
|
u8 lnbh_adr = 0x08;
|
||||||
|
|
||||||
if (stv0910_single)
|
if (stv0910_single)
|
||||||
cfg.single = 1;
|
cfg.single = 1;
|
||||||
@ -1392,14 +1400,14 @@ static int demod_attach_stv0910(struct ddb_input *input, int type)
|
|||||||
"No STV0910 found!\n");
|
"No STV0910 found!\n");
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
if (has_lnbh25(i2c, 0x0d))
|
||||||
|
lnbh_adr = 0x0c;
|
||||||
|
|
||||||
if (!dvb_attach(lnbh25_attach, dvb->fe, i2c,
|
if (!dvb_attach(lnbh25_attach, dvb->fe, i2c,
|
||||||
((input->nr & 1) ? 0x0d : 0x0c))) {
|
(input->nr & 1) + lnbh_adr)) {
|
||||||
if (!dvb_attach(lnbh25_attach, dvb->fe, i2c,
|
dev_err(input->port->dev->dev,
|
||||||
((input->nr & 1) ? 0x09 : 0x08))) {
|
"No LNBH25 found!\n");
|
||||||
dev_err(input->port->dev->dev,
|
return -ENODEV;
|
||||||
"No LNBH25 found!\n");
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user