diff options
Diffstat (limited to 'arch/arm/mach-shmobile/platsmp.c')
-rw-r--r-- | arch/arm/mach-shmobile/platsmp.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/platsmp.c b/arch/arm/mach-shmobile/platsmp.c index c49a833bf9bb..993381257f69 100644 --- a/arch/arm/mach-shmobile/platsmp.c +++ b/arch/arm/mach-shmobile/platsmp.c | |||
@@ -22,12 +22,16 @@ | |||
22 | #include <mach/common.h> | 22 | #include <mach/common.h> |
23 | 23 | ||
24 | #define is_sh73a0() (machine_is_ag5evm() || machine_is_kota2()) | 24 | #define is_sh73a0() (machine_is_ag5evm() || machine_is_kota2()) |
25 | #define is_r8a7779() machine_is_marzen() | ||
25 | 26 | ||
26 | static unsigned int __init shmobile_smp_get_core_count(void) | 27 | static unsigned int __init shmobile_smp_get_core_count(void) |
27 | { | 28 | { |
28 | if (is_sh73a0()) | 29 | if (is_sh73a0()) |
29 | return sh73a0_get_core_count(); | 30 | return sh73a0_get_core_count(); |
30 | 31 | ||
32 | if (is_r8a7779()) | ||
33 | return r8a7779_get_core_count(); | ||
34 | |||
31 | return 1; | 35 | return 1; |
32 | } | 36 | } |
33 | 37 | ||
@@ -35,6 +39,17 @@ static void __init shmobile_smp_prepare_cpus(void) | |||
35 | { | 39 | { |
36 | if (is_sh73a0()) | 40 | if (is_sh73a0()) |
37 | sh73a0_smp_prepare_cpus(); | 41 | sh73a0_smp_prepare_cpus(); |
42 | |||
43 | if (is_r8a7779()) | ||
44 | r8a7779_smp_prepare_cpus(); | ||
45 | } | ||
46 | |||
47 | int shmobile_platform_cpu_kill(unsigned int cpu) | ||
48 | { | ||
49 | if (is_r8a7779()) | ||
50 | return r8a7779_platform_cpu_kill(cpu); | ||
51 | |||
52 | return 1; | ||
38 | } | 53 | } |
39 | 54 | ||
40 | void __cpuinit platform_secondary_init(unsigned int cpu) | 55 | void __cpuinit platform_secondary_init(unsigned int cpu) |
@@ -43,6 +58,9 @@ void __cpuinit platform_secondary_init(unsigned int cpu) | |||
43 | 58 | ||
44 | if (is_sh73a0()) | 59 | if (is_sh73a0()) |
45 | sh73a0_secondary_init(cpu); | 60 | sh73a0_secondary_init(cpu); |
61 | |||
62 | if (is_r8a7779()) | ||
63 | r8a7779_secondary_init(cpu); | ||
46 | } | 64 | } |
47 | 65 | ||
48 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | 66 | int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) |
@@ -50,6 +68,9 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
50 | if (is_sh73a0()) | 68 | if (is_sh73a0()) |
51 | return sh73a0_boot_secondary(cpu); | 69 | return sh73a0_boot_secondary(cpu); |
52 | 70 | ||
71 | if (is_r8a7779()) | ||
72 | return r8a7779_boot_secondary(cpu); | ||
73 | |||
53 | return -ENOSYS; | 74 | return -ENOSYS; |
54 | } | 75 | } |
55 | 76 | ||