summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2006-12-04 09:31:35 -0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-12-04 09:31:35 -0200
commitb32f817f3ce7515de06fa1513b37597860ef47a4 (patch)
tree14134327f9c11dee1f7eff24c24f46c00a8f44e4 /linux
parent3e594a0eee60f61694381be3d4682e35a692519d (diff)
downloadmediapointer-dvb-s2-b32f817f3ce7515de06fa1513b37597860ef47a4.tar.gz
mediapointer-dvb-s2-b32f817f3ce7515de06fa1513b37597860ef47a4.tar.bz2
Usbvision radio requires GainNormal at e register
From: Mauro Carvalho Chehab <mchehab@infradead.org> Adds an option to select GainNormal at tda9887 and make usbvision to use it. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/tda9887.c6
-rw-r--r--linux/drivers/media/video/usbvision/usbvision-core.c3
-rw-r--r--linux/include/media/tuner.h1
3 files changed, 10 insertions, 0 deletions
diff --git a/linux/drivers/media/video/tda9887.c b/linux/drivers/media/video/tda9887.c
index 41be60aee..a1577cff9 100644
--- a/linux/drivers/media/video/tda9887.c
+++ b/linux/drivers/media/video/tda9887.c
@@ -493,6 +493,12 @@ static int tda9887_set_config(struct tuner *t, char *buf)
buf[1] &= ~cQSS;
if (t->tda9887_config & TDA9887_GATING_18)
buf[3] &= ~cGating_36;
+
+ if (t->tda9887_config & TDA9887_GAIN_NORMAL) {
+ radio_stereo.e &= ~cTunerGainLow;
+ radio_mono.e &= ~cTunerGainLow;
+ }
+
return 0;
}
diff --git a/linux/drivers/media/video/usbvision/usbvision-core.c b/linux/drivers/media/video/usbvision/usbvision-core.c
index 52ddebac7..c74626310 100644
--- a/linux/drivers/media/video/usbvision/usbvision-core.c
+++ b/linux/drivers/media/video/usbvision/usbvision-core.c
@@ -2714,12 +2714,15 @@ static int attach_inform(struct i2c_client *client)
case 0x4b:
{
struct tuner_setup tun_setup;
+ unsigned int tda9887_conf = TDA9887_GAIN_NORMAL;
tun_setup.mode_mask = T_ANALOG_TV | T_RADIO;
tun_setup.type = TUNER_TDA9887;
tun_setup.addr = client->addr;
call_i2c_clients(usbvision, TUNER_SET_TYPE_ADDR, &tun_setup);
+ call_i2c_clients(usbvision,TDA9887_SET_CONFIG, &tda9887_conf);
+
break;
}
case 0x42:
diff --git a/linux/include/media/tuner.h b/linux/include/media/tuner.h
index b60d6495f..947b32366 100644
--- a/linux/include/media/tuner.h
+++ b/linux/include/media/tuner.h
@@ -145,6 +145,7 @@ extern int tuner_debug;
#define TDA9887_DEEMPHASIS_75 (3<<16)
#define TDA9887_AUTOMUTE (1<<18)
#define TDA9887_GATING_18 (1<<19)
+#define TDA9887_GAIN_NORMAL (1<<20)
#ifdef __KERNEL__