Commit a1c6f87e authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Ingo Molnar:
 "Fix a recent regression in the Ingenic SoCs irqchip driver that floods
  the syslog"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/ingenic: Get rid of the legacy IRQ domain
parents e2f73d1e 1fd224e3
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mach-jz4740/irq.h>
struct ingenic_intc_data { struct ingenic_intc_data {
void __iomem *base; void __iomem *base;
...@@ -50,7 +49,7 @@ static irqreturn_t intc_cascade(int irq, void *data) ...@@ -50,7 +49,7 @@ static irqreturn_t intc_cascade(int irq, void *data)
while (pending) { while (pending) {
int bit = __fls(pending); int bit = __fls(pending);
irq = irq_find_mapping(domain, bit + (i * 32)); irq = irq_linear_revmap(domain, bit + (i * 32));
generic_handle_irq(irq); generic_handle_irq(irq);
pending &= ~BIT(bit); pending &= ~BIT(bit);
} }
...@@ -97,8 +96,7 @@ static int __init ingenic_intc_of_init(struct device_node *node, ...@@ -97,8 +96,7 @@ static int __init ingenic_intc_of_init(struct device_node *node,
goto out_unmap_irq; goto out_unmap_irq;
} }
domain = irq_domain_add_legacy(node, num_chips * 32, domain = irq_domain_add_linear(node, num_chips * 32,
JZ4740_IRQ_BASE, 0,
&irq_generic_chip_ops, NULL); &irq_generic_chip_ops, NULL);
if (!domain) { if (!domain) {
err = -ENOMEM; err = -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment