git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'irq-final-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git]
/
arch
/
mips
/
kernel
/
smtc.c
diff --git
a/arch/mips/kernel/smtc.c
b/arch/mips/kernel/smtc.c
index
39c0825
..
5a88cc4
100644
(file)
--- a/
arch/mips/kernel/smtc.c
+++ b/
arch/mips/kernel/smtc.c
@@
-677,8
+677,9
@@
void smtc_set_irq_affinity(unsigned int irq, cpumask_t affinity)
*/
}
*/
}
-void smtc_forward_irq(
unsigned int irq
)
+void smtc_forward_irq(
struct irq_data *d
)
{
{
+ unsigned int irq = d->irq;
int target;
/*
int target;
/*
@@
-692,7
+693,7
@@
void smtc_forward_irq(unsigned int irq)
* and efficiency, we just pick the easiest one to find.
*/
* and efficiency, we just pick the easiest one to find.
*/
- target = cpumask_first(
irq_desc[irq].
affinity);
+ target = cpumask_first(
d->
affinity);
/*
* We depend on the platform code to have correctly processed
/*
* We depend on the platform code to have correctly processed
@@
-707,12
+708,10
@@
void smtc_forward_irq(unsigned int irq)
*/
/* If no one is eligible, service locally */
*/
/* If no one is eligible, service locally */
- if (target >= NR_CPUS)
{
+ if (target >= NR_CPUS)
do_IRQ_no_affinity(irq);
do_IRQ_no_affinity(irq);
- return;
- }
-
- smtc_send_ipi(target, IRQ_AFFINITY_IPI, irq);
+ else
+ smtc_send_ipi(target, IRQ_AFFINITY_IPI, irq);
}
#endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */
}
#endif /* CONFIG_MIPS_MT_SMTC_IRQAFF */
@@
-1147,7
+1146,7
@@
static void setup_cross_vpe_interrupts(unsigned int nvpe)
setup_irq_smtc(cpu_ipi_irq, &irq_ipi, (0x100 << MIPS_CPU_IPI_IRQ));
setup_irq_smtc(cpu_ipi_irq, &irq_ipi, (0x100 << MIPS_CPU_IPI_IRQ));
-
set_irq
_handler(cpu_ipi_irq, handle_percpu_irq);
+
irq_set
_handler(cpu_ipi_irq, handle_percpu_irq);
}
/*
}
/*