diff options
Diffstat (limited to 'arch/arm/mach-ep93xx/micro9.c')
| -rw-r--r-- | arch/arm/mach-ep93xx/micro9.c | 37 | 
1 files changed, 9 insertions, 28 deletions
diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c index 1cc911b4efa..2ba776320a8 100644 --- a/arch/arm/mach-ep93xx/micro9.c +++ b/arch/arm/mach-ep93xx/micro9.c @@ -14,7 +14,6 @@  #include <linux/kernel.h>  #include <linux/init.h>  #include <linux/platform_device.h> -#include <linux/mtd/physmap.h>  #include <linux/io.h>  #include <mach/hardware.h> @@ -31,31 +30,6 @@   * Micro9-Lite uses a separate MTD map driver for flash support   * Micro9-Slim has up to 64MB of either 32-bit or 16-bit flash on CS1   *************************************************************************/ -static struct physmap_flash_data micro9_flash_data; - -static struct resource micro9_flash_resource = { -	.start		= EP93XX_CS1_PHYS_BASE, -	.end		= EP93XX_CS1_PHYS_BASE + SZ_64M - 1, -	.flags		= IORESOURCE_MEM, -}; - -static struct platform_device micro9_flash = { -	.name		= "physmap-flash", -	.id		= 0, -	.dev		= { -		.platform_data	= µ9_flash_data, -	}, -	.num_resources	= 1, -	.resource	= µ9_flash_resource, -}; - -static void __init __micro9_register_flash(unsigned int width) -{ -	micro9_flash_data.width = width; - -	platform_device_register(µ9_flash); -} -  static unsigned int __init micro9_detect_bootwidth(void)  {  	u32 v; @@ -70,10 +44,17 @@ static unsigned int __init micro9_detect_bootwidth(void)  static void __init micro9_register_flash(void)  { +	unsigned int width; +  	if (machine_is_micro9()) -		__micro9_register_flash(4); +		width = 4;  	else if (machine_is_micro9m() || machine_is_micro9s()) -		__micro9_register_flash(micro9_detect_bootwidth()); +		width = micro9_detect_bootwidth(); +	else +		width = 0; + +	if (width) +		ep93xx_register_flash(width, EP93XX_CS1_PHYS_BASE, SZ_64M);  }  |