diff options
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/powermac/pmac.h | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/setup.c | 11 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/smp.c | 5 |
3 files changed, 13 insertions, 5 deletions
diff --git a/arch/powerpc/platforms/powermac/pmac.h b/arch/powerpc/platforms/powermac/pmac.h index 3362e781b6a7..f0bc08f6c1f0 100644 --- a/arch/powerpc/platforms/powermac/pmac.h +++ b/arch/powerpc/platforms/powermac/pmac.h | |||
@@ -33,6 +33,8 @@ extern void pmac_setup_pci_dma(void); | |||
33 | extern void pmac_check_ht_link(void); | 33 | extern void pmac_check_ht_link(void); |
34 | 34 | ||
35 | extern void pmac_setup_smp(void); | 35 | extern void pmac_setup_smp(void); |
36 | extern void pmac32_cpu_die(void); | ||
37 | extern void low_cpu_die(void) __attribute__((noreturn)); | ||
36 | 38 | ||
37 | extern int pmac_nvram_init(void); | 39 | extern int pmac_nvram_init(void); |
38 | extern void pmac_pic_init(void); | 40 | extern void pmac_pic_init(void); |
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c index 47a2b4488557..f1d0132ebcc7 100644 --- a/arch/powerpc/platforms/powermac/setup.c +++ b/arch/powerpc/platforms/powermac/setup.c | |||
@@ -646,7 +646,7 @@ static int pmac_pci_probe_mode(struct pci_bus *bus) | |||
646 | /* access per cpu vars from generic smp.c */ | 646 | /* access per cpu vars from generic smp.c */ |
647 | DECLARE_PER_CPU(int, cpu_state); | 647 | DECLARE_PER_CPU(int, cpu_state); |
648 | 648 | ||
649 | static void pmac_cpu_die(void) | 649 | static void pmac64_cpu_die(void) |
650 | { | 650 | { |
651 | /* | 651 | /* |
652 | * turn off as much as possible, we'll be | 652 | * turn off as much as possible, we'll be |
@@ -717,8 +717,13 @@ define_machine(powermac) { | |||
717 | .pcibios_after_init = pmac_pcibios_after_init, | 717 | .pcibios_after_init = pmac_pcibios_after_init, |
718 | .phys_mem_access_prot = pci_phys_mem_access_prot, | 718 | .phys_mem_access_prot = pci_phys_mem_access_prot, |
719 | #endif | 719 | #endif |
720 | #if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC64) | 720 | #ifdef CONFIG_HOTPLUG_CPU |
721 | .cpu_die = pmac_cpu_die, | 721 | #ifdef CONFIG_PPC64 |
722 | .cpu_die = pmac64_cpu_die, | ||
723 | #endif | ||
724 | #ifdef CONFIG_PPC32 | ||
725 | .cpu_die = pmac32_cpu_die, | ||
726 | #endif | ||
722 | #endif | 727 | #endif |
723 | #if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32) | 728 | #if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32) |
724 | .cpu_die = generic_mach_cpu_die, | 729 | .cpu_die = generic_mach_cpu_die, |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 02d0b8e5b13c..c95215f4f8b6 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -53,6 +53,8 @@ | |||
53 | #include <asm/pmac_low_i2c.h> | 53 | #include <asm/pmac_low_i2c.h> |
54 | #include <asm/pmac_pfunc.h> | 54 | #include <asm/pmac_pfunc.h> |
55 | 55 | ||
56 | #include "pmac.h" | ||
57 | |||
56 | #undef DEBUG | 58 | #undef DEBUG |
57 | 59 | ||
58 | #ifdef DEBUG | 60 | #ifdef DEBUG |
@@ -878,10 +880,9 @@ int smp_core99_cpu_disable(void) | |||
878 | return 0; | 880 | return 0; |
879 | } | 881 | } |
880 | 882 | ||
881 | extern void low_cpu_die(void) __attribute__((noreturn)); /* in sleep.S */ | ||
882 | static int cpu_dead[NR_CPUS]; | 883 | static int cpu_dead[NR_CPUS]; |
883 | 884 | ||
884 | void cpu_die(void) | 885 | void pmac32_cpu_die(void) |
885 | { | 886 | { |
886 | local_irq_disable(); | 887 | local_irq_disable(); |
887 | cpu_dead[smp_processor_id()] = 1; | 888 | cpu_dead[smp_processor_id()] = 1; |