diff options
Diffstat (limited to 'linux/drivers/media/video/bttv-cards.c')
-rw-r--r-- | linux/drivers/media/video/bttv-cards.c | 16 |
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]; |