diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-07-03 15:02:10 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-07-03 15:02:10 +0000 |
commit | f2053cb231425eb01dc53263e0599b1e4ac5a707 (patch) | |
tree | f8bc096671fa3c5e8aa2b4529207751619f3adba /target/linux/ramips/files | |
parent | e98854a51f7dc863dbfe95aed845a7a0a0a7ad50 (diff) |
ramips: merge 2.6.39 patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27399 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ramips/files')
-rw-r--r-- | target/linux/ramips/files/arch/mips/ralink/common/intc.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/target/linux/ramips/files/arch/mips/ralink/common/intc.c b/target/linux/ramips/files/arch/mips/ralink/common/intc.c index da3ecd466..65e42b423 100644 --- a/target/linux/ramips/files/arch/mips/ralink/common/intc.c +++ b/target/linux/ramips/files/arch/mips/ralink/common/intc.c @@ -44,23 +44,25 @@ static inline u32 ramips_intc_rr(unsigned reg) return __raw_readl(ramips_intc_base + reg); } -static void ramips_intc_irq_unmask(unsigned int irq) +static void ramips_intc_irq_unmask(struct irq_data *d) { - irq -= ramips_intc_irq_base; + unsigned int irq = d->irq - ramips_intc_irq_base; + ramips_intc_wr((1 << irq), INTC_REG_ENABLE); } -static void ramips_intc_irq_mask(unsigned int irq) +static void ramips_intc_irq_mask(struct irq_data *d) { - irq -= ramips_intc_irq_base; + unsigned int irq = d->irq - ramips_intc_irq_base; + ramips_intc_wr((1 << irq), INTC_REG_DISABLE); } static struct irq_chip ramips_intc_irq_chip = { .name = "INTC", - .unmask = ramips_intc_irq_unmask, - .mask = ramips_intc_irq_mask, - .mask_ack = ramips_intc_irq_mask, + .irq_unmask = ramips_intc_irq_unmask, + .irq_mask = ramips_intc_irq_mask, + .irq_mask_ack = ramips_intc_irq_mask, }; static struct irqaction ramips_intc_irqaction = { @@ -83,10 +85,9 @@ void __init ramips_intc_irq_init(unsigned intc_base, unsigned irq, ramips_intc_wr(0, INTC_REG_TYPE); for (i = ramips_intc_irq_base; - i < ramips_intc_irq_base + INTC_IRQ_COUNT; i++) { - set_irq_chip_and_handler(i, &ramips_intc_irq_chip, + i < ramips_intc_irq_base + INTC_IRQ_COUNT; i++) + irq_set_chip_and_handler(i, &ramips_intc_irq_chip, handle_level_irq); - } setup_irq(irq, &ramips_intc_irqaction); ramips_intc_wr(INTC_INT_GLOBAL, INTC_REG_ENABLE); |