diff options
Diffstat (limited to 'arch/powerpc/platforms/ps3/smp.c')
-rw-r--r-- | arch/powerpc/platforms/ps3/smp.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/powerpc/platforms/ps3/smp.c b/arch/powerpc/platforms/ps3/smp.c index 53416ec5198b..f0b12f212363 100644 --- a/arch/powerpc/platforms/ps3/smp.c +++ b/arch/powerpc/platforms/ps3/smp.c | |||
@@ -27,9 +27,9 @@ | |||
27 | #include "platform.h" | 27 | #include "platform.h" |
28 | 28 | ||
29 | #if defined(DEBUG) | 29 | #if defined(DEBUG) |
30 | #define DBG(fmt...) udbg_printf(fmt) | 30 | #define DBG udbg_printf |
31 | #else | 31 | #else |
32 | #define DBG(fmt...) do{if(0)printk(fmt);}while(0) | 32 | #define DBG pr_debug |
33 | #endif | 33 | #endif |
34 | 34 | ||
35 | static irqreturn_t ipi_function_handler(int irq, void *msg) | 35 | static irqreturn_t ipi_function_handler(int irq, void *msg) |
@@ -39,11 +39,11 @@ static irqreturn_t ipi_function_handler(int irq, void *msg) | |||
39 | } | 39 | } |
40 | 40 | ||
41 | /** | 41 | /** |
42 | * virqs - a per cpu array of virqs for ipi use | 42 | * ps3_ipi_virqs - a per cpu array of virqs for ipi use |
43 | */ | 43 | */ |
44 | 44 | ||
45 | #define MSG_COUNT 4 | 45 | #define MSG_COUNT 4 |
46 | static DEFINE_PER_CPU(unsigned int, virqs[MSG_COUNT]); | 46 | static DEFINE_PER_CPU(unsigned int, ps3_ipi_virqs[MSG_COUNT]); |
47 | 47 | ||
48 | static const char *names[MSG_COUNT] = { | 48 | static const char *names[MSG_COUNT] = { |
49 | "ipi call", | 49 | "ipi call", |
@@ -62,7 +62,7 @@ static void do_message_pass(int target, int msg) | |||
62 | return; | 62 | return; |
63 | } | 63 | } |
64 | 64 | ||
65 | virq = per_cpu(virqs, target)[msg]; | 65 | virq = per_cpu(ps3_ipi_virqs, target)[msg]; |
66 | result = ps3_send_event_locally(virq); | 66 | result = ps3_send_event_locally(virq); |
67 | 67 | ||
68 | if (result) | 68 | if (result) |
@@ -94,13 +94,13 @@ static int ps3_smp_probe(void) | |||
94 | static void __init ps3_smp_setup_cpu(int cpu) | 94 | static void __init ps3_smp_setup_cpu(int cpu) |
95 | { | 95 | { |
96 | int result; | 96 | int result; |
97 | unsigned int *virqs = per_cpu(virqs, cpu); | 97 | unsigned int *virqs = per_cpu(ps3_ipi_virqs, cpu); |
98 | int i; | 98 | int i; |
99 | 99 | ||
100 | DBG(" -> %s:%d: (%d)\n", __func__, __LINE__, cpu); | 100 | DBG(" -> %s:%d: (%d)\n", __func__, __LINE__, cpu); |
101 | 101 | ||
102 | /* | 102 | /* |
103 | * Check assumptions on virqs[] indexing. If this | 103 | * Check assumptions on ps3_ipi_virqs[] indexing. If this |
104 | * check fails, then a different mapping of PPC_MSG_ | 104 | * check fails, then a different mapping of PPC_MSG_ |
105 | * to index needs to be setup. | 105 | * to index needs to be setup. |
106 | */ | 106 | */ |
@@ -132,13 +132,13 @@ static void __init ps3_smp_setup_cpu(int cpu) | |||
132 | 132 | ||
133 | void ps3_smp_cleanup_cpu(int cpu) | 133 | void ps3_smp_cleanup_cpu(int cpu) |
134 | { | 134 | { |
135 | unsigned int *virqs = per_cpu(virqs, cpu); | 135 | unsigned int *virqs = per_cpu(ps3_ipi_virqs, cpu); |
136 | int i; | 136 | int i; |
137 | 137 | ||
138 | DBG(" -> %s:%d: (%d)\n", __func__, __LINE__, cpu); | 138 | DBG(" -> %s:%d: (%d)\n", __func__, __LINE__, cpu); |
139 | 139 | ||
140 | for (i = 0; i < MSG_COUNT; i++) { | 140 | for (i = 0; i < MSG_COUNT; i++) { |
141 | free_irq(virqs[i], (void*)(long)i); | 141 | /* Can't call free_irq from interrupt context. */ |
142 | ps3_event_receive_port_destroy(virqs[i]); | 142 | ps3_event_receive_port_destroy(virqs[i]); |
143 | virqs[i] = NO_IRQ; | 143 | virqs[i] = NO_IRQ; |
144 | } | 144 | } |