diff options
author | Tony Lindgren <tony@atomide.com> | 2008-07-03 05:24:41 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2008-07-03 05:24:41 -0400 |
commit | 44f78f43b349d19d378a996c4a2d9fcdff771b1e (patch) | |
tree | a011636b4cc05414d7b5b77a325659521ca7d0ba /include/asm-arm/arch-omap/irqs.h | |
parent | 78673bc898c2db7f4fac4871ec702c3443642308 (diff) |
ARM: OMAP: Clean up interrupt lines to fix warnings for multi-omap
If boards with different NR_IRQS are compiled together, tons of
compiler warnings are emitted about redefining NR_IRQS.
This patch fixes the problem by adding up NR_IRQS in a common place.
Patch also removes quite a bit of now unnecessary code.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'include/asm-arm/arch-omap/irqs.h')
-rw-r--r-- | include/asm-arm/arch-omap/irqs.h | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/include/asm-arm/arch-omap/irqs.h b/include/asm-arm/arch-omap/irqs.h index 87973654e625..7464c694859b 100644 --- a/include/asm-arm/arch-omap/irqs.h +++ b/include/asm-arm/arch-omap/irqs.h | |||
@@ -285,7 +285,41 @@ | |||
285 | #define OMAP_MAX_GPIO_LINES 192 | 285 | #define OMAP_MAX_GPIO_LINES 192 |
286 | #define IH_GPIO_BASE (128 + IH2_BASE) | 286 | #define IH_GPIO_BASE (128 + IH2_BASE) |
287 | #define IH_MPUIO_BASE (OMAP_MAX_GPIO_LINES + IH_GPIO_BASE) | 287 | #define IH_MPUIO_BASE (OMAP_MAX_GPIO_LINES + IH_GPIO_BASE) |
288 | #define IH_BOARD_BASE (16 + IH_MPUIO_BASE) | 288 | #define OMAP_IRQ_END (IH_MPUIO_BASE + 16) |
289 | |||
290 | /* External FPGA handles interrupts on Innovator boards */ | ||
291 | #define OMAP_FPGA_IRQ_BASE (OMAP_IRQ_END) | ||
292 | #ifdef CONFIG_MACH_OMAP_INNOVATOR | ||
293 | #define OMAP_FPGA_NR_IRQS 24 | ||
294 | #else | ||
295 | #define OMAP_FPGA_NR_IRQS 0 | ||
296 | #endif | ||
297 | #define OMAP_FPGA_IRQ_END (OMAP_FPGA_IRQ_BASE + OMAP_FPGA_NR_IRQS) | ||
298 | |||
299 | /* External TWL4030 can handle interrupts on 2430 and 34xx boards */ | ||
300 | #define TWL4030_IRQ_BASE (OMAP_FPGA_IRQ_END) | ||
301 | #ifdef CONFIG_TWL4030_CORE | ||
302 | #define TWL4030_BASE_NR_IRQS 8 | ||
303 | #define TWL4030_PWR_NR_IRQS 8 | ||
304 | #else | ||
305 | #define TWL4030_BASE_NR_IRQS 0 | ||
306 | #define TWL4030_PWR_NR_IRQS 0 | ||
307 | #endif | ||
308 | #define TWL4030_IRQ_END (TWL4030_IRQ_BASE + TWL4030_BASE_NR_IRQS) | ||
309 | #define TWL4030_PWR_IRQ_BASE TWL4030_IRQ_END | ||
310 | #define TWL4030_PWR_IRQ_END (TWL4030_PWR_IRQ_BASE + TWL4030_PWR_NR_IRQS) | ||
311 | |||
312 | /* External TWL4030 gpio interrupts are optional */ | ||
313 | #define TWL4030_GPIO_IRQ_BASE TWL4030_PWR_IRQ_END | ||
314 | #ifdef CONFIG_TWL4030_GPIO | ||
315 | #define TWL4030_GPIO_NR_IRQS 18 | ||
316 | #else | ||
317 | #define TWL4030_GPIO_NR_IRQS 0 | ||
318 | #endif | ||
319 | #define TWL4030_GPIO_IRQ_END (TWL4030_GPIO_IRQ_BASE + TWL4030_GPIO_NR_IRQS) | ||
320 | |||
321 | /* Total number of interrupts depends on the enabled blocks above */ | ||
322 | #define NR_IRQS TWL4030_GPIO_IRQ_END | ||
289 | 323 | ||
290 | #define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32)) | 324 | #define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32)) |
291 | 325 | ||
@@ -293,14 +327,6 @@ | |||
293 | extern void omap_init_irq(void); | 327 | extern void omap_init_irq(void); |
294 | #endif | 328 | #endif |
295 | 329 | ||
296 | /* | ||
297 | * The definition of NR_IRQS is in board-specific header file, which is | ||
298 | * included via hardware.h | ||
299 | */ | ||
300 | #include <asm/hardware.h> | 330 | #include <asm/hardware.h> |
301 | 331 | ||
302 | #ifndef NR_IRQS | ||
303 | #define NR_IRQS IH_BOARD_BASE | ||
304 | #endif | ||
305 | |||
306 | #endif | 332 | #endif |