diff options
Diffstat (limited to 'sound/oss/sb_common.c')
| -rw-r--r-- | sound/oss/sb_common.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/sound/oss/sb_common.c b/sound/oss/sb_common.c index 5f955e3d2e2..3d50fb4236e 100644 --- a/sound/oss/sb_common.c +++ b/sound/oss/sb_common.c @@ -1,5 +1,5 @@ /* - * sound/sb_common.c + * sound/oss/sb_common.c * * Common routines for Sound Blaster compatible cards. * @@ -26,12 +26,12 @@ * Chris Rankin <rankinc@zipworld.com.au> */ -#include <linux/config.h> #include <linux/init.h> #include <linux/interrupt.h> #include <linux/module.h> #include <linux/delay.h> #include <linux/spinlock.h> +#include <linux/slab.h> #include "sound_config.h" #include "sound_firmware.h" @@ -133,7 +133,7 @@ static void sb_intr (sb_devc *devc) if (src & 4) /* MPU401 interrupt */ if(devc->midi_irq_cookie) - uart401intr(devc->irq, devc->midi_irq_cookie, NULL); + uart401intr(devc->irq, devc->midi_irq_cookie); if (!(src & 3)) return; /* Not a DSP interrupt */ @@ -158,7 +158,7 @@ static void sb_intr (sb_devc *devc) break; default: - /* printk(KERN_WARN "Sound Blaster: Unexpected interrupt\n"); */ + /* printk(KERN_WARNING "Sound Blaster: Unexpected interrupt\n"); */ ; } } @@ -178,7 +178,7 @@ static void sb_intr (sb_devc *devc) break; default: - /* printk(KERN_WARN "Sound Blaster: Unexpected interrupt\n"); */ + /* printk(KERN_WARNING "Sound Blaster: Unexpected interrupt\n"); */ ; } } @@ -201,7 +201,7 @@ static void pci_intr(sb_devc *devc) sb_intr(devc); } -static irqreturn_t sbintr(int irq, void *dev_id, struct pt_regs *dummy) +static irqreturn_t sbintr(int irq, void *dev_id) { sb_devc *devc = dev_id; @@ -226,8 +226,6 @@ int sb_dsp_reset(sb_devc * devc) { int loopc; - DEB(printk("Entered sb_dsp_reset()\n")); - if (devc->model == MDL_ESS) return ess_dsp_reset (devc); /* This is only for non-ESS chips */ @@ -246,8 +244,6 @@ int sb_dsp_reset(sb_devc * devc) return 0; /* Sorry */ } - DEB(printk("sb_dsp_reset() OK\n")); - return 1; } @@ -626,13 +622,12 @@ int sb_dsp_detect(struct address_info *hw_config, int pci, int pciio, struct sb_ */ - detected_devc = (sb_devc *)kmalloc(sizeof(sb_devc), GFP_KERNEL); + detected_devc = kmemdup(devc, sizeof(sb_devc), GFP_KERNEL); if (detected_devc == NULL) { printk(KERN_ERR "sb: Can't allocate memory for device information\n"); return 0; } - memcpy(detected_devc, devc, sizeof(sb_devc)); MDB(printk(KERN_INFO "SB %d.%02d detected OK (%x)\n", devc->major, devc->minor, hw_config->io_base)); return 1; } @@ -678,7 +673,7 @@ int sb_dsp_init(struct address_info *hw_config, struct module *owner) * will get shared PCI irq lines we must cope. */ - int i=(devc->caps&SB_PCI_IRQ)?SA_SHIRQ:0; + int i=(devc->caps&SB_PCI_IRQ)?IRQF_SHARED:0; if (request_irq(hw_config->irq, sbintr, i, "soundblaster", devc) < 0) { @@ -1229,7 +1224,8 @@ int probe_sbmpu(struct address_info *hw_config, struct module *owner) } attach_mpu401(hw_config, owner); if (last_sb->irq == -hw_config->irq) - last_sb->midi_irq_cookie=(void *)hw_config->slots[1]; + last_sb->midi_irq_cookie = + (void *)(long) hw_config->slots[1]; return 1; } #endif |
