diff options
author | Dave Martin <dave.martin@linaro.org> | 2011-06-23 12:22:29 -0400 |
---|---|---|
committer | Dave Martin <dave.martin@linaro.org> | 2011-07-07 10:31:10 -0400 |
commit | a39a32187b71f8a693f3d128b483a2428941e83a (patch) | |
tree | b61ef6ecf14ecf630dad2bb8e9bbe67f372f0f42 /arch/arm/mm/proc-mohawk.S | |
parent | e43b670e24de9531f847d1891e7487bffd57017b (diff) |
ARM: mm: proc-mohawk: Use the new processor struct macros
This patch also defines a suitable flush_icache_all implementation
which would otherwise be missing, resulting in a link failure.
Thanks to Nicolas Pitre for suggesting the code for this.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/mm/proc-mohawk.S')
-rw-r--r-- | arch/arm/mm/proc-mohawk.S | 61 |
1 files changed, 18 insertions, 43 deletions
diff --git a/arch/arm/mm/proc-mohawk.S b/arch/arm/mm/proc-mohawk.S index 9d4f2ae63370..db52b0fb14a0 100644 --- a/arch/arm/mm/proc-mohawk.S +++ b/arch/arm/mm/proc-mohawk.S | |||
@@ -93,6 +93,17 @@ ENTRY(cpu_mohawk_do_idle) | |||
93 | mov pc, lr | 93 | mov pc, lr |
94 | 94 | ||
95 | /* | 95 | /* |
96 | * flush_icache_all() | ||
97 | * | ||
98 | * Unconditionally clean and invalidate the entire icache. | ||
99 | */ | ||
100 | ENTRY(mohawk_flush_icache_all) | ||
101 | mov r0, #0 | ||
102 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
103 | mov pc, lr | ||
104 | ENDPROC(mohawk_flush_icache_all) | ||
105 | |||
106 | /* | ||
96 | * flush_user_cache_all() | 107 | * flush_user_cache_all() |
97 | * | 108 | * |
98 | * Clean and invalidate all cache entries in a particular | 109 | * Clean and invalidate all cache entries in a particular |
@@ -288,16 +299,8 @@ ENTRY(mohawk_dma_unmap_area) | |||
288 | mov pc, lr | 299 | mov pc, lr |
289 | ENDPROC(mohawk_dma_unmap_area) | 300 | ENDPROC(mohawk_dma_unmap_area) |
290 | 301 | ||
291 | ENTRY(mohawk_cache_fns) | 302 | @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S) |
292 | .long mohawk_flush_kern_cache_all | 303 | define_cache_functions mohawk |
293 | .long mohawk_flush_user_cache_all | ||
294 | .long mohawk_flush_user_cache_range | ||
295 | .long mohawk_coherent_kern_range | ||
296 | .long mohawk_coherent_user_range | ||
297 | .long mohawk_flush_kern_dcache_area | ||
298 | .long mohawk_dma_map_area | ||
299 | .long mohawk_dma_unmap_area | ||
300 | .long mohawk_dma_flush_range | ||
301 | 304 | ||
302 | ENTRY(cpu_mohawk_dcache_clean_area) | 305 | ENTRY(cpu_mohawk_dcache_clean_area) |
303 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 306 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry |
@@ -373,42 +376,14 @@ mohawk_crval: | |||
373 | 376 | ||
374 | __INITDATA | 377 | __INITDATA |
375 | 378 | ||
376 | /* | 379 | @ define struct processor (see <asm/proc-fns.h> and proc-macros.S) |
377 | * Purpose : Function pointers used to access above functions - all calls | 380 | define_processor_functions mohawk, dabort=v5t_early_abort, pabort=legacy_pabort |
378 | * come through these | ||
379 | */ | ||
380 | .type mohawk_processor_functions, #object | ||
381 | mohawk_processor_functions: | ||
382 | .word v5t_early_abort | ||
383 | .word legacy_pabort | ||
384 | .word cpu_mohawk_proc_init | ||
385 | .word cpu_mohawk_proc_fin | ||
386 | .word cpu_mohawk_reset | ||
387 | .word cpu_mohawk_do_idle | ||
388 | .word cpu_mohawk_dcache_clean_area | ||
389 | .word cpu_mohawk_switch_mm | ||
390 | .word cpu_mohawk_set_pte_ext | ||
391 | .word 0 | ||
392 | .word 0 | ||
393 | .word 0 | ||
394 | .size mohawk_processor_functions, . - mohawk_processor_functions | ||
395 | 381 | ||
396 | .section ".rodata" | 382 | .section ".rodata" |
397 | 383 | ||
398 | .type cpu_arch_name, #object | 384 | string cpu_arch_name, "armv5te" |
399 | cpu_arch_name: | 385 | string cpu_elf_name, "v5" |
400 | .asciz "armv5te" | 386 | string cpu_mohawk_name, "Marvell 88SV331x" |
401 | .size cpu_arch_name, . - cpu_arch_name | ||
402 | |||
403 | .type cpu_elf_name, #object | ||
404 | cpu_elf_name: | ||
405 | .asciz "v5" | ||
406 | .size cpu_elf_name, . - cpu_elf_name | ||
407 | |||
408 | .type cpu_mohawk_name, #object | ||
409 | cpu_mohawk_name: | ||
410 | .asciz "Marvell 88SV331x" | ||
411 | .size cpu_mohawk_name, . - cpu_mohawk_name | ||
412 | 387 | ||
413 | .align | 388 | .align |
414 | 389 | ||