- moved platform structure to platform.c
Pete Popov [Thu, 15 Sep 2005 23:42:27 +0000 (23:42 +0000)]
- fixed an iounmap warning
- export fixup_xx, needed by the module

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

arch/mips/au1000/common/platform.c
arch/mips/au1000/common/setup.c
drivers/pcmcia/au1000_generic.c

index 4aca18f..a5e3ea4 100644 (file)
@@ -209,8 +209,14 @@ static struct platform_device au1200_ide0_device = {
 
 #endif
 
+static struct platform_device au1x00_pcmcia_device = {
+       .name           = "au1x00-pcmcia",
+       .id             = 0,
+};
+
 static struct platform_device *au1xxx_platform_devices[] __initdata = {
        &au1xxx_usb_ohci_device,
+       &au1x00_pcmcia_device,
 #ifdef CONFIG_FB_AU1100
        &au1100_lcd_device,
 #endif
index c1e102e..1ef15d5 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/mm.h>
 #include <linux/delay.h>
 #include <linux/interrupt.h>
+#include <linux/module.h>
 
 #include <asm/cpu.h>
 #include <asm/bootinfo.h>
@@ -186,4 +187,5 @@ phys_t __fixup_bigphys_addr(phys_t phys_addr, phys_t size)
        /* default nop */
        return phys_addr;
 }
+EXPORT_SYMBOL(__fixup_bigphys_addr);
 #endif
index d90a634..ba48cef 100644 (file)
@@ -490,7 +490,7 @@ int au1x00_drv_pcmcia_remove(struct device *dev)
                flush_scheduled_work();
                skt->ops->hw_shutdown(skt);
                au1x00_pcmcia_config_skt(skt, &dead_socket);
-               iounmap(skt->virt_io);
+               iounmap(skt->virt_io + (u32)mips_io_port_base);
                skt->virt_io = NULL;
        }
 
@@ -528,10 +528,6 @@ static struct device_driver au1x00_pcmcia_driver = {
        .resume         = pcmcia_socket_dev_resume,
 };
 
-static struct platform_device au1x00_device = {
-       .name = "au1x00-pcmcia",
-       .id = 0,
-};
 
 /* au1x00_pcmcia_init()
  *
@@ -545,7 +541,6 @@ static int __init au1x00_pcmcia_init(void)
        int error = 0;
        if ((error = driver_register(&au1x00_pcmcia_driver)))
                return error;
-       platform_device_register(&au1x00_device);
        return error;
 }
 
@@ -556,7 +551,6 @@ static int __init au1x00_pcmcia_init(void)
 static void __exit au1x00_pcmcia_exit(void)
 {
        driver_unregister(&au1x00_pcmcia_driver);
-       platform_device_unregister(&au1x00_device);
 }
 
 module_init(au1x00_pcmcia_init);