git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
sound
/
drivers
/
mtpav.c
diff --git
a/sound/drivers/mtpav.c
b/sound/drivers/mtpav.c
index
b7a0b42
..
a9ff391
100644
(file)
--- a/
sound/drivers/mtpav.c
+++ b/
sound/drivers/mtpav.c
@@
-570,7
+570,7
@@
static void snd_mtpav_read_bytes(struct mtpav *mcrd)
} while (sbyt & SIGS_BYTE);
}
} while (sbyt & SIGS_BYTE);
}
-static irqreturn_t snd_mtpav_irqh(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t snd_mtpav_irqh(int irq, void *dev_id)
{
struct mtpav *mcard = dev_id;
{
struct mtpav *mcard = dev_id;
@@
-590,7
+590,7
@@
static int __init snd_mtpav_get_ISA(struct mtpav * mcard)
return -EBUSY;
}
mcard->port = port;
return -EBUSY;
}
mcard->port = port;
- if (request_irq(irq, snd_mtpav_irqh,
SA_INTERRUPT
, "MOTU MTPAV", mcard)) {
+ if (request_irq(irq, snd_mtpav_irqh,
IRQF_DISABLED
, "MOTU MTPAV", mcard)) {
snd_printk("MTVAP IRQ %d busy\n", irq);
return -EBUSY;
}
snd_printk("MTVAP IRQ %d busy\n", irq);
return -EBUSY;
}
@@
-770,11
+770,15
@@
static int __init alsa_card_mtpav_init(void)
return err;
device = platform_device_register_simple(SND_MTPAV_DRIVER, -1, NULL, 0);
return err;
device = platform_device_register_simple(SND_MTPAV_DRIVER, -1, NULL, 0);
- if (IS_ERR(device)) {
- platform_driver_unregister(&snd_mtpav_driver);
- return PTR_ERR(device);
- }
- return 0;
+ if (!IS_ERR(device)) {
+ if (platform_get_drvdata(device))
+ return 0;
+ platform_device_unregister(device);
+ err = -ENODEV;
+ } else
+ err = PTR_ERR(device);
+ platform_driver_unregister(&snd_mtpav_driver);
+ return err;
}
static void __exit alsa_card_mtpav_exit(void)
}
static void __exit alsa_card_mtpav_exit(void)