aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/smtc.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-23 17:09:04 -0400
committerRalf Baechle <ralf@linux-mips.org>2011-03-25 13:45:18 -0400
commit930cd54b3bd78e52991a89b39b5ef58355ad2b6d (patch)
tree48699521917d84863846f3e7638c4178dfa9fbf5 /arch/mips/kernel/smtc.c
parent2a2b2212986a4072d11e521a63672e3219173437 (diff)
MIPS: SMTC: Cleanup the hook mess and use irq_data
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2194/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/smtc.c')
-rw-r--r--arch/mips/kernel/smtc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index 14c64235a24b..f7e2c7807d7b 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -677,9 +677,9 @@ void smtc_set_irq_affinity(unsigned int irq, cpumask_t affinity)
677 */ 677 */
678} 678}
679 679
680void smtc_forward_irq(unsigned int irq) 680void smtc_forward_irq(struct irq_data *d)
681{ 681{
682 struct irq_data *d = irq_get_irq_data(irq); 682 unsigned int irq = d->irq;
683 int target; 683 int target;
684 684
685 /* 685 /*
@@ -708,12 +708,10 @@ void smtc_forward_irq(unsigned int irq)
708 */ 708 */
709 709
710 /* If no one is eligible, service locally */ 710 /* If no one is eligible, service locally */
711 if (target >= NR_CPUS) { 711 if (target >= NR_CPUS)
712 do_IRQ_no_affinity(irq); 712 do_IRQ_no_affinity(irq);
713 return; 713 else
714 } 714 smtc_send_ipi(target, IRQ_AFFINITY_IPI, irq);
715
716 smtc_send_ipi(target, IRQ_AFFINITY_IPI, irq);
717} 715}
718 716
719#endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */ 717#endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */