diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2012-05-14 09:14:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-14 17:05:07 -0400 |
commit | 4ba22b16bbf354822b7988ec5b4b35774dcd479f (patch) | |
tree | 3476a58b0d8788b89b575f4926e294f4b8bbdd43 /arch/sparc/kernel/leon_kernel.c | |
parent | c68e5d39a502d01421cbc70d25c377e9215facef (diff) |
sparc32: move smp ipi to method ops
I ended up renaming set_cpu_int to send_ipi to
be consistent all way around.
send_ipi was moved to the *_smp.c files so
we could call the relevant method direct,
without any _ops indirection.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/leon_kernel.c')
-rw-r--r-- | arch/sparc/kernel/leon_kernel.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c index aeb411cd3927..1770b3c1cc74 100644 --- a/arch/sparc/kernel/leon_kernel.c +++ b/arch/sparc/kernel/leon_kernel.c | |||
@@ -86,7 +86,7 @@ void leon_eirq_setup(unsigned int eirq) | |||
86 | sparc_leon_eirq = eirq; | 86 | sparc_leon_eirq = eirq; |
87 | } | 87 | } |
88 | 88 | ||
89 | static inline unsigned long get_irqmask(unsigned int irq) | 89 | unsigned long leon_get_irqmask(unsigned int irq) |
90 | { | 90 | { |
91 | unsigned long mask; | 91 | unsigned long mask; |
92 | 92 | ||
@@ -212,7 +212,7 @@ unsigned int leon_build_device_irq(unsigned int real_irq, | |||
212 | unsigned long mask; | 212 | unsigned long mask; |
213 | 213 | ||
214 | irq = 0; | 214 | irq = 0; |
215 | mask = get_irqmask(real_irq); | 215 | mask = leon_get_irqmask(real_irq); |
216 | if (mask == 0) | 216 | if (mask == 0) |
217 | goto out; | 217 | goto out; |
218 | 218 | ||
@@ -497,14 +497,6 @@ void __init leon_node_init(struct device_node *dp, struct device_node ***nextp) | |||
497 | } | 497 | } |
498 | 498 | ||
499 | #ifdef CONFIG_SMP | 499 | #ifdef CONFIG_SMP |
500 | |||
501 | void leon_set_cpu_int(int cpu, int level) | ||
502 | { | ||
503 | unsigned long mask; | ||
504 | mask = get_irqmask(level); | ||
505 | LEON3_BYPASS_STORE_PA(&leon3_irqctrl_regs->force[cpu], mask); | ||
506 | } | ||
507 | |||
508 | void leon_clear_profile_irq(int cpu) | 500 | void leon_clear_profile_irq(int cpu) |
509 | { | 501 | { |
510 | } | 502 | } |
@@ -512,7 +504,7 @@ void leon_clear_profile_irq(int cpu) | |||
512 | void leon_enable_irq_cpu(unsigned int irq_nr, unsigned int cpu) | 504 | void leon_enable_irq_cpu(unsigned int irq_nr, unsigned int cpu) |
513 | { | 505 | { |
514 | unsigned long mask, flags, *addr; | 506 | unsigned long mask, flags, *addr; |
515 | mask = get_irqmask(irq_nr); | 507 | mask = leon_get_irqmask(irq_nr); |
516 | spin_lock_irqsave(&leon_irq_lock, flags); | 508 | spin_lock_irqsave(&leon_irq_lock, flags); |
517 | addr = (unsigned long *)LEON_IMASK(cpu); | 509 | addr = (unsigned long *)LEON_IMASK(cpu); |
518 | LEON3_BYPASS_STORE_PA(addr, (LEON3_BYPASS_LOAD_PA(addr) | mask)); | 510 | LEON3_BYPASS_STORE_PA(addr, (LEON3_BYPASS_LOAD_PA(addr) | mask)); |
@@ -531,11 +523,6 @@ void __init leon_init_IRQ(void) | |||
531 | BTFIXUPCALL_NORM); | 523 | BTFIXUPCALL_NORM); |
532 | BTFIXUPSET_CALL(load_profile_irq, leon_load_profile_irq, | 524 | BTFIXUPSET_CALL(load_profile_irq, leon_load_profile_irq, |
533 | BTFIXUPCALL_NOP); | 525 | BTFIXUPCALL_NOP); |
534 | |||
535 | #ifdef CONFIG_SMP | ||
536 | BTFIXUPSET_CALL(set_cpu_int, leon_set_cpu_int, BTFIXUPCALL_NORM); | ||
537 | #endif | ||
538 | |||
539 | } | 526 | } |
540 | 527 | ||
541 | void __init leon_init(void) | 528 | void __init leon_init(void) |