aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mvebu/armada-370-xp.c
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-06-05 03:04:55 -0400
committerJason Cooper <jason@lakedaemon.net>2013-06-13 13:48:20 -0400
commit865e0527d2d791083a40555f2ba872da5fbddda8 (patch)
tree1b4b4af855c606a4acef2ac04f5932632c120160 /arch/arm/mach-mvebu/armada-370-xp.c
parentb21dcafea36dd6249df9cf485a48c7337a8987af (diff)
arm: mvebu: avoid hardcoded virtual address in coherency code
Now that the coherency_get_cpu_count() function no longer requires a very early mapping of the coherency unit registers, we can avoid the hardcoded virtual address in coherency.c. However, the coherency features are still used quite early, so we need to do the of_iomap() early enough, at the ->init_timer() level, so we have the call of coherency_init() at this point. Unfortunately, at ->init_timer() time, it is not possible to register a bus notifier, so we add a separate coherency_late_init() function that gets called as as postcore_initcall(), when bus notifiers are available. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/mach-mvebu/armada-370-xp.c')
-rw-r--r--arch/arm/mach-mvebu/armada-370-xp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index cf8e357a0a02..b9319c44d0d2 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -46,6 +46,7 @@ static void __init armada_370_xp_timer_and_clk_init(void)
46{ 46{
47 mvebu_clocks_init(); 47 mvebu_clocks_init();
48 armada_370_xp_timer_init(); 48 armada_370_xp_timer_init();
49 coherency_init();
49} 50}
50 51
51static void __init armada_370_xp_init_early(void) 52static void __init armada_370_xp_init_early(void)
@@ -75,7 +76,6 @@ static void __init armada_370_xp_init_early(void)
75static void __init armada_370_xp_dt_init(void) 76static void __init armada_370_xp_dt_init(void)
76{ 77{
77 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 78 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
78 coherency_init();
79} 79}
80 80
81static const char * const armada_370_xp_dt_compat[] = { 81static const char * const armada_370_xp_dt_compat[] = {