ARM: ep93xx: enable SPARSE_IRQ
authorArnd Bergmann <arnd@arndb.de>
Fri, 20 Sep 2019 08:10:03 +0000 (10:10 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 4 Apr 2022 08:22:37 +0000 (10:22 +0200)
Without CONFIG_SPARSE_IRQ, we rely on mach/irqs.h to define NR_IRQS
globally. Do the minimal conversion by setting .nr_irqs in each
machine descriptor.

Only the vision_ep9307 machine has extra IRQs for GPIOs, so make
.nr_irqs the original value there, while using the plain NR_EP93XX_IRQS
everywhere else.

Cc: Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Hubert Feurstein <hubert.feurstein@contec.at>
Cc: Lukasz Majewski <lukma@denx.de>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
13 files changed:
arch/arm/Kconfig
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/include/mach/irqs.h [deleted file]
arch/arm/mach-ep93xx/irqs.h [new file with mode: 0644]
arch/arm/mach-ep93xx/micro9.c
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/soc.h
arch/arm/mach-ep93xx/ts72xx.c
arch/arm/mach-ep93xx/vision_ep9307.c

index 31f024e6e92535bb46faf0cade8d730b66c7eb83..5177e54cc14c06cc51a9ae8b4689561d4bd38b80 100644 (file)
@@ -358,6 +358,8 @@ config ARCH_EP93XX
        select CPU_ARM920T
        select GPIOLIB
        select COMMON_CLK
+       select IRQ_DOMAIN
+       select SPARSE_IRQ
        help
          This enables support for the Cirrus EP93xx series of CPUs.
 
index 8d5e349a7a6d44c048eed02c52972652ec327a6d..0c48d3c5b8e7c0553f9abb858c8634158c39475c 100644 (file)
@@ -32,6 +32,7 @@ static void __init adssphere_init_machine(void)
 MACHINE_START(ADSSPHERE, "ADS Sphere board")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
index e4569a5acc3f4c1841b8b3c455265b3b2ffdeab4..2d58e273c96dd9e874f15b38b129a959e4caafb7 100644 (file)
@@ -47,6 +47,7 @@
 #include <asm/mach/map.h>
 
 #include "soc.h"
+#include "irqs.h"
 
 /*************************************************************************
  * Static I/O mappings that are needed for all EP93xx platforms
index af0e22471ebd397f4d54f2da983eb526c323a773..4b90899a66e92f1ccd465006a5a1039cce39c6ca 100644 (file)
@@ -243,6 +243,7 @@ static void __init edb93xx_init_machine(void)
 MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
        /* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -255,6 +256,7 @@ MACHINE_END
 MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
        /* Maintainer: George Kashperko <george@chas.com.ua> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -267,6 +269,7 @@ MACHINE_END
 MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -279,6 +282,7 @@ MACHINE_END
 MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
        /* Maintainer: Herbert Valerio Riedel <hvr@gnu.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -291,6 +295,7 @@ MACHINE_END
 MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
        /* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -303,6 +308,7 @@ MACHINE_END
 MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
        /* Maintainer: Toufeeq Hussain <toufeeq_hussain@infosys.com> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -315,6 +321,7 @@ MACHINE_END
 MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -327,6 +334,7 @@ MACHINE_END
 MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
index d7f9890321eb7c3eca398e3379dee94951b7447c..0b7043e3e17857f35cd2f1fad25b6a553ec7762b 100644 (file)
@@ -32,6 +32,7 @@ static void __init gesbc9312_init_machine(void)
 MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
diff --git a/arch/arm/mach-ep93xx/include/mach/irqs.h b/arch/arm/mach-ep93xx/include/mach/irqs.h
deleted file mode 100644 (file)
index 60c69c4..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * arch/arm/mach-ep93xx/include/mach/irqs.h
- */
-
-#ifndef __ASM_ARCH_IRQS_H
-#define __ASM_ARCH_IRQS_H
-
-#define IRQ_EP93XX_VIC0                        1
-
-#define IRQ_EP93XX_COMMRX              (IRQ_EP93XX_VIC0 + 2)
-#define IRQ_EP93XX_COMMTX              (IRQ_EP93XX_VIC0 + 3)
-#define IRQ_EP93XX_TIMER1              (IRQ_EP93XX_VIC0 + 4)
-#define IRQ_EP93XX_TIMER2              (IRQ_EP93XX_VIC0 + 5)
-#define IRQ_EP93XX_AACINTR             (IRQ_EP93XX_VIC0 + 6)
-#define IRQ_EP93XX_DMAM2P0             (IRQ_EP93XX_VIC0 + 7)
-#define IRQ_EP93XX_DMAM2P1             (IRQ_EP93XX_VIC0 + 8)
-#define IRQ_EP93XX_DMAM2P2             (IRQ_EP93XX_VIC0 + 9)
-#define IRQ_EP93XX_DMAM2P3             (IRQ_EP93XX_VIC0 + 10)
-#define IRQ_EP93XX_DMAM2P4             (IRQ_EP93XX_VIC0 + 11)
-#define IRQ_EP93XX_DMAM2P5             (IRQ_EP93XX_VIC0 + 12)
-#define IRQ_EP93XX_DMAM2P6             (IRQ_EP93XX_VIC0 + 13)
-#define IRQ_EP93XX_DMAM2P7             (IRQ_EP93XX_VIC0 + 14)
-#define IRQ_EP93XX_DMAM2P8             (IRQ_EP93XX_VIC0 + 15)
-#define IRQ_EP93XX_DMAM2P9             (IRQ_EP93XX_VIC0 + 16)
-#define IRQ_EP93XX_DMAM2M0             (IRQ_EP93XX_VIC0 + 17)
-#define IRQ_EP93XX_DMAM2M1             (IRQ_EP93XX_VIC0 + 18)
-#define IRQ_EP93XX_GPIO0MUX            (IRQ_EP93XX_VIC0 + 19)
-#define IRQ_EP93XX_GPIO1MUX            (IRQ_EP93XX_VIC0 + 20)
-#define IRQ_EP93XX_GPIO2MUX            (IRQ_EP93XX_VIC0 + 21)
-#define IRQ_EP93XX_GPIO3MUX            (IRQ_EP93XX_VIC0 + 22)
-#define IRQ_EP93XX_UART1RX             (IRQ_EP93XX_VIC0 + 23)
-#define IRQ_EP93XX_UART1TX             (IRQ_EP93XX_VIC0 + 24)
-#define IRQ_EP93XX_UART2RX             (IRQ_EP93XX_VIC0 + 25)
-#define IRQ_EP93XX_UART2TX             (IRQ_EP93XX_VIC0 + 26)
-#define IRQ_EP93XX_UART3RX             (IRQ_EP93XX_VIC0 + 27)
-#define IRQ_EP93XX_UART3TX             (IRQ_EP93XX_VIC0 + 28)
-#define IRQ_EP93XX_KEY                 (IRQ_EP93XX_VIC0 + 29)
-#define IRQ_EP93XX_TOUCH               (IRQ_EP93XX_VIC0 + 30)
-#define EP93XX_VIC1_VALID_IRQ_MASK     0x7ffffffc
-
-#define IRQ_EP93XX_VIC1                        (IRQ_EP93XX_VIC0 + 32)
-
-#define IRQ_EP93XX_EXT0                        (IRQ_EP93XX_VIC1 + 0)
-#define IRQ_EP93XX_EXT1                        (IRQ_EP93XX_VIC1 + 1)
-#define IRQ_EP93XX_EXT2                        (IRQ_EP93XX_VIC1 + 2)
-#define IRQ_EP93XX_64HZ                        (IRQ_EP93XX_VIC1 + 3)
-#define IRQ_EP93XX_WATCHDOG            (IRQ_EP93XX_VIC1 + 4)
-#define IRQ_EP93XX_RTC                 (IRQ_EP93XX_VIC1 + 5)
-#define IRQ_EP93XX_IRDA                        (IRQ_EP93XX_VIC1 + 6)
-#define IRQ_EP93XX_ETHERNET            (IRQ_EP93XX_VIC1 + 7)
-#define IRQ_EP93XX_EXT3                        (IRQ_EP93XX_VIC1 + 8)
-#define IRQ_EP93XX_PROG                        (IRQ_EP93XX_VIC1 + 9)
-#define IRQ_EP93XX_1HZ                 (IRQ_EP93XX_VIC1 + 10)
-#define IRQ_EP93XX_VSYNC               (IRQ_EP93XX_VIC1 + 11)
-#define IRQ_EP93XX_VIDEO_FIFO          (IRQ_EP93XX_VIC1 + 12)
-#define IRQ_EP93XX_SSP1RX              (IRQ_EP93XX_VIC1 + 13)
-#define IRQ_EP93XX_SSP1TX              (IRQ_EP93XX_VIC1 + 14)
-#define IRQ_EP93XX_GPIO4MUX            (IRQ_EP93XX_VIC1 + 15)
-#define IRQ_EP93XX_GPIO5MUX            (IRQ_EP93XX_VIC1 + 16)
-#define IRQ_EP93XX_GPIO6MUX            (IRQ_EP93XX_VIC1 + 17)
-#define IRQ_EP93XX_GPIO7MUX            (IRQ_EP93XX_VIC1 + 18)
-#define IRQ_EP93XX_TIMER3              (IRQ_EP93XX_VIC1 + 19)
-#define IRQ_EP93XX_UART1               (IRQ_EP93XX_VIC1 + 20)
-#define IRQ_EP93XX_SSP                 (IRQ_EP93XX_VIC1 + 21)
-#define IRQ_EP93XX_UART2               (IRQ_EP93XX_VIC1 + 22)
-#define IRQ_EP93XX_UART3               (IRQ_EP93XX_VIC1 + 23)
-#define IRQ_EP93XX_USB                 (IRQ_EP93XX_VIC1 + 24)
-#define IRQ_EP93XX_ETHERNET_PME                (IRQ_EP93XX_VIC1 + 25)
-#define IRQ_EP93XX_DSP                 (IRQ_EP93XX_VIC1 + 26)
-#define IRQ_EP93XX_GPIO_AB             (IRQ_EP93XX_VIC1 + 27)
-#define IRQ_EP93XX_SAI                 (IRQ_EP93XX_VIC1 + 28)
-#define EP93XX_VIC2_VALID_IRQ_MASK     0x1fffffff
-
-#define NR_EP93XX_IRQS                 (IRQ_EP93XX_VIC1 + 32 + 24)
-
-#define EP93XX_BOARD_IRQ(x)            (NR_EP93XX_IRQS + (x))
-#define EP93XX_BOARD_IRQS              32
-
-#define NR_IRQS                                (NR_EP93XX_IRQS + EP93XX_BOARD_IRQS)
-
-
-#endif
diff --git a/arch/arm/mach-ep93xx/irqs.h b/arch/arm/mach-ep93xx/irqs.h
new file mode 100644 (file)
index 0000000..353201b
--- /dev/null
@@ -0,0 +1,76 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_ARCH_IRQS_H
+#define __ASM_ARCH_IRQS_H
+
+#define IRQ_EP93XX_VIC0                        1
+
+#define IRQ_EP93XX_COMMRX              (IRQ_EP93XX_VIC0 + 2)
+#define IRQ_EP93XX_COMMTX              (IRQ_EP93XX_VIC0 + 3)
+#define IRQ_EP93XX_TIMER1              (IRQ_EP93XX_VIC0 + 4)
+#define IRQ_EP93XX_TIMER2              (IRQ_EP93XX_VIC0 + 5)
+#define IRQ_EP93XX_AACINTR             (IRQ_EP93XX_VIC0 + 6)
+#define IRQ_EP93XX_DMAM2P0             (IRQ_EP93XX_VIC0 + 7)
+#define IRQ_EP93XX_DMAM2P1             (IRQ_EP93XX_VIC0 + 8)
+#define IRQ_EP93XX_DMAM2P2             (IRQ_EP93XX_VIC0 + 9)
+#define IRQ_EP93XX_DMAM2P3             (IRQ_EP93XX_VIC0 + 10)
+#define IRQ_EP93XX_DMAM2P4             (IRQ_EP93XX_VIC0 + 11)
+#define IRQ_EP93XX_DMAM2P5             (IRQ_EP93XX_VIC0 + 12)
+#define IRQ_EP93XX_DMAM2P6             (IRQ_EP93XX_VIC0 + 13)
+#define IRQ_EP93XX_DMAM2P7             (IRQ_EP93XX_VIC0 + 14)
+#define IRQ_EP93XX_DMAM2P8             (IRQ_EP93XX_VIC0 + 15)
+#define IRQ_EP93XX_DMAM2P9             (IRQ_EP93XX_VIC0 + 16)
+#define IRQ_EP93XX_DMAM2M0             (IRQ_EP93XX_VIC0 + 17)
+#define IRQ_EP93XX_DMAM2M1             (IRQ_EP93XX_VIC0 + 18)
+#define IRQ_EP93XX_GPIO0MUX            (IRQ_EP93XX_VIC0 + 19)
+#define IRQ_EP93XX_GPIO1MUX            (IRQ_EP93XX_VIC0 + 20)
+#define IRQ_EP93XX_GPIO2MUX            (IRQ_EP93XX_VIC0 + 21)
+#define IRQ_EP93XX_GPIO3MUX            (IRQ_EP93XX_VIC0 + 22)
+#define IRQ_EP93XX_UART1RX             (IRQ_EP93XX_VIC0 + 23)
+#define IRQ_EP93XX_UART1TX             (IRQ_EP93XX_VIC0 + 24)
+#define IRQ_EP93XX_UART2RX             (IRQ_EP93XX_VIC0 + 25)
+#define IRQ_EP93XX_UART2TX             (IRQ_EP93XX_VIC0 + 26)
+#define IRQ_EP93XX_UART3RX             (IRQ_EP93XX_VIC0 + 27)
+#define IRQ_EP93XX_UART3TX             (IRQ_EP93XX_VIC0 + 28)
+#define IRQ_EP93XX_KEY                 (IRQ_EP93XX_VIC0 + 29)
+#define IRQ_EP93XX_TOUCH               (IRQ_EP93XX_VIC0 + 30)
+#define EP93XX_VIC1_VALID_IRQ_MASK     0x7ffffffc
+
+#define IRQ_EP93XX_VIC1                        (IRQ_EP93XX_VIC0 + 32)
+
+#define IRQ_EP93XX_EXT0                        (IRQ_EP93XX_VIC1 + 0)
+#define IRQ_EP93XX_EXT1                        (IRQ_EP93XX_VIC1 + 1)
+#define IRQ_EP93XX_EXT2                        (IRQ_EP93XX_VIC1 + 2)
+#define IRQ_EP93XX_64HZ                        (IRQ_EP93XX_VIC1 + 3)
+#define IRQ_EP93XX_WATCHDOG            (IRQ_EP93XX_VIC1 + 4)
+#define IRQ_EP93XX_RTC                 (IRQ_EP93XX_VIC1 + 5)
+#define IRQ_EP93XX_IRDA                        (IRQ_EP93XX_VIC1 + 6)
+#define IRQ_EP93XX_ETHERNET            (IRQ_EP93XX_VIC1 + 7)
+#define IRQ_EP93XX_EXT3                        (IRQ_EP93XX_VIC1 + 8)
+#define IRQ_EP93XX_PROG                        (IRQ_EP93XX_VIC1 + 9)
+#define IRQ_EP93XX_1HZ                 (IRQ_EP93XX_VIC1 + 10)
+#define IRQ_EP93XX_VSYNC               (IRQ_EP93XX_VIC1 + 11)
+#define IRQ_EP93XX_VIDEO_FIFO          (IRQ_EP93XX_VIC1 + 12)
+#define IRQ_EP93XX_SSP1RX              (IRQ_EP93XX_VIC1 + 13)
+#define IRQ_EP93XX_SSP1TX              (IRQ_EP93XX_VIC1 + 14)
+#define IRQ_EP93XX_GPIO4MUX            (IRQ_EP93XX_VIC1 + 15)
+#define IRQ_EP93XX_GPIO5MUX            (IRQ_EP93XX_VIC1 + 16)
+#define IRQ_EP93XX_GPIO6MUX            (IRQ_EP93XX_VIC1 + 17)
+#define IRQ_EP93XX_GPIO7MUX            (IRQ_EP93XX_VIC1 + 18)
+#define IRQ_EP93XX_TIMER3              (IRQ_EP93XX_VIC1 + 19)
+#define IRQ_EP93XX_UART1               (IRQ_EP93XX_VIC1 + 20)
+#define IRQ_EP93XX_SSP                 (IRQ_EP93XX_VIC1 + 21)
+#define IRQ_EP93XX_UART2               (IRQ_EP93XX_VIC1 + 22)
+#define IRQ_EP93XX_UART3               (IRQ_EP93XX_VIC1 + 23)
+#define IRQ_EP93XX_USB                 (IRQ_EP93XX_VIC1 + 24)
+#define IRQ_EP93XX_ETHERNET_PME                (IRQ_EP93XX_VIC1 + 25)
+#define IRQ_EP93XX_DSP                 (IRQ_EP93XX_VIC1 + 26)
+#define IRQ_EP93XX_GPIO_AB             (IRQ_EP93XX_VIC1 + 27)
+#define IRQ_EP93XX_SAI                 (IRQ_EP93XX_VIC1 + 28)
+#define EP93XX_VIC2_VALID_IRQ_MASK     0x1fffffff
+
+#define NR_EP93XX_IRQS                 (IRQ_EP93XX_VIC1 + 32 + 24)
+
+#define EP93XX_BOARD_IRQ(x)            (NR_EP93XX_IRQS + (x))
+#define EP93XX_BOARD_IRQS              32
+
+#endif
index e6ead8ded6ee7b5c053b1690c7080f79849d5a3f..c121c459aa17352128ca0812a21d291de5948486 100644 (file)
@@ -76,6 +76,7 @@ static void __init micro9_init_machine(void)
 MACHINE_START(MICRO9, "Contec Micro9-High")
        /* Maintainer: Hubert Feurstein <hubert.feurstein@contec.at> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -88,6 +89,7 @@ MACHINE_END
 MACHINE_START(MICRO9M, "Contec Micro9-Mid")
        /* Maintainer: Hubert Feurstein <hubert.feurstein@contec.at> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -100,6 +102,7 @@ MACHINE_END
 MACHINE_START(MICRO9L, "Contec Micro9-Lite")
        /* Maintainer: Hubert Feurstein <hubert.feurstein@contec.at> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -112,6 +115,7 @@ MACHINE_END
 MACHINE_START(MICRO9S, "Contec Micro9-Slim")
        /* Maintainer: Hubert Feurstein <hubert.feurstein@contec.at> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
index 5291053023b2350976117a3c410d5c17681e56cd..569e72413561665dee015fd81c156b4ab5ae9529 100644 (file)
@@ -119,6 +119,7 @@ static void __init simone_init_machine(void)
 MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
        /* Maintainer: Ryan Mallon */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
index e200d69471e90149d70666dd2d0cf6bca51177d5..1dfb725671b144d7ba65c8b3c4200f6f768d31fc 100644 (file)
@@ -153,6 +153,7 @@ static void __init snappercl15_init_machine(void)
 MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
        /* Maintainer: Ryan Mallon */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
index 94ef7f275f94bcbb8630040a46268b412daac220..f0986e288d19bc1274282c4a967865f23524e854 100644 (file)
@@ -10,6 +10,7 @@
 #define _EP93XX_SOC_H
 
 #include <mach/ep93xx-regs.h>
+#include "irqs.h"
 
 /*
  * EP93xx Physical Memory Map:
index 12eff8c8074df7e218ce53e5d06a080339110061..e70bac011407a7f18131a4cf87050efe78e3de87 100644 (file)
@@ -22,7 +22,6 @@
 
 #include "gpio-ep93xx.h"
 #include "hardware.h"
-#include <mach/irqs.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/map.h>
@@ -350,6 +349,7 @@ static void __init ts72xx_init_machine(void)
 MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ts72xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
@@ -413,6 +413,7 @@ static void __init bk3_init_machine(void)
 MACHINE_START(BK3, "Liebherr controller BK3.1")
        /* Maintainer: Lukasz Majewski <lukma@denx.de> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS,
        .map_io         = ts72xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,
index e46281e60bf763486ef71317b9d53713bb6ad8ce..30d9cf3791ebb39e04631d55ef6bd71e72087d87 100644 (file)
@@ -302,6 +302,7 @@ static void __init vision_init_machine(void)
 MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307")
        /* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
        .atag_offset    = 0x100,
+       .nr_irqs        = NR_EP93XX_IRQS + EP93XX_BOARD_IRQS,
        .map_io         = vision_map_io,
        .init_irq       = ep93xx_init_irq,
        .init_time      = ep93xx_timer_init,