diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-02-06 10:43:37 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-05 12:23:37 -0500 |
commit | fafdc26b8558838988f406abef27d6dcc5b3dd76 (patch) | |
tree | ff060dddb23c25701f1bcf7fa644b3b3205c7771 /drivers/media/pci | |
parent | 6795cc55506606988175c16aa0e17d9f349706ca (diff) |
[media] bttv: there may be multiple tvaudio/tda7432 devices
Probe for additional tvaudio devices, and allow tvaudio+tda7432 to
co-exist. My STB TV PCI FM bttv card has a tda7432, a tda9850 and a
tea6420 and with this patch it finally works again (probably for the
first time in many years).
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/pci')
-rw-r--r-- | drivers/media/pci/bt8xx/bttv-cards.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/media/pci/bt8xx/bttv-cards.c b/drivers/media/pci/bt8xx/bttv-cards.c index 682ed893d718..fa0faaa2a49a 100644 --- a/drivers/media/pci/bt8xx/bttv-cards.c +++ b/drivers/media/pci/bt8xx/bttv-cards.c | |||
@@ -3547,6 +3547,16 @@ void bttv_init_card2(struct bttv *btv) | |||
3547 | if (btv->sd_msp34xx) | 3547 | if (btv->sd_msp34xx) |
3548 | return; | 3548 | return; |
3549 | 3549 | ||
3550 | /* Now see if we can find one of the tvaudio devices. */ | ||
3551 | btv->sd_tvaudio = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, | ||
3552 | &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); | ||
3553 | if (btv->sd_tvaudio) { | ||
3554 | /* There may be two tvaudio chips on the card, so try to | ||
3555 | find another. */ | ||
3556 | v4l2_i2c_new_subdev(&btv->c.v4l2_dev, | ||
3557 | &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); | ||
3558 | } | ||
3559 | |||
3550 | /* it might also be a tda7432. */ | 3560 | /* it might also be a tda7432. */ |
3551 | if (!bttv_tvcards[btv->c.type].no_tda7432) { | 3561 | if (!bttv_tvcards[btv->c.type].no_tda7432) { |
3552 | static const unsigned short addrs[] = { | 3562 | static const unsigned short addrs[] = { |
@@ -3559,10 +3569,6 @@ void bttv_init_card2(struct bttv *btv) | |||
3559 | if (btv->sd_tda7432) | 3569 | if (btv->sd_tda7432) |
3560 | return; | 3570 | return; |
3561 | } | 3571 | } |
3562 | |||
3563 | /* Now see if we can find one of the tvaudio devices. */ | ||
3564 | btv->sd_tvaudio = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, | ||
3565 | &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); | ||
3566 | if (btv->sd_tvaudio) | 3572 | if (btv->sd_tvaudio) |
3567 | return; | 3573 | return; |
3568 | 3574 | ||