ARM: 6907/1: Versatile: Use physmap driver instead of integrator-flash
authorMarc Zyngier <Marc.Zyngier@arm.com>
Wed, 18 May 2011 09:51:50 +0000 (10:51 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 20 May 2011 21:27:08 +0000 (22:27 +0100)
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/configs/versatile_defconfig
arch/arm/mach-versatile/core.c

index 0ce710f475007e69af38b519cd15b709695e7e1d..cdd4d2bd39620bf97bfecfdc8c0bcc35e0ee0356 100644 (file)
@@ -32,7 +32,7 @@ CONFIG_MTD_BLOCK=y
 CONFIG_MTD_CFI=y
 CONFIG_MTD_CFI_ADV_OPTIONS=y
 CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_ARM_INTEGRATOR=y
+CONFIG_MTD_PHYSMAP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_EEPROM_LEGACY=m
 CONFIG_NETDEVICES=y
index eb7ffa0ee8b544d77caf42cc542892413b055952..06f406ad8edd9fab4df34f17c57006dec3faeab3 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/io.h>
 #include <linux/gfp.h>
 #include <linux/clkdev.h>
+#include <linux/mtd/physmap.h>
 
 #include <asm/system.h>
 #include <asm/irq.h>
@@ -42,7 +43,6 @@
 #include <asm/mach-types.h>
 
 #include <asm/mach/arch.h>
-#include <asm/mach/flash.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/time.h>
 #include <asm/mach/map.h>
@@ -190,27 +190,7 @@ void __init versatile_map_io(void)
 
 #define VERSATILE_FLASHCTRL    (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
 
-static int versatile_flash_init(void)
-{
-       u32 val;
-
-       val = __raw_readl(VERSATILE_FLASHCTRL);
-       val &= ~VERSATILE_FLASHPROG_FLVPPEN;
-       __raw_writel(val, VERSATILE_FLASHCTRL);
-
-       return 0;
-}
-
-static void versatile_flash_exit(void)
-{
-       u32 val;
-
-       val = __raw_readl(VERSATILE_FLASHCTRL);
-       val &= ~VERSATILE_FLASHPROG_FLVPPEN;
-       __raw_writel(val, VERSATILE_FLASHCTRL);
-}
-
-static void versatile_flash_set_vpp(int on)
+static void versatile_flash_set_vpp(struct map_info *map, int on)
 {
        u32 val;
 
@@ -222,11 +202,8 @@ static void versatile_flash_set_vpp(int on)
        __raw_writel(val, VERSATILE_FLASHCTRL);
 }
 
-static struct flash_platform_data versatile_flash_data = {
-       .map_name               = "cfi_probe",
+static struct physmap_flash_data versatile_flash_data = {
        .width                  = 4,
-       .init                   = versatile_flash_init,
-       .exit                   = versatile_flash_exit,
        .set_vpp                = versatile_flash_set_vpp,
 };
 
@@ -237,7 +214,7 @@ static struct resource versatile_flash_resource = {
 };
 
 static struct platform_device versatile_flash_device = {
-       .name                   = "armflash",
+       .name                   = "physmap-flash",
        .id                     = 0,
        .dev                    = {
                .platform_data  = &versatile_flash_data,