diff options
Diffstat (limited to 'target/linux/ramips/patches-2.6.39/950-convert-to-new-irq-functions.patch')
-rw-r--r-- | target/linux/ramips/patches-2.6.39/950-convert-to-new-irq-functions.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-2.6.39/950-convert-to-new-irq-functions.patch b/target/linux/ramips/patches-2.6.39/950-convert-to-new-irq-functions.patch new file mode 100644 index 0000000000..02f7e39fb9 --- /dev/null +++ b/target/linux/ramips/patches-2.6.39/950-convert-to-new-irq-functions.patch @@ -0,0 +1,48 @@ +--- a/arch/mips/ralink/common/intc.c ++++ b/arch/mips/ralink/common/intc.c +@@ -44,23 +44,25 @@ static inline u32 ramips_intc_rr(unsigne + 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(unsigne + 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); |