diff options
author | Paul Burton <paul.burton@imgtec.com> | 2014-03-14 12:06:16 -0400 |
---|---|---|
committer | Paul Burton <paul.burton@imgtec.com> | 2014-05-28 11:20:29 -0400 |
commit | 68c1232f51350b007cb1f05260e9e784770ec513 (patch) | |
tree | a9059486d9c85d889cd9615792e2dbbf76029bb0 | |
parent | 245a7868d2f2e54a9a9b084de00d003a9badb2a5 (diff) |
MIPS: smp-cps: function to determine whether CPS SMP is in use
The core power down state for cpuidle will require that the CPS SMP
implementation is in use. This patch provides a mips_cps_smp_in_use
function which determines whether or not the CPS SMP implementation is
currently in use.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
-rw-r--r-- | arch/mips/include/asm/smp-cps.h | 2 | ||||
-rw-r--r-- | arch/mips/kernel/smp-cps.c | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/mips/include/asm/smp-cps.h b/arch/mips/include/asm/smp-cps.h index d49279e92eb5..324df2c835ac 100644 --- a/arch/mips/include/asm/smp-cps.h +++ b/arch/mips/include/asm/smp-cps.h | |||
@@ -31,6 +31,8 @@ extern void mips_cps_core_init(void); | |||
31 | 31 | ||
32 | extern struct vpe_boot_config *mips_cps_boot_vpes(void); | 32 | extern struct vpe_boot_config *mips_cps_boot_vpes(void); |
33 | 33 | ||
34 | extern bool mips_cps_smp_in_use(void); | ||
35 | |||
34 | #else /* __ASSEMBLY__ */ | 36 | #else /* __ASSEMBLY__ */ |
35 | 37 | ||
36 | .extern mips_cps_bootcfg; | 38 | .extern mips_cps_bootcfg; |
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c index af90e82f94bf..c7879fbe9f5b 100644 --- a/arch/mips/kernel/smp-cps.c +++ b/arch/mips/kernel/smp-cps.c | |||
@@ -260,6 +260,12 @@ static struct plat_smp_ops cps_smp_ops = { | |||
260 | .cpus_done = cps_cpus_done, | 260 | .cpus_done = cps_cpus_done, |
261 | }; | 261 | }; |
262 | 262 | ||
263 | bool mips_cps_smp_in_use(void) | ||
264 | { | ||
265 | extern struct plat_smp_ops *mp_ops; | ||
266 | return mp_ops == &cps_smp_ops; | ||
267 | } | ||
268 | |||
263 | int register_cps_smp_ops(void) | 269 | int register_cps_smp_ops(void) |
264 | { | 270 | { |
265 | if (!mips_cm_present()) { | 271 | if (!mips_cm_present()) { |