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