Commit 5c164646 authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

[media] bttv: Use btv->has_radio rather then the card info when registering the tuner

bttv_init_card2() sets btv->has_audio to a *default* value from the tvcards
array and then may update it by reading a card specific eeprom or gpio
detection.

After bttv_init_card2(), bttv_init_tuner() gets called, and it should clearly
use the updated, dynamic has_radio value from btv->has_radio, rather then
the const value in the tvcards array.

This fixes the radio not working on my Hauppauge WinTV.
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 40e006ae
...@@ -3649,7 +3649,7 @@ void __devinit bttv_init_tuner(struct bttv *btv) ...@@ -3649,7 +3649,7 @@ void __devinit bttv_init_tuner(struct bttv *btv)
struct tuner_setup tun_setup; struct tuner_setup tun_setup;
/* Load tuner module before issuing tuner config call! */ /* Load tuner module before issuing tuner config call! */
if (bttv_tvcards[btv->c.type].has_radio) if (btv->has_radio)
v4l2_i2c_new_subdev(&btv->c.v4l2_dev, v4l2_i2c_new_subdev(&btv->c.v4l2_dev,
&btv->c.i2c_adap, "tuner", &btv->c.i2c_adap, "tuner",
0, v4l2_i2c_tuner_addrs(ADDRS_RADIO)); 0, v4l2_i2c_tuner_addrs(ADDRS_RADIO));
...@@ -3664,7 +3664,7 @@ void __devinit bttv_init_tuner(struct bttv *btv) ...@@ -3664,7 +3664,7 @@ void __devinit bttv_init_tuner(struct bttv *btv)
tun_setup.type = btv->tuner_type; tun_setup.type = btv->tuner_type;
tun_setup.addr = addr; tun_setup.addr = addr;
if (bttv_tvcards[btv->c.type].has_radio) if (btv->has_radio)
tun_setup.mode_mask |= T_RADIO; tun_setup.mode_mask |= T_RADIO;
bttv_call_all(btv, tuner, s_type_addr, &tun_setup); bttv_call_all(btv, tuner, s_type_addr, &tun_setup);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment