summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/bttv-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/bttv-cards.c')
-rw-r--r--linux/drivers/media/video/bttv-cards.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/linux/drivers/media/video/bttv-cards.c b/linux/drivers/media/video/bttv-cards.c
index a2f8920e8..8f4215c35 100644
--- a/linux/drivers/media/video/bttv-cards.c
+++ b/linux/drivers/media/video/bttv-cards.c
@@ -1,5 +1,5 @@
/*
- $Id: bttv-cards.c,v 1.50 2005/06/22 22:58:04 mchehab Exp $
+ $Id: bttv-cards.c,v 1.51 2005/07/02 15:24:11 nsh Exp $
bttv-cards.c
@@ -2823,10 +2823,18 @@ void __devinit bttv_init_card2(struct bttv *btv)
btv->tuner_type = tuner[btv->c.nr];
printk("bttv%d: using tuner=%d\n",btv->c.nr,btv->tuner_type);
if (btv->pinnacle_id != UNSET)
- bttv_call_i2c_clients(btv,AUDC_CONFIG_PINNACLE,
+ bttv_call_i2c_clients(btv, AUDC_CONFIG_PINNACLE,
&btv->pinnacle_id);
- if (btv->tuner_type != UNSET)
- bttv_call_i2c_clients(btv,TUNER_SET_TYPE,&btv->tuner_type);
+ if (btv->tuner_type != UNSET) {
+ struct tuner_addr tun_addr;
+
+ tun_addr.state = T_RADIO | T_ANALOG_TV | T_DIGITAL_TV;
+ tun_addr.type = btv->tuner_type;
+ tun_addr.addr = ADDR_UNSET;
+
+ bttv_call_i2c_clients(btv, TUNER_SET_TYPE_ADDR, &tun_addr);
+ }
+
btv->svhs = bttv_tvcards[btv->c.type].svhs;
if (svhs[btv->c.nr] != UNSET)
btv->svhs = svhs[btv->c.nr];