fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / sound / oss / emu10k1 / main.c
index 8f6f2df..6c59df7 100644 (file)
@@ -94,6 +94,7 @@
 #include <linux/init.h>
 #include <linux/delay.h>
 #include <linux/proc_fs.h>
+#include <linux/dma-mapping.h>
 
 #include "hwaccess.h"
 #include "8010.h"
  
 
 /* the emu10k1 _seems_ to only supports 29 bit (512MiB) bit bus master */
-#define EMU10K1_DMA_MASK                0x1fffffff     /* DMA buffer mask for pci_alloc_consist */
+#define EMU10K1_DMA_MASK DMA_29BIT_MASK        /* DMA buffer mask for pci_alloc_consist */
 
 #ifndef PCI_VENDOR_ID_CREATIVE
 #define PCI_VENDOR_ID_CREATIVE 0x1102
@@ -166,7 +167,7 @@ extern struct file_operations emu10k1_midi_fops;
 static struct midi_operations emu10k1_midi_operations;
 #endif
 
-extern irqreturn_t emu10k1_interrupt(int, void *, struct pt_regs *s);
+extern irqreturn_t emu10k1_interrupt(int, void *);
 
 static int __devinit emu10k1_audio_init(struct emu10k1_card *card)
 {
@@ -309,8 +310,8 @@ static void emu10k1_unregister_devices(struct emu10k1_card *card)
        unregister_sound_dsp(card->audio_dev);
 }
 
-int emu10k1_info_proc (char *page, char **start, off_t off,
-                   int count, int *eof, void *data)
+static int emu10k1_info_proc (char *page, char **start, off_t off,
+                             int count, int *eof, void *data)
 {
        struct emu10k1_card *card = data;
        int len = 0;
@@ -524,7 +525,7 @@ static void __devinit timer_init(struct emu10k1_card *card)
 {
        INIT_LIST_HEAD(&card->timers);
        card->timer_delay = TIMER_STOPPED;
-       card->timer_lock = SPIN_LOCK_UNLOCKED;
+       spin_lock_init(&card->timer_lock);
 }
 
 static void __devinit addxmgr_init(struct emu10k1_card *card)
@@ -873,7 +874,7 @@ static int __devinit fx_init(struct emu10k1_card *card)
                sblive_writeptr(card, DBG, 0, 0);
        }
 
-       mgr->lock = SPIN_LOCK_UNLOCKED;
+       spin_lock_init(&mgr->lock);
 
        // Set up Volume controls, try to keep this the same for both Audigy and Live
 
@@ -1300,7 +1301,7 @@ static int __devinit emu10k1_probe(struct pci_dev *pci_dev, const struct pci_dev
        card->pci_dev = pci_dev;
 
        /* Reserve IRQ Line */
-       if (request_irq(card->irq, emu10k1_interrupt, SA_SHIRQ, card_names[pci_id->driver_data], card)) {
+       if (request_irq(card->irq, emu10k1_interrupt, IRQF_SHARED, card_names[pci_id->driver_data], card)) {
                printk(KERN_ERR "emu10k1: IRQ in use\n");
                ret = -EBUSY;
                goto err_irq;
@@ -1320,7 +1321,7 @@ static int __devinit emu10k1_probe(struct pci_dev *pci_dev, const struct pci_dev
        card->is_aps = (subsysvid == EMU_APS_SUBID);
 
        spin_lock_init(&card->lock);
-       init_MUTEX(&card->open_sem);
+       mutex_init(&card->open_sem);
        card->open_mode = 0;
        init_waitqueue_head(&card->open_wait);
 
@@ -1428,7 +1429,7 @@ static int __init emu10k1_init_module(void)
 {
        printk(KERN_INFO "Creative EMU10K1 PCI Audio Driver, version " DRIVER_VERSION ", " __TIME__ " " __DATE__ "\n");
 
-       return pci_module_init(&emu10k1_pci_driver);
+       return pci_register_driver(&emu10k1_pci_driver);
 }
 
 static void __exit emu10k1_cleanup_module(void)