diff options
author | Marc Zyngier <Marc.Zyngier@arm.com> | 2011-05-18 05:51:50 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-05-20 17:27:08 -0400 |
commit | 68c0e38cafa0f24866ec8605431f7f666cae1304 (patch) | |
tree | d989f4fd53af8664e2de581acee3a20b521808d9 /arch/arm/mach-versatile | |
parent | b8b87aefef435e0f802d78d56804002cc439792b (diff) |
ARM: 6907/1: Versatile: Use physmap driver instead of integrator-flash
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>
Diffstat (limited to 'arch/arm/mach-versatile')
-rw-r--r-- | arch/arm/mach-versatile/core.c | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index eb7ffa0ee8b5..06f406ad8edd 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/io.h> | 32 | #include <linux/io.h> |
33 | #include <linux/gfp.h> | 33 | #include <linux/gfp.h> |
34 | #include <linux/clkdev.h> | 34 | #include <linux/clkdev.h> |
35 | #include <linux/mtd/physmap.h> | ||
35 | 36 | ||
36 | #include <asm/system.h> | 37 | #include <asm/system.h> |
37 | #include <asm/irq.h> | 38 | #include <asm/irq.h> |
@@ -42,7 +43,6 @@ | |||
42 | #include <asm/mach-types.h> | 43 | #include <asm/mach-types.h> |
43 | 44 | ||
44 | #include <asm/mach/arch.h> | 45 | #include <asm/mach/arch.h> |
45 | #include <asm/mach/flash.h> | ||
46 | #include <asm/mach/irq.h> | 46 | #include <asm/mach/irq.h> |
47 | #include <asm/mach/time.h> | 47 | #include <asm/mach/time.h> |
48 | #include <asm/mach/map.h> | 48 | #include <asm/mach/map.h> |
@@ -190,27 +190,7 @@ void __init versatile_map_io(void) | |||
190 | 190 | ||
191 | #define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET) | 191 | #define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET) |
192 | 192 | ||
193 | static int versatile_flash_init(void) | 193 | static void versatile_flash_set_vpp(struct map_info *map, int on) |
194 | { | ||
195 | u32 val; | ||
196 | |||
197 | val = __raw_readl(VERSATILE_FLASHCTRL); | ||
198 | val &= ~VERSATILE_FLASHPROG_FLVPPEN; | ||
199 | __raw_writel(val, VERSATILE_FLASHCTRL); | ||
200 | |||
201 | return 0; | ||
202 | } | ||
203 | |||
204 | static void versatile_flash_exit(void) | ||
205 | { | ||
206 | u32 val; | ||
207 | |||
208 | val = __raw_readl(VERSATILE_FLASHCTRL); | ||
209 | val &= ~VERSATILE_FLASHPROG_FLVPPEN; | ||
210 | __raw_writel(val, VERSATILE_FLASHCTRL); | ||
211 | } | ||
212 | |||
213 | static void versatile_flash_set_vpp(int on) | ||
214 | { | 194 | { |
215 | u32 val; | 195 | u32 val; |
216 | 196 | ||
@@ -222,11 +202,8 @@ static void versatile_flash_set_vpp(int on) | |||
222 | __raw_writel(val, VERSATILE_FLASHCTRL); | 202 | __raw_writel(val, VERSATILE_FLASHCTRL); |
223 | } | 203 | } |
224 | 204 | ||
225 | static struct flash_platform_data versatile_flash_data = { | 205 | static struct physmap_flash_data versatile_flash_data = { |
226 | .map_name = "cfi_probe", | ||
227 | .width = 4, | 206 | .width = 4, |
228 | .init = versatile_flash_init, | ||
229 | .exit = versatile_flash_exit, | ||
230 | .set_vpp = versatile_flash_set_vpp, | 207 | .set_vpp = versatile_flash_set_vpp, |
231 | }; | 208 | }; |
232 | 209 | ||
@@ -237,7 +214,7 @@ static struct resource versatile_flash_resource = { | |||
237 | }; | 214 | }; |
238 | 215 | ||
239 | static struct platform_device versatile_flash_device = { | 216 | static struct platform_device versatile_flash_device = { |
240 | .name = "armflash", | 217 | .name = "physmap-flash", |
241 | .id = 0, | 218 | .id = 0, |
242 | .dev = { | 219 | .dev = { |
243 | .platform_data = &versatile_flash_data, | 220 | .platform_data = &versatile_flash_data, |