Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / sound / oss / kahlua.c
index 2c07225..2835a7c 100644 (file)
@@ -28,6 +28,7 @@
  */
 
 #include <linux/config.h>
+#include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/pci.h>
@@ -55,7 +56,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 +156,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 +218,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)