fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / sound / oss / kahlua.c
index 2c07225..12e7b30 100644 (file)
@@ -27,7 +27,7 @@
  *     same manner.
  */
 
-#include <linux/config.h>
+#include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/pci.h>
@@ -55,7 +55,7 @@ static int __devinit probe_one(struct pci_dev *pdev, const struct pci_device_id
 {
        struct address_info *hw_config;
        unsigned long base;
-       void *mem;
+       void __iomem *mem;
        unsigned long io;
        u16 map;
        u8 irq, dma8, dma16;
@@ -155,10 +155,14 @@ static int __devinit probe_one(struct pci_dev *pdev, const struct pci_device_id
        hw_config->dma2 = dma16;
        hw_config->name = "Cyrix XpressAudio";
        hw_config->driver_use_1 = SB_NO_MIDI | SB_PCI_IRQ;
+
+       if (!request_region(io, 16, "soundblaster"))
+               goto err_out_free;
        
        if(sb_dsp_detect(hw_config, 0, 0, NULL)==0)
        {
                printk(KERN_ERR "kahlua: audio not responding.\n");
+               release_region(io, 16);
                goto err_out_free;
        }
 
@@ -213,7 +217,7 @@ static struct pci_driver kahlua_driver = {
 static int __init kahlua_init_module(void)
 {
        printk(KERN_INFO "Cyrix Kahlua VSA1 XpressAudio support (c) Copyright 2003 Red Hat Inc\n");
-       return pci_module_init(&kahlua_driver);
+       return pci_register_driver(&kahlua_driver);
 }
 
 static void __devexit kahlua_cleanup_module(void)