From: Mauro Carvalho Chehab Date: Mon, 4 Dec 2006 11:31:35 +0000 (-0300) Subject: V4L/DVB (4934): Usbvision radio requires GainNormal at e register X-Git-Tag: v3.12-rc1~32223^2~18^2~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cefccc8011c58b559498396f0ccefa0a0ffa3f53;p=kernel%2Fkernel-generic.git 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 --- diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c index 87ffb0e..fde576f 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) 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/drivers/media/video/usbvision/usbvision-core.c b/drivers/media/video/usbvision/usbvision-core.c index 0365c7f..b5aa318 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) 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/include/media/tuner.h b/include/media/tuner.h index 3116e75..99acf84 100644 --- a/include/media/tuner.h +++ b/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__