summaryrefslogtreecommitdiff
path: root/arch/m68k
diff options
context:
space:
mode:
authorFinn Thain <fthain@telegraphics.com.au>2009-11-03 16:39:56 +0300
committerGeert Uytterhoeven <geert@linux-m68k.org>2010-02-27 20:27:15 +0300
commit2724daf439d9f4e9f25c9fb8de8602ba61758478 (patch)
treeeb15e7240b92813d8e945869424b2616a57b3999 /arch/m68k
parent53aac0ad7cb32af5c25d432454f936b57bf8c11f (diff)
downloadlinux-2724daf439d9f4e9f25c9fb8de8602ba61758478.tar.xz
mac68k: rework SWIM platform device
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>
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/mac/config.c35
1 files changed, 16 insertions, 19 deletions
diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c
index cad55bc087df..e6666a30f24b 100644
--- a/arch/m68k/mac/config.c
+++ b/arch/m68k/mac/config.c
@@ -44,10 +44,6 @@
#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);