diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2007-02-08 18:34:04 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-14 11:50:04 +1100 |
commit | 775aeff44774c6933d8f9c14e1f325d8acd03136 (patch) | |
tree | 72bbf4d7704f3237a7b3eb11cee89a68a1537a82 /arch/powerpc/sysdev/mpic.c | |
parent | dce623e0827e8d0ad60ce7f385c3394bf1b0bae0 (diff) | |
download | lwn-775aeff44774c6933d8f9c14e1f325d8acd03136.tar.gz lwn-775aeff44774c6933d8f9c14e1f325d8acd03136.zip |
[POWERPC] Move MPIC smp routines into mpic.c
Move a couple of MPIC smp routines into mpic.c, they're inside an SMP
block in mpic.c - so they're still only built for SMP.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/sysdev/mpic.c')
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index aa701cc27ecc..4e54a09dd33b 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -1395,4 +1395,25 @@ void smp_mpic_message_pass(int target, int msg) break; } } + +int __init smp_mpic_probe(void) +{ + int nr_cpus; + + DBG("smp_mpic_probe()...\n"); + + nr_cpus = cpus_weight(cpu_possible_map); + + DBG("nr_cpus: %d\n", nr_cpus); + + if (nr_cpus > 1) + mpic_request_ipis(); + + return nr_cpus; +} + +void __devinit smp_mpic_setup_cpu(int cpu) +{ + mpic_setup_this_cpu(); +} #endif /* CONFIG_SMP */ |