Message ID | 20190131133928.17985-9-brgl@bgdev.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: davinci: modernize the irq support | expand |
On 1/31/19 7:39 AM, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Everything is in place now for SPARSE_IRQ. Select it and set > DAVINCI_INTC_START to NR_IRQS. > > We now need to include mach/irqs.h in a couple places as it is no > longer indirectly included after selecting SPARSE_IRQ. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- Reviewed-by: David Lechner <david@lechnology.com> ... > diff --git a/arch/arm/mach-davinci/include/mach/irqs.h b/arch/arm/mach-davinci/include/mach/irqs.h > index 14fa668d4e8d..317cbc42e5cd 100644 > --- a/arch/arm/mach-davinci/include/mach/irqs.h > +++ b/arch/arm/mach-davinci/include/mach/irqs.h > @@ -27,10 +27,12 @@ > #ifndef __ASM_ARCH_IRQS_H > #define __ASM_ARCH_IRQS_H > > +#include <asm/irq.h> > + > /* Base address */ > #define DAVINCI_ARM_INTC_BASE 0x01C48000 > > -#define DAVINCI_INTC_START 0 > +#define DAVINCI_INTC_START NR_IRQS > #define DAVINCI_INTC_IRQ(_irqnum) (DAVINCI_INTC_START + (_irqnum)) > > /* Interrupt lines */ > @@ -404,6 +406,5 @@ > /* da850 currently has the most gpio pins (144) */ > #define DAVINCI_N_GPIO 144 > /* da850 currently has the most irqs so use DA850_N_CP_INTC_IRQ */ It would make sense to delete this comment in this patch as well (although it gets deleted later anyway). > -#define NR_IRQS (DA850_N_CP_INTC_IRQ + DAVINCI_N_GPIO) > > #endif /* __ASM_ARCH_IRQS_H */
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f7770fdcad68..1037f49e050f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -595,6 +595,7 @@ config ARCH_DAVINCI select PM_GENERIC_DOMAINS if PM select PM_GENERIC_DOMAINS_OF if PM && OF select RESET_CONTROLLER + select SPARSE_IRQ select USE_OF select ZONE_DMA help diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index c4da635ee4ce..41f5a51fee9a 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c @@ -36,6 +36,7 @@ #include <asm/mach/arch.h> #include <mach/common.h> +#include <mach/irqs.h> #include "cp_intc.h" #include <mach/mux.h> #include <mach/da8xx.h> diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 44bca048dfd0..317f48560534 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c @@ -46,6 +46,7 @@ #include "cp_intc.h" #include <mach/da8xx.h> #include <mach/mux.h> +#include <mach/irqs.h> #include "sram.h" #include <asm/mach-types.h> diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index b80c4ee76217..16ffed2525e6 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -36,6 +36,7 @@ #include <asm/mach/arch.h> #include <mach/common.h> +#include <mach/irqs.h> #include <linux/platform_data/i2c-davinci.h> #include <mach/serial.h> #include <mach/mux.h> diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c index cf78da5ab054..65edd2aa9db5 100644 --- a/arch/arm/mach-davinci/devices-da8xx.c +++ b/arch/arm/mach-davinci/devices-da8xx.c @@ -25,6 +25,7 @@ #include <mach/cputype.h> #include <mach/da8xx.h> #include <mach/time.h> +#include <mach/irqs.h> #include "asp.h" #include "cpuidle.h" diff --git a/arch/arm/mach-davinci/include/mach/irqs.h b/arch/arm/mach-davinci/include/mach/irqs.h index 14fa668d4e8d..317cbc42e5cd 100644 --- a/arch/arm/mach-davinci/include/mach/irqs.h +++ b/arch/arm/mach-davinci/include/mach/irqs.h @@ -27,10 +27,12 @@ #ifndef __ASM_ARCH_IRQS_H #define __ASM_ARCH_IRQS_H +#include <asm/irq.h> + /* Base address */ #define DAVINCI_ARM_INTC_BASE 0x01C48000 -#define DAVINCI_INTC_START 0 +#define DAVINCI_INTC_START NR_IRQS #define DAVINCI_INTC_IRQ(_irqnum) (DAVINCI_INTC_START + (_irqnum)) /* Interrupt lines */ @@ -404,6 +406,5 @@ /* da850 currently has the most gpio pins (144) */ #define DAVINCI_N_GPIO 144 /* da850 currently has the most irqs so use DA850_N_CP_INTC_IRQ */ -#define NR_IRQS (DA850_N_CP_INTC_IRQ + DAVINCI_N_GPIO) #endif /* __ASM_ARCH_IRQS_H */ diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c index c874ea269411..2b8b653aeb98 100644 --- a/arch/arm/mach-davinci/irq.c +++ b/arch/arm/mach-davinci/irq.c @@ -28,6 +28,7 @@ #include <mach/hardware.h> #include <mach/cputype.h> #include <mach/common.h> +#include <mach/irqs.h> #include <asm/mach/irq.h> #include <asm/exception.h>