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>
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 @@
 		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 @@
 		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 @@
 #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__