aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2006-12-04 06:31:35 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-12-10 06:05:51 -0500
commitcefccc8011c58b559498396f0ccefa0a0ffa3f53 (patch)
treeea31f846a74757ea42ec407efcd724eff05b9e38
parent3086d6cb0a2ec93f17bc215af3113c54af6080c1 (diff)
V4L/DVB (4934): Usbvision radio requires GainNormal at e register
Adds an option to select GainNormal at tda9887 and make usbvision to use it. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/tda9887.c6
-rw-r--r--drivers/media/video/usbvision/usbvision-core.c3
-rw-r--r--include/media/tuner.h1
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c
index 87ffb0e84a7a..fde576f1101c 100644
--- a/drivers/media/video/tda9887.c
+++ b/drivers/media/video/tda9887.c
@@ -482,6 +482,12 @@ static int tda9887_set_config(struct tuner *t, char *buf)
482 buf[1] &= ~cQSS; 482 buf[1] &= ~cQSS;
483 if (t->tda9887_config & TDA9887_GATING_18) 483 if (t->tda9887_config & TDA9887_GATING_18)
484 buf[3] &= ~cGating_36; 484 buf[3] &= ~cGating_36;
485
486 if (t->tda9887_config & TDA9887_GAIN_NORMAL) {
487 radio_stereo.e &= ~cTunerGainLow;
488 radio_mono.e &= ~cTunerGainLow;
489 }
490
485 return 0; 491 return 0;
486} 492}
487 493
diff --git a/drivers/media/video/usbvision/usbvision-core.c b/drivers/media/video/usbvision/usbvision-core.c
index 0365c7f93972..b5aa3185402d 100644
--- a/drivers/media/video/usbvision/usbvision-core.c
+++ b/drivers/media/video/usbvision/usbvision-core.c
@@ -2585,12 +2585,15 @@ static int attach_inform(struct i2c_client *client)
2585 case 0x4b: 2585 case 0x4b:
2586 { 2586 {
2587 struct tuner_setup tun_setup; 2587 struct tuner_setup tun_setup;
2588 unsigned int tda9887_conf = TDA9887_GAIN_NORMAL;
2588 2589
2589 tun_setup.mode_mask = T_ANALOG_TV | T_RADIO; 2590 tun_setup.mode_mask = T_ANALOG_TV | T_RADIO;
2590 tun_setup.type = TUNER_TDA9887; 2591 tun_setup.type = TUNER_TDA9887;
2591 tun_setup.addr = client->addr; 2592 tun_setup.addr = client->addr;
2592 2593
2593 call_i2c_clients(usbvision, TUNER_SET_TYPE_ADDR, &tun_setup); 2594 call_i2c_clients(usbvision, TUNER_SET_TYPE_ADDR, &tun_setup);
2595 call_i2c_clients(usbvision,TDA9887_SET_CONFIG, &tda9887_conf);
2596
2594 break; 2597 break;
2595 } 2598 }
2596 case 0x42: 2599 case 0x42:
diff --git a/include/media/tuner.h b/include/media/tuner.h
index 3116e750132f..99acf847365c 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -145,6 +145,7 @@ extern int tuner_debug;
145#define TDA9887_DEEMPHASIS_75 (3<<16) 145#define TDA9887_DEEMPHASIS_75 (3<<16)
146#define TDA9887_AUTOMUTE (1<<18) 146#define TDA9887_AUTOMUTE (1<<18)
147#define TDA9887_GATING_18 (1<<19) 147#define TDA9887_GATING_18 (1<<19)
148#define TDA9887_GAIN_NORMAL (1<<20)
148 149
149#ifdef __KERNEL__ 150#ifdef __KERNEL__
150 151