Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=027e56e68543780870fda74360ca45e392c50e1c
Commit:     027e56e68543780870fda74360ca45e392c50e1c
Parent:     0630e45c887b3d3d8d6ad27af03ec4054926d635
Author:     Paul Mundt <[EMAIL PROTECTED]>
AuthorDate: Wed Jun 20 18:23:49 2007 +0900
Committer:  Paul Mundt <[EMAIL PROTECTED]>
CommitDate: Wed Jun 20 18:23:49 2007 +0900

    sh: Hook up hard_smp_processor_id() for INTC2 block.
    
    We need to know the CPU ID in order to calculate the mask and ack
    registers effectively. Stub this in for UP.
    
    Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>
---
 arch/sh/kernel/cpu/irq/intc2.c |    9 +++++++--
 include/asm-sh/smp.h           |    2 ++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/sh/kernel/cpu/irq/intc2.c b/arch/sh/kernel/cpu/irq/intc2.c
index dae02d3..cc52213 100644
--- a/arch/sh/kernel/cpu/irq/intc2.c
+++ b/arch/sh/kernel/cpu/irq/intc2.c
@@ -13,6 +13,7 @@
 #include <linux/kernel.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
+#include <asm/smp.h>
 
 static inline struct intc2_desc *get_intc2_desc(unsigned int irq)
 {
@@ -24,14 +25,18 @@ static void disable_intc2_irq(unsigned int irq)
 {
        struct intc2_data *p = get_irq_chip_data(irq);
        struct intc2_desc *d = get_intc2_desc(irq);
-       ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset);
+
+       ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset +
+                                    (hard_smp_processor_id() * 4));
 }
 
 static void enable_intc2_irq(unsigned int irq)
 {
        struct intc2_data *p = get_irq_chip_data(irq);
        struct intc2_desc *d = get_intc2_desc(irq);
-       ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset);
+
+       ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset +
+                                    (hard_smp_processor_id() * 4));
 }
 
 /*
diff --git a/include/asm-sh/smp.h b/include/asm-sh/smp.h
index caa7b93..b99ca78 100644
--- a/include/asm-sh/smp.h
+++ b/include/asm-sh/smp.h
@@ -39,4 +39,6 @@ extern struct smp_fn_call_struct smp_fn_call;
 
 #endif /* CONFIG_SMP */
 
+#define hard_smp_processor_id()        (0)
+
 #endif /* __ASM_SH_SMP_H */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to