if (mpu_port[dev] > 0) {
if (snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401,
- mpu_port[dev], 0, mpu_irq[dev], IRQF_DISABLED,
+ mpu_port[dev], 0, mpu_irq[dev], SA_INTERRUPT,
NULL) < 0)
printk(KERN_ERR PFX "no MPU-401 device at 0x%lx.\n", mpu_port[dev]);
}
return 0;
}
-static unsigned int __devinitdata ad1816a_devices;
-
static int __devinit snd_ad1816a_pnp_detect(struct pnp_card_link *card,
const struct pnp_card_device_id *id)
{
if (res < 0)
return res;
dev++;
- ad1816a_devices++;
return 0;
}
return -ENODEV;
static int __init alsa_card_ad1816a_init(void)
{
- int err;
-
- err = pnp_register_card_driver(&ad1816a_pnpc_driver);
- if (err)
- return err;
+ int cards;
- if (!ad1816a_devices) {
+ cards = pnp_register_card_driver(&ad1816a_pnpc_driver);
+ if (cards <= 0) {
pnp_unregister_card_driver(&ad1816a_pnpc_driver);
#ifdef MODULE
printk(KERN_ERR "no AD1816A based soundcards found.\n");