diff options
-rw-r--r-- | arch/arm/mach-pxa/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/irqs.h | 16 |
2 files changed, 12 insertions, 5 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 47747f96f125..3b34f34db204 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -280,6 +280,7 @@ config MACH_ZYLONITE | |||
280 | select PXA3xx | 280 | select PXA3xx |
281 | select PXA_SSP | 281 | select PXA_SSP |
282 | select HAVE_PWM | 282 | select HAVE_PWM |
283 | select PXA_HAVE_BOARD_IRQS | ||
283 | 284 | ||
284 | config MACH_LITTLETON | 285 | config MACH_LITTLETON |
285 | bool "PXA3xx Form Factor Platform (aka Littleton)" | 286 | bool "PXA3xx Form Factor Platform (aka Littleton)" |
diff --git a/arch/arm/mach-pxa/include/mach/irqs.h b/arch/arm/mach-pxa/include/mach/irqs.h index 32bb4a2eb7f1..ebf38bbb347f 100644 --- a/arch/arm/mach-pxa/include/mach/irqs.h +++ b/arch/arm/mach-pxa/include/mach/irqs.h | |||
@@ -91,13 +91,21 @@ | |||
91 | #define IRQ_TO_GPIO(i) (((i) < IRQ_GPIO(2)) ? ((i) - IRQ_GPIO0) : IRQ_TO_GPIO_2_x(i)) | 91 | #define IRQ_TO_GPIO(i) (((i) < IRQ_GPIO(2)) ? ((i) - IRQ_GPIO0) : IRQ_TO_GPIO_2_x(i)) |
92 | 92 | ||
93 | /* | 93 | /* |
94 | * The next 16 interrupts are for board specific purposes. Since | 94 | * The following interrupts are for board specific purposes. Since |
95 | * the kernel can only run on one machine at a time, we can re-use | 95 | * the kernel can only run on one machine at a time, we can re-use |
96 | * these. If you need more, increase IRQ_BOARD_END, but keep it | 96 | * these. There will be 16 IRQs by default. If it is not enough, |
97 | * within sensible limits. | 97 | * IRQ_BOARD_END is allowed be customized for each board, but keep |
98 | * the numbers within sensible limits and in descending order, so | ||
99 | * when multiple config options are selected, the maximum will be | ||
100 | * used. | ||
98 | */ | 101 | */ |
99 | #define IRQ_BOARD_START (PXA_GPIO_IRQ_BASE + PXA_GPIO_IRQ_NUM) | 102 | #define IRQ_BOARD_START (PXA_GPIO_IRQ_BASE + PXA_GPIO_IRQ_NUM) |
103 | |||
104 | #if defined(CONFIG_MACH_ZYLONITE) | ||
105 | #define IRQ_BOARD_END (IRQ_BOARD_START + 32) | ||
106 | #else | ||
100 | #define IRQ_BOARD_END (IRQ_BOARD_START + 16) | 107 | #define IRQ_BOARD_END (IRQ_BOARD_START + 16) |
108 | #endif | ||
101 | 109 | ||
102 | #define IRQ_SA1111_START (IRQ_BOARD_END) | 110 | #define IRQ_SA1111_START (IRQ_BOARD_END) |
103 | #define IRQ_GPAIN0 (IRQ_BOARD_END + 0) | 111 | #define IRQ_GPAIN0 (IRQ_BOARD_END + 0) |
@@ -188,8 +196,6 @@ | |||
188 | #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) | 196 | #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) |
189 | #elif defined(CONFIG_PXA_HAVE_BOARD_IRQS) | 197 | #elif defined(CONFIG_PXA_HAVE_BOARD_IRQS) |
190 | #define NR_IRQS (IRQ_BOARD_END) | 198 | #define NR_IRQS (IRQ_BOARD_END) |
191 | #elif defined(CONFIG_MACH_ZYLONITE) | ||
192 | #define NR_IRQS (IRQ_BOARD_START + 32) | ||
193 | #else | 199 | #else |
194 | #define NR_IRQS (IRQ_BOARD_START) | 200 | #define NR_IRQS (IRQ_BOARD_START) |
195 | #endif | 201 | #endif |