Commit 1fd224e3 authored by Paul Cercueil's avatar Paul Cercueil Committed by Thomas Gleixner

irqchip/ingenic: Get rid of the legacy IRQ domain

Get rid of the legacy IRQ domain and hardcoded IRQ base, since all the
Ingenic drivers and platform code have been updated to use devicetree.

This also fixes the kernel being flooded with messages like:

 irq: interrupt-controller@10001000 didn't like hwirq-0x0 to VIRQ8 mapping (rc=-19)

Fixes: 8bc7464b ("irqchip: ingenic: Alloc generic chips from IRQ domain").
Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarH. Nikolaus Schaller <hns@goldelico.com>
Tested-by: default avatar周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
Acked-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200113163329.34282-2-paul@crapouillou.net
parent b3a987b0
...@@ -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