diff options
Diffstat (limited to 'drivers/media/video/bt8xx/bttv-cards.c')
-rw-r--r-- | drivers/media/video/bt8xx/bttv-cards.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/media/video/bt8xx/bttv-cards.c b/drivers/media/video/bt8xx/bttv-cards.c index 2d61ed6fb0b5..e6cdc9989e12 100644 --- a/drivers/media/video/bt8xx/bttv-cards.c +++ b/drivers/media/video/bt8xx/bttv-cards.c | |||
@@ -3370,10 +3370,9 @@ void __devinit bttv_init_card1(struct bttv *btv) | |||
3370 | /* initialization part two -- after registering i2c bus */ | 3370 | /* initialization part two -- after registering i2c bus */ |
3371 | void __devinit bttv_init_card2(struct bttv *btv) | 3371 | void __devinit bttv_init_card2(struct bttv *btv) |
3372 | { | 3372 | { |
3373 | int tda9887; | ||
3374 | int addr=ADDR_UNSET; | 3373 | int addr=ADDR_UNSET; |
3375 | 3374 | ||
3376 | btv->tuner_type = -1; | 3375 | btv->tuner_type = UNSET; |
3377 | 3376 | ||
3378 | if (BTTV_BOARD_UNKNOWN == btv->c.type) { | 3377 | if (BTTV_BOARD_UNKNOWN == btv->c.type) { |
3379 | bttv_readee(btv,eeprom_data,0xa0); | 3378 | bttv_readee(btv,eeprom_data,0xa0); |
@@ -3521,7 +3520,15 @@ void __devinit bttv_init_card2(struct bttv *btv) | |||
3521 | btv->tuner_type = bttv_tvcards[btv->c.type].tuner_type; | 3520 | btv->tuner_type = bttv_tvcards[btv->c.type].tuner_type; |
3522 | if (UNSET != tuner[btv->c.nr]) | 3521 | if (UNSET != tuner[btv->c.nr]) |
3523 | btv->tuner_type = tuner[btv->c.nr]; | 3522 | btv->tuner_type = tuner[btv->c.nr]; |
3524 | printk("bttv%d: using tuner=%d\n",btv->c.nr,btv->tuner_type); | 3523 | |
3524 | if (btv->tuner_type == TUNER_ABSENT || | ||
3525 | bttv_tvcards[btv->c.type].tuner == UNSET) | ||
3526 | printk(KERN_INFO "bttv%d: tuner absent\n", btv->c.nr); | ||
3527 | else if(btv->tuner_type == UNSET) | ||
3528 | printk(KERN_WARNING "bttv%d: tuner type unset\n", btv->c.nr); | ||
3529 | else | ||
3530 | printk(KERN_INFO "bttv%d: tuner type=%d\n", btv->c.nr, | ||
3531 | btv->tuner_type); | ||
3525 | 3532 | ||
3526 | if (btv->tuner_type != UNSET) { | 3533 | if (btv->tuner_type != UNSET) { |
3527 | struct tuner_setup tun_setup; | 3534 | struct tuner_setup tun_setup; |
@@ -3563,6 +3570,9 @@ void __devinit bttv_init_card2(struct bttv *btv) | |||
3563 | if (!autoload) | 3570 | if (!autoload) |
3564 | return; | 3571 | return; |
3565 | 3572 | ||
3573 | if (bttv_tvcards[btv->c.type].tuner == UNSET) | ||
3574 | return; /* no tuner or related drivers to load */ | ||
3575 | |||
3566 | /* try to detect audio/fader chips */ | 3576 | /* try to detect audio/fader chips */ |
3567 | if (!bttv_tvcards[btv->c.type].no_msp34xx && | 3577 | if (!bttv_tvcards[btv->c.type].no_msp34xx && |
3568 | bttv_I2CRead(btv, I2C_ADDR_MSP3400, "MSP34xx") >=0) | 3578 | bttv_I2CRead(btv, I2C_ADDR_MSP3400, "MSP34xx") >=0) |
@@ -3583,17 +3593,7 @@ void __devinit bttv_init_card2(struct bttv *btv) | |||
3583 | if (bttv_tvcards[btv->c.type].needs_tvaudio) | 3593 | if (bttv_tvcards[btv->c.type].needs_tvaudio) |
3584 | request_module("tvaudio"); | 3594 | request_module("tvaudio"); |
3585 | 3595 | ||
3586 | /* tuner modules */ | 3596 | if (btv->tuner_type != UNSET && btv->tuner_type != TUNER_ABSENT) |
3587 | tda9887 = 0; | ||
3588 | if (btv->tda9887_conf) | ||
3589 | tda9887 = 1; | ||
3590 | if (0 == tda9887 && 0 == bttv_tvcards[btv->c.type].has_dvb && | ||
3591 | bttv_I2CRead(btv, I2C_ADDR_TDA9887, "TDA9887") >=0) | ||
3592 | tda9887 = 1; | ||
3593 | /* Hybrid DVB card, DOES have a tda9887 */ | ||
3594 | if (btv->c.type == BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE) | ||
3595 | tda9887 = 1; | ||
3596 | if (btv->tuner_type != UNSET) | ||
3597 | request_module("tuner"); | 3597 | request_module("tuner"); |
3598 | } | 3598 | } |
3599 | 3599 | ||