diff options
Diffstat (limited to 'linux/drivers/media/dvb/frontends/alps_tdlb7.c')
-rw-r--r-- | linux/drivers/media/dvb/frontends/alps_tdlb7.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/linux/drivers/media/dvb/frontends/alps_tdlb7.c b/linux/drivers/media/dvb/frontends/alps_tdlb7.c index 847567abd..3c8549f9e 100644 --- a/linux/drivers/media/dvb/frontends/alps_tdlb7.c +++ b/linux/drivers/media/dvb/frontends/alps_tdlb7.c @@ -663,16 +663,19 @@ static int tdlb7_ioctl (struct dvb_frontend *fe, unsigned int cmd, void *arg) static int tdlb7_attach (struct dvb_i2c_bus *i2c, void **data) { - struct i2c_msg msg = { addr: 0x71, flags: 0, buf: NULL, len: 0 }; + u8 b0 [] = { 0x02 , 0x00 }; + u8 b1 [] = { 0, 0 }; + struct i2c_msg msg [] = { { addr: 0x71, flags: 0, buf: b0, len: 2 }, + { addr: 0x71, flags: I2C_M_RD, buf: b1, len: 2 } }; - dprintk ("%s\n", __FUNCTION__); + dprintk ("%s\n", __FUNCTION__); - if (i2c->xfer (i2c, &msg, 1) != 1) + if (i2c->xfer (i2c, msg, 2) != 2) return -ENODEV; - sp8870_firmware_upload(i2c); + sp8870_firmware_upload(i2c); - return dvb_register_frontend (tdlb7_ioctl, i2c, NULL, &tdlb7_info); + return dvb_register_frontend (tdlb7_ioctl, i2c, NULL, &tdlb7_info); } |