Re: [PATCH 07/35] ARM: davinci: aintc: use irq domain
From: Bartosz Golaszewski <hidden>
Date: 2019-02-05 16:29:22
Also in:
lkml
pon., 4 lut 2019 o 23:42 David Lechner [off-list ref] napisał(a):
On 1/31/19 7:39 AM, Bartosz Golaszewski wrote:quoted
From: Bartosz Golaszewski <redacted> We need to create an irq domain if we want to select SPARSE_IRQ. The cp-intc driver already supports it, but aintc doesn't. Use the helpers provided by the generic irq chip abstraction. Signed-off-by: Bartosz Golaszewski <redacted> --- arch/arm/mach-davinci/irq.c | 38 ++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-)diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c index e539bc65d4ef..c874ea269411 100644 --- a/arch/arm/mach-davinci/irq.c +++ b/arch/arm/mach-davinci/irq.c@@ -23,6 +23,7 @@ #include <linux/interrupt.h> #include <linux/irq.h> #include <linux/io.h> +#include <linux/irqdomain.h> #include <mach/hardware.h> #include <mach/cputype.h>@@ -43,6 +44,7 @@ #define IRQ_INTPRI7_REG_OFFSET 0x004C static void __iomem *davinci_intc_base; +static struct irq_domain *davinci_irq_domain; static inline void davinci_irq_writel(unsigned long value, int offset) {@@ -55,17 +57,15 @@ static inline unsigned long davinci_irq_readl(int offset) } static __init void -davinci_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num) +davinci_irq_setup_gc(void __iomem *base, + unsigned int irq_start, unsigned int num) { struct irq_chip_generic *gc; struct irq_chip_type *ct; - gc = irq_alloc_generic_chip("AINTC", 1, irq_start, base, handle_edge_irq); - if (!gc) { - pr_err("%s: irq_alloc_generic_chip for IRQ %u failed\n", - __func__, irq_start); - return; - } + gc = irq_get_domain_generic_chip(davinci_irq_domain, irq_start);check for (gc == NULL) here?
I can add it, but it's not really needed. We know we pass correct parameters to this routine and if it fails, the system won't boot anyway. Bart _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel