diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2011-07-03 15:02:10 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2011-07-03 15:02:10 +0000 |
commit | 6e7b802297fe68224a4546a3a6a61ae04999f06c (patch) | |
tree | 148283d2c5b991cd114b87414ec9d46b068b4883 /target/linux/ramips/files | |
parent | 646f64d38970e2f45770768bf56e9d9eb6a35706 (diff) | |
download | upstream-6e7b802297fe68224a4546a3a6a61ae04999f06c.tar.gz upstream-6e7b802297fe68224a4546a3a6a61ae04999f06c.tar.bz2 upstream-6e7b802297fe68224a4546a3a6a61ae04999f06c.zip |
ramips: merge 2.6.39 patches
SVN-Revision: 27399
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 da3ecd4664..65e42b423b 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); |