On Thu, 13 Nov 2008, Laurent Vivier wrote:
+ +/* IWM registers */ + +#define ph0L 0x0000 +#define ph0H 0x0200 +#define ph1L 0x0400 +#define ph1H 0x0600 +#define ph2L 0x0800 +#define ph2H 0x0a00 +#define ph3L 0x0c00 +#define ph3H 0x0e00 +#define mtrOff 0x1000 +#define mtrOn 0x1200 +#define intDrive 0x1400 +#define extDrive 0x1600 +#define q6L 0x1800 +#define q6H 0x1a00 +#define q7L 0x1c00 +#define q7H 0x1e00
The style guide says macro names should be in uppercase.
... Index: linux-2.6/arch/m68k/mac/config.c =================================================================== --- linux-2.6.orig/arch/m68k/mac/config.c 2008-11-12 18:17:52.000000000 +0100 +++ linux-2.6/arch/m68k/mac/config.c 2008-11-12 18:17:55.000000000 +0100 @@ -22,6 +22,7 @@ /* keyb */ #include <linux/init.h> #include <linux/vt_kern.h> +#include <linux/platform_device.h> #define BOOTINFO_COMPAT_1_0 #include <asm/setup.h> @@ -882,3 +883,42 @@ strcpy(str, "Macintosh "); strcat(str, macintosh_config->name); } + +static struct resource swim_resources[1]; + +static struct platform_device swim_device = { + .name = "swim", + .id = -1, + .num_resources = ARRAY_SIZE(swim_resources), + .resource = swim_resources, +}; + +static struct platform_device *mac_platform_devices[] __initdata = { + &swim_device +}; + +int __init mac_platform_init(void) +{ + u8 *swim_base; + + switch (macintosh_config->floppy_type) { + case MAC_FLOPPY_SWIM_ADDR1: + swim_base = (u8 *)(VIA1_BASE + 0x1E000); + break; + case MAC_FLOPPY_SWIM_ADDR2: + swim_base = (u8 *)(VIA1_BASE + 0x16000); + break; + default: + return 0; + } + + swim_resources[0].name = "swim-regs"; + swim_resources[0].start = (resource_size_t)swim_base; + swim_resources[0].end = (resource_size_t)(swim_base + 0x2000); + swim_resources[0].flags = IORESOURCE_MEM; + + return platform_add_devices(mac_platform_devices, + ARRAY_SIZE(mac_platform_devices)); +} + +arch_initcall(mac_platform_init);
Looks fine to me as long as we can be certain that the arch_initcall happens after config_mac() runs... I guess that the bloat that this approach will cause when we adopt it more widely can be dealt with later by dynamically allocating resources and devices based on mac model (mac "platform"), and converting macintosh_config into init data. No need to do that in this patch though, since almost every model can use this driver anyway. Finn -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html