mac68k: rework SWIM platform device
authorFinn Thain <fthain@telegraphics.com.au>
Tue, 3 Nov 2009 13:39:56 +0000 (00:39 +1100)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Sat, 27 Feb 2010 17:27:15 +0000 (18:27 +0100)
Adjust the platform device code to conform with the code style used in the
rest of this patch series. No need to name resources nor to register
devices which are not applicable.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/mac/config.c
drivers/block/swim.c

index cad55bc087dfb1e7a367bf5798969c2807dd4088..e6666a30f24be691ddf51b82ab9cd527c599255f 100644 (file)
 #include <asm/mac_oss.h>
 #include <asm/mac_psc.h>
 
-/* platform device info */
-
-#define SWIM_IO_SIZE 0x2000    /* SWIM IO resource size */
-
 /* Mac bootinfo struct */
 struct mac_booter_data mac_bi_data;
 
@@ -862,23 +858,23 @@ static void mac_get_model(char *str)
        strcat(str, macintosh_config->name);
 }
 
-static struct resource swim_resources[1];
+static struct resource swim_rsrc = { .flags = IORESOURCE_MEM };
 
-static struct platform_device swim_device = {
+static struct platform_device swim_pdev = {
        .name           = "swim",
        .id             = -1,
-       .num_resources  = ARRAY_SIZE(swim_resources),
-       .resource       = swim_resources,
-};
-
-static struct platform_device *mac_platform_devices[] __initdata = {
-       &swim_device
+       .num_resources  = 1,
+       .resource       = &swim_rsrc,
 };
 
 int __init mac_platform_init(void)
 {
        u8 *swim_base;
 
+       /*
+        * Floppy device
+        */
+
        switch (macintosh_config->floppy_type) {
        case MAC_FLOPPY_SWIM_ADDR1:
                swim_base = (u8 *)(VIA1_BASE + 0x1E000);
@@ -887,16 +883,17 @@ int __init mac_platform_init(void)
                swim_base = (u8 *)(VIA1_BASE + 0x16000);
                break;
        default:
-               return 0;
+               swim_base = NULL;
+               break;
        }
 
-       swim_resources[0].name = "swim-regs";
-       swim_resources[0].start = (resource_size_t)swim_base;
-       swim_resources[0].end = (resource_size_t)(swim_base + SWIM_IO_SIZE);
-       swim_resources[0].flags = IORESOURCE_MEM;
+       if (swim_base) {
+               swim_rsrc.start = (resource_size_t) swim_base,
+               swim_rsrc.end   = (resource_size_t) swim_base + 0x2000,
+               platform_device_register(&swim_pdev);
+       }
 
-       return platform_add_devices(mac_platform_devices,
-                                   ARRAY_SIZE(mac_platform_devices));
+       return 0;
 }
 
 arch_initcall(mac_platform_init);
index 8f569e3df8903d3fc8103c824fa212f5ef058948..821c2833f9cf343407df6b90367567ac6fd99e3a 100644 (file)
@@ -864,7 +864,7 @@ static int __devinit swim_probe(struct platform_device *dev)
        struct swim_priv *swd;
        int ret;
 
-       res = platform_get_resource_byname(dev, IORESOURCE_MEM, "swim-regs");
+       res = platform_get_resource(dev, IORESOURCE_MEM, 0);
        if (!res) {
                ret = -ENODEV;
                goto out;
@@ -942,7 +942,7 @@ static int __devexit swim_remove(struct platform_device *dev)
 
        iounmap(swd->base);
 
-       res = platform_get_resource_byname(dev, IORESOURCE_MEM, "swim-regs");
+       res = platform_get_resource(dev, IORESOURCE_MEM, 0);
        if (res)
                release_mem_region(res->start, resource_size(res));