diff options
Diffstat (limited to 'arch/arm/mach-shmobile/smp-r8a7779.c')
-rw-r--r-- | arch/arm/mach-shmobile/smp-r8a7779.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/arm/mach-shmobile/smp-r8a7779.c b/arch/arm/mach-shmobile/smp-r8a7779.c index cc97ef892d1b..9bb7b8575a1f 100644 --- a/arch/arm/mach-shmobile/smp-r8a7779.c +++ b/arch/arm/mach-shmobile/smp-r8a7779.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/delay.h> | 25 | #include <linux/delay.h> |
26 | #include <mach/common.h> | 26 | #include <mach/common.h> |
27 | #include <mach/r8a7779.h> | 27 | #include <mach/r8a7779.h> |
28 | #include <asm/smp_plat.h> | ||
28 | #include <asm/smp_scu.h> | 29 | #include <asm/smp_scu.h> |
29 | #include <asm/smp_twd.h> | 30 | #include <asm/smp_twd.h> |
30 | #include <asm/hardware/gic.h> | 31 | #include <asm/hardware/gic.h> |
@@ -63,6 +64,8 @@ static void __iomem *scu_base_addr(void) | |||
63 | static DEFINE_SPINLOCK(scu_lock); | 64 | static DEFINE_SPINLOCK(scu_lock); |
64 | static unsigned long tmp; | 65 | static unsigned long tmp; |
65 | 66 | ||
67 | static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, 0xf0000600, 29); | ||
68 | |||
66 | static void modify_scu_cpu_psr(unsigned long set, unsigned long clr) | 69 | static void modify_scu_cpu_psr(unsigned long set, unsigned long clr) |
67 | { | 70 | { |
68 | void __iomem *scu_base = scu_base_addr(); | 71 | void __iomem *scu_base = scu_base_addr(); |
@@ -81,11 +84,7 @@ unsigned int __init r8a7779_get_core_count(void) | |||
81 | { | 84 | { |
82 | void __iomem *scu_base = scu_base_addr(); | 85 | void __iomem *scu_base = scu_base_addr(); |
83 | 86 | ||
84 | #ifdef CONFIG_HAVE_ARM_TWD | 87 | shmobile_twd_init(&twd_local_timer); |
85 | /* twd_base needs to be initialized before percpu_timer_setup() */ | ||
86 | twd_base = (void __iomem *)0xf0000600; | ||
87 | #endif | ||
88 | |||
89 | return scu_get_core_count(scu_base); | 88 | return scu_get_core_count(scu_base); |
90 | } | 89 | } |
91 | 90 | ||