From 8da316d74e520eccd877ec90b3341e734363a5ff Mon Sep 17 00:00:00 2001 From: Andrew de Quincy Date: Thu, 29 Jan 2004 20:42:31 +0000 Subject: Changed to use full i2c reads in probing instead of i2c pings to be compatable with ttusb --- linux/drivers/media/dvb/frontends/alps_tdlb7.c | 13 +++++---- linux/drivers/media/dvb/frontends/alps_tdmb7.c | 37 ++++++++++++++------------ 2 files changed, 28 insertions(+), 22 deletions(-) (limited to 'linux/drivers/media/dvb/frontends') 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); } diff --git a/linux/drivers/media/dvb/frontends/alps_tdmb7.c b/linux/drivers/media/dvb/frontends/alps_tdmb7.c index 072bc8907..5376dc909 100644 --- a/linux/drivers/media/dvb/frontends/alps_tdmb7.c +++ b/linux/drivers/media/dvb/frontends/alps_tdmb7.c @@ -1,4 +1,4 @@ -/* +/* Alps TDMB7 DVB OFDM frontend driver Copyright (C) 2001-2002 Convergence Integrated Media GmbH @@ -18,7 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ +*/ #include #include @@ -49,7 +49,7 @@ static struct dvb_frontend_info tdmb7_info = { #endif .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | - FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | + FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_CLEAN_SETUP | FE_CAN_RECOVER }; @@ -86,7 +86,7 @@ static int cx22700_writereg (struct dvb_i2c_bus *i2c, u8 reg, u8 data) ret = i2c->xfer (i2c, &msg, 1); - if (ret != 1) + if (ret != 1) printk("%s: writereg error (reg == 0x%02x, val == 0x%02x, ret == %i)\n", __FUNCTION__, reg, data, ret); @@ -101,12 +101,12 @@ static u8 cx22700_readreg (struct dvb_i2c_bus *i2c, u8 reg) u8 b1 [] = { 0 }; struct i2c_msg msg [] = { { .addr = 0x43, .flags = 0, .buf = b0, .len = 1 }, { .addr = 0x43, .flags = I2C_M_RD, .buf = b1, .len = 1 } }; - + dprintk ("%s\n", __FUNCTION__); ret = i2c->xfer (i2c, msg, 2); - - if (ret != 2) + + if (ret != 2) printk("%s: readreg error (ret == %i)\n", __FUNCTION__, ret); return b1[0]; @@ -130,7 +130,7 @@ static int pll_write (struct dvb_i2c_bus *i2c, u8 data [4]) /** - * set up the downconverter frequency divisor for a + * set up the downconverter frequency divisor for a * reference clock comparision frequency of 125 kHz. */ static int pll_set_tv_freq (struct dvb_i2c_bus *i2c, u32 freq) @@ -160,12 +160,12 @@ static int cx22700_init (struct dvb_i2c_bus *i2c) cx22700_writereg (i2c, 0x00, 0x00); dvb_delay(10); - + for (i=0; iinversion = reg09 & 0x1 ? INVERSION_ON : INVERSION_OFF; return cx22700_get_tps (i2c, &p->u.ofdm); } @@ -404,14 +404,17 @@ static int tdmb7_ioctl (struct dvb_frontend *fe, unsigned int cmd, void *arg) static int tdmb7_attach (struct dvb_i2c_bus *i2c, void **data) { - struct i2c_msg msg = { .addr = 0x43, .flags = 0, .buf = NULL,. len = 0 }; + u8 b0 [] = { 0x7 }; + u8 b1 [] = { 0 }; + struct i2c_msg msg [] = { { .addr = 0x43, .flags = 0, .buf = b0, .len = 1 }, + { .addr = 0x43, .flags = I2C_M_RD, .buf = b1, .len = 1 } }; - dprintk ("%s\n", __FUNCTION__); + dprintk ("%s\n", __FUNCTION__); - if (i2c->xfer (i2c, &msg, 1) != 1) - return -ENODEV; + if (i2c->xfer (i2c, msg, 2) != 2) + return -ENODEV; - return dvb_register_frontend (tdmb7_ioctl, i2c, NULL, &tdmb7_info); + return dvb_register_frontend (tdmb7_ioctl, i2c, NULL, &tdmb7_info); } -- cgit v1.2.3