Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 241839
b: refs/heads/master
c: 3f25ffa
h: refs/heads/master
i:
  241837: 42f9f90
  241835: dc8e0e7
  241831: e7145cd
  241823: 1616877
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Mar 21, 2011
1 parent 68f73ee commit bb405e6
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8bb84227d1ba41d6c1ec9350a4424ece5fe00e33
refs/heads/master: 3f25ffa2cd946333d29a668993f5aa78e9b56a02
31 changes: 20 additions & 11 deletions trunk/drivers/media/video/cx231xx/cx231xx-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,21 @@ do { \
} \
} while (0)

static inline bool is_tuner(struct cx231xx *dev, struct cx231xx_i2c *bus,
const struct i2c_msg *msg, int tuner_type)
{
if (bus->nr != dev->board.tuner_i2c_master)
return false;

if (msg->addr != dev->board.tuner_addr)
return false;

if (dev->tuner_type != tuner_type)
return false;

return true;
}

/*
* cx231xx_i2c_send_bytes()
*/
Expand All @@ -71,9 +86,7 @@ int cx231xx_i2c_send_bytes(struct i2c_adapter *i2c_adap,
u16 saddr = 0;
u8 need_gpio = 0;

if ((bus->nr == 1) && (msg->addr == 0x61)
&& (dev->tuner_type == TUNER_XC5000)) {

if (is_tuner(dev, bus, msg, TUNER_XC5000)) {
size = msg->len;

if (size == 2) { /* register write sub addr */
Expand Down Expand Up @@ -180,9 +193,7 @@ static int cx231xx_i2c_recv_bytes(struct i2c_adapter *i2c_adap,
u16 saddr = 0;
u8 need_gpio = 0;

if ((bus->nr == 1) && (msg->addr == 0x61)
&& dev->tuner_type == TUNER_XC5000) {

if (is_tuner(dev, bus, msg, TUNER_XC5000)) {
if (msg->len == 2)
saddr = msg->buf[0] << 8 | msg->buf[1];
else if (msg->len == 1)
Expand Down Expand Up @@ -274,9 +285,7 @@ static int cx231xx_i2c_recv_bytes_with_saddr(struct i2c_adapter *i2c_adap,
else if (msg1->len == 1)
saddr = msg1->buf[0];

if ((bus->nr == 1) && (msg2->addr == 0x61)
&& dev->tuner_type == TUNER_XC5000) {

if (is_tuner(dev, bus, msg2, TUNER_XC5000)) {
if ((msg2->len < 16)) {

dprintk1(1,
Expand Down Expand Up @@ -454,8 +463,8 @@ static char *i2c_devs[128] = {
[0x32 >> 1] = "GeminiIII",
[0x02 >> 1] = "Aquarius",
[0xa0 >> 1] = "eeprom",
[0xc0 >> 1] = "tuner/XC3028",
[0xc2 >> 1] = "tuner/XC5000",
[0xc0 >> 1] = "tuner",
[0xc2 >> 1] = "tuner",
};

/*
Expand Down

0 comments on commit bb405e6

Please sign in to comment.