diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/staging/tm6000/tm6000-cards.c | 17 | ||||
| -rw-r--r-- | drivers/staging/tm6000/tm6000-core.c | 16 | ||||
| -rw-r--r-- | drivers/staging/tm6000/tm6000.h | 2 |
3 files changed, 20 insertions, 15 deletions
diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c index 33b134b521be..22fbd75a551d 100644 --- a/drivers/staging/tm6000/tm6000-cards.c +++ b/drivers/staging/tm6000/tm6000-cards.c | |||
| @@ -363,13 +363,7 @@ int tm6000_tuner_callback(void *ptr, int component, int command, int arg) | |||
| 363 | tm6000_set_reg(dev, REQ_04_EN_DISABLE_MCU_INT, | 363 | tm6000_set_reg(dev, REQ_04_EN_DISABLE_MCU_INT, |
| 364 | 0x02, arg); | 364 | 0x02, arg); |
| 365 | msleep(10); | 365 | msleep(10); |
| 366 | rc = tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, | 366 | rc = tm6000_i2c_reset(dev, 10); |
| 367 | TM6000_GPIO_CLK, 0); | ||
| 368 | if (rc < 0) | ||
| 369 | return rc; | ||
| 370 | msleep(10); | ||
| 371 | rc = tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, | ||
| 372 | TM6000_GPIO_CLK, 1); | ||
| 373 | break; | 367 | break; |
| 374 | case XC2028_TUNER_RESET: | 368 | case XC2028_TUNER_RESET: |
| 375 | /* Reset codes during load firmware */ | 369 | /* Reset codes during load firmware */ |
| @@ -423,14 +417,7 @@ int tm6000_tuner_callback(void *ptr, int component, int command, int arg) | |||
| 423 | break; | 417 | break; |
| 424 | 418 | ||
| 425 | case 2: | 419 | case 2: |
| 426 | rc = tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, | 420 | rc = tm6000_i2c_reset(dev, 100); |
| 427 | TM6000_GPIO_CLK, 0); | ||
| 428 | if (rc < 0) | ||
| 429 | return rc; | ||
| 430 | msleep(100); | ||
| 431 | rc = tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, | ||
| 432 | TM6000_GPIO_CLK, 1); | ||
| 433 | msleep(100); | ||
| 434 | break; | 421 | break; |
| 435 | } | 422 | } |
| 436 | } | 423 | } |
diff --git a/drivers/staging/tm6000/tm6000-core.c b/drivers/staging/tm6000/tm6000-core.c index 1259ae550547..65feb8cb421c 100644 --- a/drivers/staging/tm6000/tm6000-core.c +++ b/drivers/staging/tm6000/tm6000-core.c | |||
| @@ -153,6 +153,22 @@ int tm6000_get_reg32 (struct tm6000_core *dev, u8 req, u16 value, u16 index) | |||
| 153 | return buf[3] | buf[2] << 8 | buf[1] << 16 | buf[0] << 24; | 153 | return buf[3] | buf[2] << 8 | buf[1] << 16 | buf[0] << 24; |
| 154 | } | 154 | } |
| 155 | 155 | ||
| 156 | int tm6000_i2c_reset(struct tm6000_core *dev, u16 tsleep) | ||
| 157 | { | ||
| 158 | int rc; | ||
| 159 | |||
| 160 | rc = tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, TM6000_GPIO_CLK, 0); | ||
| 161 | if (rc < 0) | ||
| 162 | return rc; | ||
| 163 | |||
| 164 | msleep(tsleep); | ||
| 165 | |||
| 166 | rc = tm6000_set_reg(dev, REQ_03_SET_GET_MCU_PIN, TM6000_GPIO_CLK, 1); | ||
| 167 | msleep(tsleep); | ||
| 168 | |||
| 169 | return rc; | ||
| 170 | } | ||
| 171 | |||
| 156 | void tm6000_set_fourcc_format(struct tm6000_core *dev) | 172 | void tm6000_set_fourcc_format(struct tm6000_core *dev) |
| 157 | { | 173 | { |
| 158 | if (dev->dev_type == TM6010) { | 174 | if (dev->dev_type == TM6010) { |
diff --git a/drivers/staging/tm6000/tm6000.h b/drivers/staging/tm6000/tm6000.h index 79ef72a3f431..7bbaf26dea14 100644 --- a/drivers/staging/tm6000/tm6000.h +++ b/drivers/staging/tm6000/tm6000.h | |||
| @@ -246,6 +246,8 @@ int tm6000_get_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index); | |||
| 246 | int tm6000_get_reg16(struct tm6000_core *dev, u8 req, u16 value, u16 index); | 246 | int tm6000_get_reg16(struct tm6000_core *dev, u8 req, u16 value, u16 index); |
| 247 | int tm6000_get_reg32(struct tm6000_core *dev, u8 req, u16 value, u16 index); | 247 | int tm6000_get_reg32(struct tm6000_core *dev, u8 req, u16 value, u16 index); |
| 248 | int tm6000_set_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index); | 248 | int tm6000_set_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index); |
| 249 | int tm6000_i2c_reset(struct tm6000_core *dev, u16 tsleep); | ||
| 250 | |||
| 249 | int tm6000_init (struct tm6000_core *dev); | 251 | int tm6000_init (struct tm6000_core *dev); |
| 250 | 252 | ||
| 251 | int tm6000_init_analog_mode (struct tm6000_core *dev); | 253 | int tm6000_init_analog_mode (struct tm6000_core *dev); |
