diff options
Diffstat (limited to 'drivers/media/video/tuner-simple.c')
| -rw-r--r-- | drivers/media/video/tuner-simple.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c index d071c5cbf013..abe37cf632c6 100644 --- a/drivers/media/video/tuner-simple.c +++ b/drivers/media/video/tuner-simple.c | |||
| @@ -339,7 +339,20 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq) | |||
| 339 | if (4 != (rc = i2c_master_send(c,buffer,4))) | 339 | if (4 != (rc = i2c_master_send(c,buffer,4))) |
| 340 | tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc); | 340 | tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc); |
| 341 | 341 | ||
| 342 | if (t->type == TUNER_MICROTUNE_4042FI5) { | 342 | switch (t->type) { |
| 343 | case TUNER_LG_TDVS_H06XF: | ||
| 344 | /* Set the Auxiliary Byte. */ | ||
| 345 | buffer[0] = buffer[2]; | ||
| 346 | buffer[0] &= ~0x20; | ||
| 347 | buffer[0] |= 0x18; | ||
| 348 | buffer[1] = 0x20; | ||
| 349 | tuner_dbg("tv 0x%02x 0x%02x\n",buffer[0],buffer[1]); | ||
| 350 | |||
| 351 | if (2 != (rc = i2c_master_send(c,buffer,2))) | ||
| 352 | tuner_warn("i2c i/o error: rc == %d (should be 2)\n",rc); | ||
| 353 | break; | ||
| 354 | case TUNER_MICROTUNE_4042FI5: | ||
| 355 | { | ||
| 343 | // FIXME - this may also work for other tuners | 356 | // FIXME - this may also work for other tuners |
| 344 | unsigned long timeout = jiffies + msecs_to_jiffies(1); | 357 | unsigned long timeout = jiffies + msecs_to_jiffies(1); |
| 345 | u8 status_byte = 0; | 358 | u8 status_byte = 0; |
| @@ -364,10 +377,12 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq) | |||
| 364 | buffer[2] = config; | 377 | buffer[2] = config; |
| 365 | buffer[3] = cb; | 378 | buffer[3] = cb; |
| 366 | tuner_dbg("tv 0x%02x 0x%02x 0x%02x 0x%02x\n", | 379 | tuner_dbg("tv 0x%02x 0x%02x 0x%02x 0x%02x\n", |
| 367 | buffer[0],buffer[1],buffer[2],buffer[3]); | 380 | buffer[0],buffer[1],buffer[2],buffer[3]); |
| 368 | 381 | ||
| 369 | if (4 != (rc = i2c_master_send(c,buffer,4))) | 382 | if (4 != (rc = i2c_master_send(c,buffer,4))) |
| 370 | tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc); | 383 | tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc); |
| 384 | break; | ||
| 385 | } | ||
| 371 | } | 386 | } |
| 372 | } | 387 | } |
| 373 | 388 | ||
