diff options
author | Aapo Tahkola <aet@rasterburn.org> | 2007-03-05 16:25:36 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:36 -0400 |
commit | 26a154c355cceba66ff13b383aa2019c28dbc685 (patch) | |
tree | a3c1a03719a956fde8687699bbddb946a01718b9 | |
parent | 26247018be1ca7ca464f5f32e8ca7c897ded5393 (diff) |
V4L/DVB (5424): Fix i2c implementation for gl861 and au6610
- r/w bit is not part of the i2c address
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/dvb/dvb-usb/au6610.c | 6 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/gl861.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/media/dvb/dvb-usb/au6610.c b/drivers/media/dvb/dvb-usb/au6610.c index 0dc66a8d2baf..18e0b16fb2a9 100644 --- a/drivers/media/dvb/dvb-usb/au6610.c +++ b/drivers/media/dvb/dvb-usb/au6610.c | |||
@@ -40,7 +40,7 @@ static int au6610_usb_msg(struct dvb_usb_device *d, u8 operation, u8 addr, | |||
40 | } | 40 | } |
41 | 41 | ||
42 | ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), operation, | 42 | ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), operation, |
43 | USB_TYPE_VENDOR|USB_DIR_IN, addr, index, usb_buf, | 43 | USB_TYPE_VENDOR|USB_DIR_IN, addr << 1, index, usb_buf, |
44 | sizeof(usb_buf), AU6610_USB_TIMEOUT); | 44 | sizeof(usb_buf), AU6610_USB_TIMEOUT); |
45 | 45 | ||
46 | if (ret < 0) | 46 | if (ret < 0) |
@@ -124,7 +124,7 @@ static int au6610_identify_state(struct usb_device *udev, | |||
124 | } | 124 | } |
125 | 125 | ||
126 | static struct zl10353_config au6610_zl10353_config = { | 126 | static struct zl10353_config au6610_zl10353_config = { |
127 | .demod_address = 0x1e, | 127 | .demod_address = 0x0f, |
128 | .no_tuner = 1, | 128 | .no_tuner = 1, |
129 | .parallel_ts = 1, | 129 | .parallel_ts = 1, |
130 | }; | 130 | }; |
@@ -140,7 +140,7 @@ static int au6610_zl10353_frontend_attach(struct dvb_usb_adapter *adap) | |||
140 | } | 140 | } |
141 | 141 | ||
142 | static struct qt1010_config au6610_qt1010_config = { | 142 | static struct qt1010_config au6610_qt1010_config = { |
143 | .i2c_address = 0xc4 | 143 | .i2c_address = 0x62 |
144 | }; | 144 | }; |
145 | 145 | ||
146 | static int au6610_qt1010_tuner_attach(struct dvb_usb_adapter *adap) | 146 | static int au6610_qt1010_tuner_attach(struct dvb_usb_adapter *adap) |
diff --git a/drivers/media/dvb/dvb-usb/gl861.c b/drivers/media/dvb/dvb-usb/gl861.c index d50f41feadec..e0587e663591 100644 --- a/drivers/media/dvb/dvb-usb/gl861.c +++ b/drivers/media/dvb/dvb-usb/gl861.c | |||
@@ -20,7 +20,7 @@ static int gl861_i2c_msg(struct dvb_usb_device *d, u8 addr, | |||
20 | u8 *wbuf, u16 wlen, u8 *rbuf, u16 rlen) | 20 | u8 *wbuf, u16 wlen, u8 *rbuf, u16 rlen) |
21 | { | 21 | { |
22 | u16 index; | 22 | u16 index; |
23 | u16 value = addr << 8; | 23 | u16 value = addr << (8 + 1); |
24 | int wo = (rbuf == NULL || rlen == 0); /* write-only */ | 24 | int wo = (rbuf == NULL || rlen == 0); /* write-only */ |
25 | u8 req, type; | 25 | u8 req, type; |
26 | 26 | ||
@@ -101,7 +101,7 @@ static int gl861_identify_state(struct usb_device *udev, | |||
101 | } | 101 | } |
102 | 102 | ||
103 | static struct zl10353_config gl861_zl10353_config = { | 103 | static struct zl10353_config gl861_zl10353_config = { |
104 | .demod_address = 0x1e, | 104 | .demod_address = 0x0f, |
105 | .no_tuner = 1, | 105 | .no_tuner = 1, |
106 | .parallel_ts = 1, | 106 | .parallel_ts = 1, |
107 | }; | 107 | }; |
@@ -117,7 +117,7 @@ static int gl861_frontend_attach(struct dvb_usb_adapter *adap) | |||
117 | } | 117 | } |
118 | 118 | ||
119 | static struct qt1010_config gl861_qt1010_config = { | 119 | static struct qt1010_config gl861_qt1010_config = { |
120 | .i2c_address = 0xc4 | 120 | .i2c_address = 0x62 |
121 | }; | 121 | }; |
122 | 122 | ||
123 | static int gl861_tuner_attach(struct dvb_usb_adapter *adap) | 123 | static int gl861_tuner_attach(struct dvb_usb_adapter *adap) |