summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-12-02 16:27:05 -0500
committerGregory CLEMENT <gregory.clement@free-electrons.com>2015-12-07 12:17:07 -0500
commit5cdbe5d23a8a0d7274d628bb9d5ff018d25075ca (patch)
tree6d75ee537457ca1af87ec5652775f8d32ca69f10 /arch/arm
parentb8cd337c8e0330f4a29b3d1f69b7c73b324b1f8d (diff)
ARM: orion: use SPARSE_IRQ everywhere
As a preparation for multiplatform support, this moves all the code using plat-orion over to use sparse irq support, which is enabled implicitly for multiplatform. In particular, the hardcoded NR_IRQS macro gets replaced with a machine specific one that is set in the machine descriptor in order to set up a static mapping for all legacy interrupts. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/mach-dove/cm-a510.c1
-rw-r--r--arch/arm/mach-dove/dove-db-setup.c1
-rw-r--r--arch/arm/mach-dove/include/mach/dove.h2
-rw-r--r--arch/arm/mach-dove/include/mach/irqs.h2
-rw-r--r--arch/arm/mach-dove/include/mach/pm.h2
-rw-r--r--arch/arm/mach-dove/irq.c2
-rw-r--r--arch/arm/mach-mv78xx0/buffalo-wxl-setup.c1
-rw-r--r--arch/arm/mach-mv78xx0/db78x00-bp-setup.c1
-rw-r--r--arch/arm/mach-mv78xx0/include/mach/irqs.h2
-rw-r--r--arch/arm/mach-mv78xx0/include/mach/mv78xx0.h2
-rw-r--r--arch/arm/mach-mv78xx0/rd78x00-masa-setup.c1
-rw-r--r--arch/arm/mach-orion5x/db88f5281-setup.c1
-rw-r--r--arch/arm/mach-orion5x/dns323-setup.c1
-rw-r--r--arch/arm/mach-orion5x/include/mach/irqs.h2
-rw-r--r--arch/arm/mach-orion5x/include/mach/orion5x.h2
-rw-r--r--arch/arm/mach-orion5x/kurobox_pro-setup.c2
-rw-r--r--arch/arm/mach-orion5x/ls-chl-setup.c1
-rw-r--r--arch/arm/mach-orion5x/ls_hgl-setup.c1
-rw-r--r--arch/arm/mach-orion5x/mv2120-setup.c1
-rw-r--r--arch/arm/mach-orion5x/net2big-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f5181l-ge-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f5182-setup.c1
-rw-r--r--arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c1
-rw-r--r--arch/arm/mach-orion5x/terastation_pro2-setup.c1
-rw-r--r--arch/arm/mach-orion5x/ts209-setup.c1
-rw-r--r--arch/arm/mach-orion5x/ts409-setup.c1
-rw-r--r--arch/arm/mach-orion5x/ts78xx-setup.c1
-rw-r--r--arch/arm/mach-orion5x/wnr854t-setup.c1
-rw-r--r--arch/arm/mach-orion5x/wrt350n-v2-setup.c1
31 files changed, 37 insertions, 5 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 76f2526f86b9..567c83380128 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -515,6 +515,7 @@ config ARCH_DOVE
515 select PINCTRL 515 select PINCTRL
516 select PINCTRL_DOVE 516 select PINCTRL_DOVE
517 select PLAT_ORION_LEGACY 517 select PLAT_ORION_LEGACY
518 select SPARSE_IRQ
518 help 519 help
519 Support for the Marvell Dove SoC 88AP510 520 Support for the Marvell Dove SoC 88AP510
520 521
@@ -527,6 +528,7 @@ config ARCH_MV78XX0
527 select MULTI_IRQ_HANDLER 528 select MULTI_IRQ_HANDLER
528 select PCI 529 select PCI
529 select PLAT_ORION_LEGACY 530 select PLAT_ORION_LEGACY
531 select SPARSE_IRQ
530 help 532 help
531 Support for the following Marvell MV78xx0 series SoCs: 533 Support for the following Marvell MV78xx0 series SoCs:
532 MV781x0, MV782x0. 534 MV781x0, MV782x0.
@@ -542,6 +544,7 @@ config ARCH_ORION5X
542 select PCI 544 select PCI
543 select PLAT_ORION_LEGACY 545 select PLAT_ORION_LEGACY
544 select MULTI_IRQ_HANDLER 546 select MULTI_IRQ_HANDLER
547 select SPARSE_IRQ
545 help 548 help
546 Support for the following Marvell Orion 5x series SoCs: 549 Support for the following Marvell Orion 5x series SoCs:
547 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), 550 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
diff --git a/arch/arm/mach-dove/cm-a510.c b/arch/arm/mach-dove/cm-a510.c
index 0dc39cf30fdd..b9a7c33db29a 100644
--- a/arch/arm/mach-dove/cm-a510.c
+++ b/arch/arm/mach-dove/cm-a510.c
@@ -88,6 +88,7 @@ static void __init cm_a510_init(void)
88 88
89MACHINE_START(CM_A510, "Compulab CM-A510 Board") 89MACHINE_START(CM_A510, "Compulab CM-A510 Board")
90 .atag_offset = 0x100, 90 .atag_offset = 0x100,
91 .nr_irqs = DOVE_NR_IRQS,
91 .init_machine = cm_a510_init, 92 .init_machine = cm_a510_init,
92 .map_io = dove_map_io, 93 .map_io = dove_map_io,
93 .init_early = dove_init_early, 94 .init_early = dove_init_early,
diff --git a/arch/arm/mach-dove/dove-db-setup.c b/arch/arm/mach-dove/dove-db-setup.c
index 76e26f949c27..bcb678fd2415 100644
--- a/arch/arm/mach-dove/dove-db-setup.c
+++ b/arch/arm/mach-dove/dove-db-setup.c
@@ -94,6 +94,7 @@ static void __init dove_db_init(void)
94 94
95MACHINE_START(DOVE_DB, "Marvell DB-MV88AP510-BP Development Board") 95MACHINE_START(DOVE_DB, "Marvell DB-MV88AP510-BP Development Board")
96 .atag_offset = 0x100, 96 .atag_offset = 0x100,
97 .nr_irqs = DOVE_NR_IRQS,
97 .init_machine = dove_db_init, 98 .init_machine = dove_db_init,
98 .map_io = dove_map_io, 99 .map_io = dove_map_io,
99 .init_early = dove_init_early, 100 .init_early = dove_init_early,
diff --git a/arch/arm/mach-dove/include/mach/dove.h b/arch/arm/mach-dove/include/mach/dove.h
index 0c4b35f4ee5b..00f45458b3ec 100644
--- a/arch/arm/mach-dove/include/mach/dove.h
+++ b/arch/arm/mach-dove/include/mach/dove.h
@@ -11,6 +11,8 @@
11#ifndef __ASM_ARCH_DOVE_H 11#ifndef __ASM_ARCH_DOVE_H
12#define __ASM_ARCH_DOVE_H 12#define __ASM_ARCH_DOVE_H
13 13
14#include <mach/irqs.h>
15
14/* 16/*
15 * Marvell Dove address maps. 17 * Marvell Dove address maps.
16 * 18 *
diff --git a/arch/arm/mach-dove/include/mach/irqs.h b/arch/arm/mach-dove/include/mach/irqs.h
index 3f29e6bca058..8ff0fa8b4fcd 100644
--- a/arch/arm/mach-dove/include/mach/irqs.h
+++ b/arch/arm/mach-dove/include/mach/irqs.h
@@ -90,7 +90,7 @@
90#define NR_PMU_IRQS 7 90#define NR_PMU_IRQS 7
91#define IRQ_DOVE_RTC (IRQ_DOVE_PMU_START + 5) 91#define IRQ_DOVE_RTC (IRQ_DOVE_PMU_START + 5)
92 92
93#define NR_IRQS (IRQ_DOVE_PMU_START + NR_PMU_IRQS) 93#define DOVE_NR_IRQS (IRQ_DOVE_PMU_START + NR_PMU_IRQS)
94 94
95 95
96#endif 96#endif
diff --git a/arch/arm/mach-dove/include/mach/pm.h b/arch/arm/mach-dove/include/mach/pm.h
index b47f75038686..9834ba10cd13 100644
--- a/arch/arm/mach-dove/include/mach/pm.h
+++ b/arch/arm/mach-dove/include/mach/pm.h
@@ -63,7 +63,7 @@ static inline int pmu_to_irq(int pin)
63 63
64static inline int irq_to_pmu(int irq) 64static inline int irq_to_pmu(int irq)
65{ 65{
66 if (IRQ_DOVE_PMU_START <= irq && irq < NR_IRQS) 66 if (IRQ_DOVE_PMU_START <= irq && irq < DOVE_NR_IRQS)
67 return irq - IRQ_DOVE_PMU_START; 67 return irq - IRQ_DOVE_PMU_START;
68 68
69 return -EINVAL; 69 return -EINVAL;
diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
index b1c7cae1486b..ad785d34c1e7 100644
--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -160,7 +160,7 @@ void __init dove_init_irq(void)
160 writel(0, PMU_INTERRUPT_MASK); 160 writel(0, PMU_INTERRUPT_MASK);
161 writel(0, PMU_INTERRUPT_CAUSE); 161 writel(0, PMU_INTERRUPT_CAUSE);
162 162
163 for (i = IRQ_DOVE_PMU_START; i < NR_IRQS; i++) { 163 for (i = IRQ_DOVE_PMU_START; i < DOVE_NR_IRQS; i++) {
164 irq_set_chip_and_handler(i, &pmu_irq_chip, handle_level_irq); 164 irq_set_chip_and_handler(i, &pmu_irq_chip, handle_level_irq);
165 irq_set_status_flags(i, IRQ_LEVEL); 165 irq_set_status_flags(i, IRQ_LEVEL);
166 irq_clear_status_flags(i, IRQ_NOREQUEST); 166 irq_clear_status_flags(i, IRQ_NOREQUEST);
diff --git a/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c b/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
index 1f2ef98b37c6..1607fd5e206e 100644
--- a/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
+++ b/arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
@@ -146,6 +146,7 @@ subsys_initcall(wxl_pci_init);
146MACHINE_START(TERASTATION_WXL, "Buffalo Nas WXL") 146MACHINE_START(TERASTATION_WXL, "Buffalo Nas WXL")
147 /* Maintainer: Sebastien Requiem <sebastien@requiem.fr> */ 147 /* Maintainer: Sebastien Requiem <sebastien@requiem.fr> */
148 .atag_offset = 0x100, 148 .atag_offset = 0x100,
149 .nr_irqs = MV78XX0_NR_IRQS,
149 .init_machine = wxl_init, 150 .init_machine = wxl_init,
150 .map_io = mv78xx0_map_io, 151 .map_io = mv78xx0_map_io,
151 .init_early = mv78xx0_init_early, 152 .init_early = mv78xx0_init_early,
diff --git a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
index 4e0f22b30bc8..0c5dd6fceb6b 100644
--- a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
+++ b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c
@@ -94,6 +94,7 @@ subsys_initcall(db78x00_pci_init);
94MACHINE_START(DB78X00_BP, "Marvell DB-78x00-BP Development Board") 94MACHINE_START(DB78X00_BP, "Marvell DB-78x00-BP Development Board")
95 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */ 95 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
96 .atag_offset = 0x100, 96 .atag_offset = 0x100,
97 .nr_irqs = MV78XX0_NR_IRQS,
97 .init_machine = db78x00_init, 98 .init_machine = db78x00_init,
98 .map_io = mv78xx0_map_io, 99 .map_io = mv78xx0_map_io,
99 .init_early = mv78xx0_init_early, 100 .init_early = mv78xx0_init_early,
diff --git a/arch/arm/mach-mv78xx0/include/mach/irqs.h b/arch/arm/mach-mv78xx0/include/mach/irqs.h
index fa1d422196c2..ac96bcf3d268 100644
--- a/arch/arm/mach-mv78xx0/include/mach/irqs.h
+++ b/arch/arm/mach-mv78xx0/include/mach/irqs.h
@@ -88,7 +88,7 @@
88#define IRQ_MV78XX0_GPIO_START 96 88#define IRQ_MV78XX0_GPIO_START 96
89#define NR_GPIO_IRQS 32 89#define NR_GPIO_IRQS 32
90 90
91#define NR_IRQS (IRQ_MV78XX0_GPIO_START + NR_GPIO_IRQS) 91#define MV78XX0_NR_IRQS (IRQ_MV78XX0_GPIO_START + NR_GPIO_IRQS)
92 92
93 93
94#endif 94#endif
diff --git a/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h b/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
index 723748d8ba7d..0972d5f9b46d 100644
--- a/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
+++ b/arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
@@ -12,6 +12,8 @@
12#ifndef __ASM_ARCH_MV78XX0_H 12#ifndef __ASM_ARCH_MV78XX0_H
13#define __ASM_ARCH_MV78XX0_H 13#define __ASM_ARCH_MV78XX0_H
14 14
15#include "irqs.h"
16
15/* 17/*
16 * Marvell MV78xx0 address maps. 18 * Marvell MV78xx0 address maps.
17 * 19 *
diff --git a/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c b/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
index d2d06f3957f3..a0a3debf8c21 100644
--- a/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
+++ b/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
@@ -79,6 +79,7 @@ subsys_initcall(rd78x00_pci_init);
79MACHINE_START(RD78X00_MASA, "Marvell RD-78x00-MASA Development Board") 79MACHINE_START(RD78X00_MASA, "Marvell RD-78x00-MASA Development Board")
80 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */ 80 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
81 .atag_offset = 0x100, 81 .atag_offset = 0x100,
82 .nr_irqs = MV78XX0_NR_IRQS,
82 .init_machine = rd78x00_masa_init, 83 .init_machine = rd78x00_masa_init,
83 .map_io = mv78xx0_map_io, 84 .map_io = mv78xx0_map_io,
84 .init_early = mv78xx0_init_early, 85 .init_early = mv78xx0_init_early,
diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c
index dc01c4ffc9a8..698528fee39d 100644
--- a/arch/arm/mach-orion5x/db88f5281-setup.c
+++ b/arch/arm/mach-orion5x/db88f5281-setup.c
@@ -369,6 +369,7 @@ static void __init db88f5281_init(void)
369MACHINE_START(DB88F5281, "Marvell Orion-2 Development Board") 369MACHINE_START(DB88F5281, "Marvell Orion-2 Development Board")
370 /* Maintainer: Tzachi Perelstein <tzachi@marvell.com> */ 370 /* Maintainer: Tzachi Perelstein <tzachi@marvell.com> */
371 .atag_offset = 0x100, 371 .atag_offset = 0x100,
372 .nr_irqs = ORION5X_NR_IRQS,
372 .init_machine = db88f5281_init, 373 .init_machine = db88f5281_init,
373 .map_io = orion5x_map_io, 374 .map_io = orion5x_map_io,
374 .init_early = orion5x_init_early, 375 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index bc279a853075..96a8c50e7223 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -666,6 +666,7 @@ static void __init dns323_init(void)
666MACHINE_START(DNS323, "D-Link DNS-323") 666MACHINE_START(DNS323, "D-Link DNS-323")
667 /* Maintainer: Herbert Valerio Riedel <hvr@gnu.org> */ 667 /* Maintainer: Herbert Valerio Riedel <hvr@gnu.org> */
668 .atag_offset = 0x100, 668 .atag_offset = 0x100,
669 .nr_irqs = ORION5X_NR_IRQS,
669 .init_machine = dns323_init, 670 .init_machine = dns323_init,
670 .map_io = orion5x_map_io, 671 .map_io = orion5x_map_io,
671 .init_early = orion5x_init_early, 672 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/include/mach/irqs.h b/arch/arm/mach-orion5x/include/mach/irqs.h
index 2431d9923427..4b8703cd1ccb 100644
--- a/arch/arm/mach-orion5x/include/mach/irqs.h
+++ b/arch/arm/mach-orion5x/include/mach/irqs.h
@@ -54,7 +54,7 @@
54#define IRQ_ORION5X_GPIO_START 33 54#define IRQ_ORION5X_GPIO_START 33
55#define NR_GPIO_IRQS 32 55#define NR_GPIO_IRQS 32
56 56
57#define NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS) 57#define ORION5X_NR_IRQS (IRQ_ORION5X_GPIO_START + NR_GPIO_IRQS)
58 58
59 59
60#endif 60#endif
diff --git a/arch/arm/mach-orion5x/include/mach/orion5x.h b/arch/arm/mach-orion5x/include/mach/orion5x.h
index b78ff3248868..7be7c2e05465 100644
--- a/arch/arm/mach-orion5x/include/mach/orion5x.h
+++ b/arch/arm/mach-orion5x/include/mach/orion5x.h
@@ -14,6 +14,8 @@
14#ifndef __ASM_ARCH_ORION5X_H 14#ifndef __ASM_ARCH_ORION5X_H
15#define __ASM_ARCH_ORION5X_H 15#define __ASM_ARCH_ORION5X_H
16 16
17#include <mach/irqs.h>
18
17/***************************************************************************** 19/*****************************************************************************
18 * Orion Address Maps 20 * Orion Address Maps
19 * 21 *
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c
index fe6a48a325e8..b1ebb3721638 100644
--- a/arch/arm/mach-orion5x/kurobox_pro-setup.c
+++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c
@@ -383,6 +383,7 @@ static void __init kurobox_pro_init(void)
383MACHINE_START(KUROBOX_PRO, "Buffalo/Revogear Kurobox Pro") 383MACHINE_START(KUROBOX_PRO, "Buffalo/Revogear Kurobox Pro")
384 /* Maintainer: Ronen Shitrit <rshitrit@marvell.com> */ 384 /* Maintainer: Ronen Shitrit <rshitrit@marvell.com> */
385 .atag_offset = 0x100, 385 .atag_offset = 0x100,
386 .nr_irqs = ORION5X_NR_IRQS,
386 .init_machine = kurobox_pro_init, 387 .init_machine = kurobox_pro_init,
387 .map_io = orion5x_map_io, 388 .map_io = orion5x_map_io,
388 .init_early = orion5x_init_early, 389 .init_early = orion5x_init_early,
@@ -397,6 +398,7 @@ MACHINE_END
397MACHINE_START(LINKSTATION_PRO, "Buffalo Linkstation Pro/Live") 398MACHINE_START(LINKSTATION_PRO, "Buffalo Linkstation Pro/Live")
398 /* Maintainer: Byron Bradley <byron.bbradley@gmail.com> */ 399 /* Maintainer: Byron Bradley <byron.bbradley@gmail.com> */
399 .atag_offset = 0x100, 400 .atag_offset = 0x100,
401 .nr_irqs = ORION5X_NR_IRQS,
400 .init_machine = kurobox_pro_init, 402 .init_machine = kurobox_pro_init,
401 .map_io = orion5x_map_io, 403 .map_io = orion5x_map_io,
402 .init_early = orion5x_init_early, 404 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/ls-chl-setup.c b/arch/arm/mach-orion5x/ls-chl-setup.c
index 028ea038d404..cb8720e6d02b 100644
--- a/arch/arm/mach-orion5x/ls-chl-setup.c
+++ b/arch/arm/mach-orion5x/ls-chl-setup.c
@@ -320,6 +320,7 @@ static void __init lschl_init(void)
320MACHINE_START(LINKSTATION_LSCHL, "Buffalo Linkstation LiveV3 (LS-CHL)") 320MACHINE_START(LINKSTATION_LSCHL, "Buffalo Linkstation LiveV3 (LS-CHL)")
321 /* Maintainer: Ash Hughes <ashley.hughes@blueyonder.co.uk> */ 321 /* Maintainer: Ash Hughes <ashley.hughes@blueyonder.co.uk> */
322 .atag_offset = 0x100, 322 .atag_offset = 0x100,
323 .nr_irqs = ORION5X_NR_IRQS,
323 .init_machine = lschl_init, 324 .init_machine = lschl_init,
324 .map_io = orion5x_map_io, 325 .map_io = orion5x_map_io,
325 .init_early = orion5x_init_early, 326 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/ls_hgl-setup.c b/arch/arm/mach-orion5x/ls_hgl-setup.c
index 32b7129b767d..0ddfa23821ec 100644
--- a/arch/arm/mach-orion5x/ls_hgl-setup.c
+++ b/arch/arm/mach-orion5x/ls_hgl-setup.c
@@ -267,6 +267,7 @@ static void __init ls_hgl_init(void)
267MACHINE_START(LINKSTATION_LS_HGL, "Buffalo Linkstation LS-HGL") 267MACHINE_START(LINKSTATION_LS_HGL, "Buffalo Linkstation LS-HGL")
268 /* Maintainer: Zhu Qingsen <zhuqs@cn.fujistu.com> */ 268 /* Maintainer: Zhu Qingsen <zhuqs@cn.fujistu.com> */
269 .atag_offset = 0x100, 269 .atag_offset = 0x100,
270 .nr_irqs = ORION5X_NR_IRQS,
270 .init_machine = ls_hgl_init, 271 .init_machine = ls_hgl_init,
271 .map_io = orion5x_map_io, 272 .map_io = orion5x_map_io,
272 .init_early = orion5x_init_early, 273 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/mv2120-setup.c b/arch/arm/mach-orion5x/mv2120-setup.c
index e032f01da49e..11985dc45c47 100644
--- a/arch/arm/mach-orion5x/mv2120-setup.c
+++ b/arch/arm/mach-orion5x/mv2120-setup.c
@@ -232,6 +232,7 @@ static void __init mv2120_init(void)
232MACHINE_START(MV2120, "HP Media Vault mv2120") 232MACHINE_START(MV2120, "HP Media Vault mv2120")
233 /* Maintainer: Martin Michlmayr <tbm@cyrius.com> */ 233 /* Maintainer: Martin Michlmayr <tbm@cyrius.com> */
234 .atag_offset = 0x100, 234 .atag_offset = 0x100,
235 .nr_irqs = ORION5X_NR_IRQS,
235 .init_machine = mv2120_init, 236 .init_machine = mv2120_init,
236 .map_io = orion5x_map_io, 237 .map_io = orion5x_map_io,
237 .init_early = orion5x_init_early, 238 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/net2big-setup.c b/arch/arm/mach-orion5x/net2big-setup.c
index ba73dc7ffb9e..e91abcc2213d 100644
--- a/arch/arm/mach-orion5x/net2big-setup.c
+++ b/arch/arm/mach-orion5x/net2big-setup.c
@@ -423,6 +423,7 @@ static void __init net2big_init(void)
423/* Warning: LaCie use a wrong mach-type (0x20e=526) in their bootloader. */ 423/* Warning: LaCie use a wrong mach-type (0x20e=526) in their bootloader. */
424MACHINE_START(NET2BIG, "LaCie 2Big Network") 424MACHINE_START(NET2BIG, "LaCie 2Big Network")
425 .atag_offset = 0x100, 425 .atag_offset = 0x100,
426 .nr_irqs = ORION5X_NR_IRQS,
426 .init_machine = net2big_init, 427 .init_machine = net2big_init,
427 .map_io = orion5x_map_io, 428 .map_io = orion5x_map_io,
428 .init_early = orion5x_init_early, 429 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
index 213b3e143c57..69a6e5b20b0b 100644
--- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
@@ -169,6 +169,7 @@ subsys_initcall(rd88f5181l_fxo_pci_init);
169MACHINE_START(RD88F5181L_FXO, "Marvell Orion-VoIP FXO Reference Design") 169MACHINE_START(RD88F5181L_FXO, "Marvell Orion-VoIP FXO Reference Design")
170 /* Maintainer: Nicolas Pitre <nico@marvell.com> */ 170 /* Maintainer: Nicolas Pitre <nico@marvell.com> */
171 .atag_offset = 0x100, 171 .atag_offset = 0x100,
172 .nr_irqs = ORION5X_NR_IRQS,
172 .init_machine = rd88f5181l_fxo_init, 173 .init_machine = rd88f5181l_fxo_init,
173 .map_io = orion5x_map_io, 174 .map_io = orion5x_map_io,
174 .init_early = orion5x_init_early, 175 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
index 594800e1d691..e19f8b7f87b3 100644
--- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
@@ -181,6 +181,7 @@ subsys_initcall(rd88f5181l_ge_pci_init);
181MACHINE_START(RD88F5181L_GE, "Marvell Orion-VoIP GE Reference Design") 181MACHINE_START(RD88F5181L_GE, "Marvell Orion-VoIP GE Reference Design")
182 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */ 182 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
183 .atag_offset = 0x100, 183 .atag_offset = 0x100,
184 .nr_irqs = ORION5X_NR_IRQS,
184 .init_machine = rd88f5181l_ge_init, 185 .init_machine = rd88f5181l_ge_init,
185 .map_io = orion5x_map_io, 186 .map_io = orion5x_map_io,
186 .init_early = orion5x_init_early, 187 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c
index b576ef5f18a1..180a4f972d3d 100644
--- a/arch/arm/mach-orion5x/rd88f5182-setup.c
+++ b/arch/arm/mach-orion5x/rd88f5182-setup.c
@@ -281,6 +281,7 @@ static void __init rd88f5182_init(void)
281MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design") 281MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design")
282 /* Maintainer: Ronen Shitrit <rshitrit@marvell.com> */ 282 /* Maintainer: Ronen Shitrit <rshitrit@marvell.com> */
283 .atag_offset = 0x100, 283 .atag_offset = 0x100,
284 .nr_irqs = ORION5X_NR_IRQS,
284 .init_machine = rd88f5182_init, 285 .init_machine = rd88f5182_init,
285 .map_io = orion5x_map_io, 286 .map_io = orion5x_map_io,
286 .init_early = orion5x_init_early, 287 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
index 78a1e6ab1b9d..cc5bdbe70fa9 100644
--- a/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
+++ b/arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
@@ -119,6 +119,7 @@ subsys_initcall(rd88f6183ap_ge_pci_init);
119MACHINE_START(RD88F6183AP_GE, "Marvell Orion-1-90 AP GE Reference Design") 119MACHINE_START(RD88F6183AP_GE, "Marvell Orion-1-90 AP GE Reference Design")
120 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */ 120 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
121 .atag_offset = 0x100, 121 .atag_offset = 0x100,
122 .nr_irqs = ORION5X_NR_IRQS,
122 .init_machine = rd88f6183ap_ge_init, 123 .init_machine = rd88f6183ap_ge_init,
123 .map_io = orion5x_map_io, 124 .map_io = orion5x_map_io,
124 .init_early = orion5x_init_early, 125 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/terastation_pro2-setup.c b/arch/arm/mach-orion5x/terastation_pro2-setup.c
index 12086745c9fd..ad2057514deb 100644
--- a/arch/arm/mach-orion5x/terastation_pro2-setup.c
+++ b/arch/arm/mach-orion5x/terastation_pro2-setup.c
@@ -359,6 +359,7 @@ static void __init tsp2_init(void)
359MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live") 359MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live")
360 /* Maintainer: Sylver Bruneau <sylver.bruneau@googlemail.com> */ 360 /* Maintainer: Sylver Bruneau <sylver.bruneau@googlemail.com> */
361 .atag_offset = 0x100, 361 .atag_offset = 0x100,
362 .nr_irqs = ORION5X_NR_IRQS,
362 .init_machine = tsp2_init, 363 .init_machine = tsp2_init,
363 .map_io = orion5x_map_io, 364 .map_io = orion5x_map_io,
364 .init_early = orion5x_init_early, 365 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c
index c725b7cb9875..1cfc364c9b1e 100644
--- a/arch/arm/mach-orion5x/ts209-setup.c
+++ b/arch/arm/mach-orion5x/ts209-setup.c
@@ -324,6 +324,7 @@ static void __init qnap_ts209_init(void)
324MACHINE_START(TS209, "QNAP TS-109/TS-209") 324MACHINE_START(TS209, "QNAP TS-109/TS-209")
325 /* Maintainer: Byron Bradley <byron.bbradley@gmail.com> */ 325 /* Maintainer: Byron Bradley <byron.bbradley@gmail.com> */
326 .atag_offset = 0x100, 326 .atag_offset = 0x100,
327 .nr_irqs = ORION5X_NR_IRQS,
327 .init_machine = qnap_ts209_init, 328 .init_machine = qnap_ts209_init,
328 .map_io = orion5x_map_io, 329 .map_io = orion5x_map_io,
329 .init_early = orion5x_init_early, 330 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c
index cf2ab531cabc..bc985cf44625 100644
--- a/arch/arm/mach-orion5x/ts409-setup.c
+++ b/arch/arm/mach-orion5x/ts409-setup.c
@@ -313,6 +313,7 @@ static void __init qnap_ts409_init(void)
313MACHINE_START(TS409, "QNAP TS-409") 313MACHINE_START(TS409, "QNAP TS-409")
314 /* Maintainer: Sylver Bruneau <sylver.bruneau@gmail.com> */ 314 /* Maintainer: Sylver Bruneau <sylver.bruneau@gmail.com> */
315 .atag_offset = 0x100, 315 .atag_offset = 0x100,
316 .nr_irqs = ORION5X_NR_IRQS,
316 .init_machine = qnap_ts409_init, 317 .init_machine = qnap_ts409_init,
317 .map_io = orion5x_map_io, 318 .map_io = orion5x_map_io,
318 .init_early = orion5x_init_early, 319 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index 1b704d35cf5b..5a61a66ce012 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -615,6 +615,7 @@ static void __init ts78xx_init(void)
615MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC") 615MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC")
616 /* Maintainer: Alexander Clouter <alex@digriz.org.uk> */ 616 /* Maintainer: Alexander Clouter <alex@digriz.org.uk> */
617 .atag_offset = 0x100, 617 .atag_offset = 0x100,
618 .nr_irqs = ORION5X_NR_IRQS,
618 .init_machine = ts78xx_init, 619 .init_machine = ts78xx_init,
619 .map_io = ts78xx_map_io, 620 .map_io = ts78xx_map_io,
620 .init_early = orion5x_init_early, 621 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c
index 80a56ee245b3..bcc6e12dcdac 100644
--- a/arch/arm/mach-orion5x/wnr854t-setup.c
+++ b/arch/arm/mach-orion5x/wnr854t-setup.c
@@ -174,6 +174,7 @@ subsys_initcall(wnr854t_pci_init);
174MACHINE_START(WNR854T, "Netgear WNR854T") 174MACHINE_START(WNR854T, "Netgear WNR854T")
175 /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */ 175 /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
176 .atag_offset = 0x100, 176 .atag_offset = 0x100,
177 .nr_irqs = ORION5X_NR_IRQS,
177 .init_machine = wnr854t_init, 178 .init_machine = wnr854t_init,
178 .map_io = orion5x_map_io, 179 .map_io = orion5x_map_io,
179 .init_early = orion5x_init_early, 180 .init_early = orion5x_init_early,
diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
index 670e30dc0d1b..4068d7a3e466 100644
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
@@ -262,6 +262,7 @@ subsys_initcall(wrt350n_v2_pci_init);
262MACHINE_START(WRT350N_V2, "Linksys WRT350N v2") 262MACHINE_START(WRT350N_V2, "Linksys WRT350N v2")
263 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */ 263 /* Maintainer: Lennert Buytenhek <buytenh@marvell.com> */
264 .atag_offset = 0x100, 264 .atag_offset = 0x100,
265 .nr_irqs = ORION5X_NR_IRQS,
265 .init_machine = wrt350n_v2_init, 266 .init_machine = wrt350n_v2_init,
266 .map_io = orion5x_map_io, 267 .map_io = orion5x_map_io,
267 .init_early = orion5x_init_early, 268 .init_early = orion5x_init_early,