diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f7770fdcad68b32b14edc862919fc528c1ecc177..1037f49e050f68d0a75eb6b041ff2aafe925dc6d 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 0c5df303cc7ed41951bef0bae86b7fca8a22468c..64eeb6087f142b28f8b33f60d7b4070531c22c17 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 8b1afcf13263d97c8302842562c5ef4e0d139ce8..cebaa58d2f77b9ecc0b0640d3c56a44469d9c462 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 efe4e170e87d915b8cee1dcf82738920b42e8a0f..fe4f731df3fdc31afcbf3e6f1c7b1d327cb2dd9a 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 298165095d316e0a0ea58b86e18b43180a8b5952..3104a3eb2ddfc5bfaa818fe577bce9182fec8bec 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/common.h b/arch/arm/mach-davinci/include/mach/common.h index d840023eaaac3211035d47e47f18f64a9150b212..1ceed034598891d1da83a33081f7c4ab7854ee3e 100644 --- a/arch/arm/mach-davinci/include/mach/common.h +++ b/arch/arm/mach-davinci/include/mach/common.h @@ -17,7 +17,9 @@ #include <linux/types.h> #include <linux/reboot.h> -#define DAVINCI_INTC_START 0 +#include <asm/irq.h> + +#define DAVINCI_INTC_START NR_IRQS #define DAVINCI_INTC_IRQ(_irqnum) (DAVINCI_INTC_START + (_irqnum)) void davinci_timer_init(struct clk *clk); diff --git a/arch/arm/mach-davinci/include/mach/irqs.h b/arch/arm/mach-davinci/include/mach/irqs.h index 03c4466353013fdc838d897b3f249d89ae877d37..8f9fc7a56ce8dc948978354128ac4b6af17fbfc4 100644 --- a/arch/arm/mach-davinci/include/mach/irqs.h +++ b/arch/arm/mach-davinci/include/mach/irqs.h @@ -401,6 +401,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 80bf99c8fa55802188b46ea462e1c200b5dfc4af..34b0eec4de4eb5442c0c245e72c6b6b3686736d0 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>