summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/alps_tdlb7.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb/frontends/alps_tdlb7.c')
-rw-r--r--linux/drivers/media/dvb/frontends/alps_tdlb7.c13
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);
}