aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/pci/bt8xx
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-02-06 10:43:37 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-03-05 12:23:37 -0500
commitfafdc26b8558838988f406abef27d6dcc5b3dd76 (patch)
treeff060dddb23c25701f1bcf7fa644b3b3205c7771 /drivers/media/pci/bt8xx
parent6795cc55506606988175c16aa0e17d9f349706ca (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/bt8xx')
-rw-r--r--drivers/media/pci/bt8xx/bttv-cards.c14
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