diff options
Diffstat (limited to 'arch/powerpc/platforms/powermac/smp.c')
-rw-r--r-- | arch/powerpc/platforms/powermac/smp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index bc5f0dc6ae1e..621d4b7755f2 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -329,7 +329,7 @@ static int __init smp_psurge_probe(void) | |||
329 | return ncpus; | 329 | return ncpus; |
330 | } | 330 | } |
331 | 331 | ||
332 | static void __init smp_psurge_kick_cpu(int nr) | 332 | static int __init smp_psurge_kick_cpu(int nr) |
333 | { | 333 | { |
334 | unsigned long start = __pa(__secondary_start_pmac_0) + nr * 8; | 334 | unsigned long start = __pa(__secondary_start_pmac_0) + nr * 8; |
335 | unsigned long a, flags; | 335 | unsigned long a, flags; |
@@ -394,6 +394,8 @@ static void __init smp_psurge_kick_cpu(int nr) | |||
394 | psurge_set_ipi(1); | 394 | psurge_set_ipi(1); |
395 | 395 | ||
396 | if (ppc_md.progress) ppc_md.progress("smp_psurge_kick_cpu - done", 0x354); | 396 | if (ppc_md.progress) ppc_md.progress("smp_psurge_kick_cpu - done", 0x354); |
397 | |||
398 | return 0; | ||
397 | } | 399 | } |
398 | 400 | ||
399 | static struct irqaction psurge_irqaction = { | 401 | static struct irqaction psurge_irqaction = { |
@@ -791,14 +793,14 @@ static int __init smp_core99_probe(void) | |||
791 | return ncpus; | 793 | return ncpus; |
792 | } | 794 | } |
793 | 795 | ||
794 | static void __devinit smp_core99_kick_cpu(int nr) | 796 | static int __devinit smp_core99_kick_cpu(int nr) |
795 | { | 797 | { |
796 | unsigned int save_vector; | 798 | unsigned int save_vector; |
797 | unsigned long target, flags; | 799 | unsigned long target, flags; |
798 | unsigned int *vector = (unsigned int *)(PAGE_OFFSET+0x100); | 800 | unsigned int *vector = (unsigned int *)(PAGE_OFFSET+0x100); |
799 | 801 | ||
800 | if (nr < 0 || nr > 3) | 802 | if (nr < 0 || nr > 3) |
801 | return; | 803 | return -ENOENT; |
802 | 804 | ||
803 | if (ppc_md.progress) | 805 | if (ppc_md.progress) |
804 | ppc_md.progress("smp_core99_kick_cpu", 0x346); | 806 | ppc_md.progress("smp_core99_kick_cpu", 0x346); |
@@ -830,6 +832,8 @@ static void __devinit smp_core99_kick_cpu(int nr) | |||
830 | 832 | ||
831 | local_irq_restore(flags); | 833 | local_irq_restore(flags); |
832 | if (ppc_md.progress) ppc_md.progress("smp_core99_kick_cpu done", 0x347); | 834 | if (ppc_md.progress) ppc_md.progress("smp_core99_kick_cpu done", 0x347); |
835 | |||
836 | return 0; | ||
833 | } | 837 | } |
834 | 838 | ||
835 | static void __devinit smp_core99_setup_cpu(int cpu_nr) | 839 | static void __devinit smp_core99_setup_cpu(int cpu_nr) |