Browse Source

[PATCH] v4l: 871: fixed bttv to accept radio devices like tea5767

- Fixed bttv to accept radio devices like tea5767

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ricardo Cerqueira 19 years ago
parent
commit
24d412289d
2 changed files with 7 additions and 8 deletions
  1. 1 3
      drivers/media/video/bttv-cards.c
  2. 6 5
      drivers/media/video/bttv-i2c.c

+ 1 - 3
drivers/media/video/bttv-cards.c

@@ -2721,13 +2721,11 @@ struct tvcard bttv_tvcards[] = {
 		.audiomux       = { 0, 1, 2, 2, 3 },
 		.needs_tvaudio  = 0,
 		.pll            = PLL_28,
-		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
+		.tuner_type     = TUNER_TENA_9533_DI,
 		.tuner_addr	= ADDR_UNSET,
 		.radio_addr     = ADDR_UNSET,
 		.has_remote     = 1,
-	#if 0
 		.has_radio      = 1,
-	#endif
 	},
 		/* ---- card 0x8a ---------------------------------- */
 	[BTTV_BOARD_PV_BT878P_2E] = {

+ 6 - 5
drivers/media/video/bttv-i2c.c

@@ -308,21 +308,22 @@ static int attach_inform(struct i2c_client *client)
 
 	if (btv->tuner_type != UNSET) {
 		struct tuner_setup tun_setup;
+		struct tuner *t = i2c_get_clientdata(client);
 
 		if ((addr==ADDR_UNSET)||(addr==client->addr)) {
 			tun_setup.mode_mask = T_ANALOG_TV | T_DIGITAL_TV;
 			tun_setup.type = btv->tuner_type;
 			tun_setup.addr = ADDR_UNSET;
 
-			client->driver->command (client, TUNER_SET_TYPE_ADDR, &tun_setup);
 		}
-		if ((radio_addr==ADDR_UNSET)||(radio_addr==client->addr)) {
+
+		if (t->type != UNSET && t->mode_mask == T_RADIO) {
+			tun_setup.type = t->type;
 			tun_setup.mode_mask =  T_RADIO;
-			tun_setup.type = btv->tuner_type;
 			tun_setup.addr = ADDR_UNSET;
-
-			client->driver->command (client, TUNER_SET_TYPE_ADDR, &tun_setup);
 		}
+
+		client->driver->command (client, TUNER_SET_TYPE_ADDR, &tun_setup);
 	}
 
 	if (btv->pinnacle_id != UNSET)