aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/mach-sa1100/badge4.c1
-rw-r--r--arch/arm/mach-sa1100/include/mach/irqs.h21
-rw-r--r--arch/arm/mach-sa1100/jornada720.c1
-rw-r--r--arch/arm/mach-sa1100/neponset.c1
5 files changed, 13 insertions, 12 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a48aecc17eac..34aed718faed 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -760,6 +760,7 @@ config ARCH_SA1100
760 select ARCH_REQUIRE_GPIOLIB 760 select ARCH_REQUIRE_GPIOLIB
761 select HAVE_IDE 761 select HAVE_IDE
762 select NEED_MACH_MEMORY_H 762 select NEED_MACH_MEMORY_H
763 select SPARSE_IRQ
763 help 764 help
764 Support for StrongARM 11x0 based boards. 765 Support for StrongARM 11x0 based boards.
765 766
diff --git a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c
index 8c805425b684..e0f0c030258c 100644
--- a/arch/arm/mach-sa1100/badge4.c
+++ b/arch/arm/mach-sa1100/badge4.c
@@ -57,7 +57,6 @@ static void badge4_sa1111_disable(void *data, unsigned devid)
57} 57}
58 58
59static struct sa1111_platform_data sa1111_info = { 59static struct sa1111_platform_data sa1111_info = {
60 .irq_base = IRQ_BOARD_END,
61 .disable_devs = SA1111_DEVID_PS2_MSE, 60 .disable_devs = SA1111_DEVID_PS2_MSE,
62 .enable = badge4_sa1111_enable, 61 .enable = badge4_sa1111_enable,
63 .disable = badge4_sa1111_disable, 62 .disable = badge4_sa1111_disable,
diff --git a/arch/arm/mach-sa1100/include/mach/irqs.h b/arch/arm/mach-sa1100/include/mach/irqs.h
index 0ad78218c9f3..3790298b7142 100644
--- a/arch/arm/mach-sa1100/include/mach/irqs.h
+++ b/arch/arm/mach-sa1100/include/mach/irqs.h
@@ -71,16 +71,19 @@
71/* 71/*
72 * Figure out the MAX IRQ number. 72 * Figure out the MAX IRQ number.
73 * 73 *
74 * If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1. 74 * Neponset, SA1111 and UCB1x00 are sparse IRQ aware, so can dynamically
75 * If we have an LoCoMo, the max IRQ is IRQ_BOARD_START + 4 75 * allocate their IRQs above NR_IRQS.
76 * Otherwise, we have the standard IRQs only. 76 *
77 * LoCoMo has 4 additional IRQs, but is not sparse IRQ aware, and so has
78 * to be included in the NR_IRQS calculation.
77 */ 79 */
78#ifdef CONFIG_SA1111 80#ifdef CONFIG_SHARP_LOCOMO
79#define NR_IRQS (IRQ_BOARD_END + 55) 81#define NR_IRQS_LOCOMO 4
80#elif defined(CONFIG_SHARP_LOCOMO)
81#define NR_IRQS (IRQ_BOARD_START + 4)
82#else 82#else
83#define NR_IRQS (IRQ_BOARD_START) 83#define NR_IRQS_LOCOMO 0
84#endif 84#endif
85 85
86#define SA1100_NR_IRQS NR_IRQS 86#ifndef NR_IRQS
87#define NR_IRQS (IRQ_BOARD_START + NR_IRQS_LOCOMO)
88#endif
89#define SA1100_NR_IRQS (IRQ_BOARD_START + NR_IRQS_LOCOMO)
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c
index b7dcb1887aca..ca7a7e834720 100644
--- a/arch/arm/mach-sa1100/jornada720.c
+++ b/arch/arm/mach-sa1100/jornada720.c
@@ -195,7 +195,6 @@ static struct resource sa1111_resources[] = {
195}; 195};
196 196
197static struct sa1111_platform_data sa1111_info = { 197static struct sa1111_platform_data sa1111_info = {
198 .irq_base = IRQ_BOARD_END,
199 .disable_devs = SA1111_DEVID_PS2_MSE, 198 .disable_devs = SA1111_DEVID_PS2_MSE,
200}; 199};
201 200
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c
index b04a8f1928fc..6c58f01b358a 100644
--- a/arch/arm/mach-sa1100/neponset.c
+++ b/arch/arm/mach-sa1100/neponset.c
@@ -229,7 +229,6 @@ static struct irq_chip nochip = {
229}; 229};
230 230
231static struct sa1111_platform_data sa1111_info = { 231static struct sa1111_platform_data sa1111_info = {
232 .irq_base = IRQ_BOARD_END,
233 .disable_devs = SA1111_DEVID_PS2_MSE, 232 .disable_devs = SA1111_DEVID_PS2_MSE,
234}; 233};
235 234