diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-07-03 15:02:06 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-07-03 15:02:06 +0000 |
commit | f7ed0bfe29acdca9ba8b27686b3d89af5f338cc4 (patch) | |
tree | ba24911cc8fd3de990314de7760b452b50180cb8 /target/linux/ramips/patches-2.6.39/950-convert-to-new-irq-functions.patch | |
parent | c8de904b8c3260e4dcf0e0ac170e886afc4b0e27 (diff) |
ramips: add 2.6.39 support
Based on the patches from #9625
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27396 3c298f89-4303-0410-b956-a3cf2f4a3e73
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 000000000..02f7e39fb --- /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); |