ARM: clps711x: Implement usage "SPARSE_IRQ" kernel option for a platform
authorAlexander Shiyan <shc_work@mail.ru>
Sat, 17 Nov 2012 13:57:13 +0000 (17:57 +0400)
committerOlof Johansson <olof@lixom.net>
Wed, 21 Nov 2012 17:57:41 +0000 (09:57 -0800)
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/Kconfig
arch/arm/mach-clps711x/autcpu12.c
arch/arm/mach-clps711x/cdb89712.c
arch/arm/mach-clps711x/clep7312.c
arch/arm/mach-clps711x/common.h
arch/arm/mach-clps711x/edb7211.c
arch/arm/mach-clps711x/fortunet.c
arch/arm/mach-clps711x/include/mach/clps711x.h
arch/arm/mach-clps711x/include/mach/irqs.h [deleted file]
arch/arm/mach-clps711x/p720t.c

index 64a23cb6e62d03cee5492b3fa1baf6cc0b0e9c11..0203b1bf733dd32616537be7bc996917f46eab6d 100644 (file)
@@ -372,6 +372,7 @@ config ARCH_CLPS711X
        select CPU_ARM720T
        select GENERIC_CLOCKEVENTS
        select NEED_MACH_MEMORY_H
+       select SPARSE_IRQ
        help
          Support for Cirrus Logic 711x/721x/731x based boards.
 
index c20043ba2076b730c0709ca956302fc583a866c5..b90a31659de45027ddf2a2e435aad24966e4aba6 100644 (file)
@@ -70,6 +70,7 @@ static void __init autcpu12_init(void)
 MACHINE_START(AUTCPU12, "autronix autcpu12")
        /* Maintainer: Thomas Gleixner */
        .atag_offset    = 0x20000,
+       .nr_irqs        = CLPS711X_NR_IRQS,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
        .timer          = &clps711x_timer,
index 24f573b5715d30a79c24b9bd61587b0f8a5da087..133794c4b654b9fbb41644126fbe6163075f88eb 100644 (file)
@@ -137,6 +137,7 @@ static void __init cdb89712_init(void)
 MACHINE_START(CDB89712, "Cirrus-CDB89712")
        /* Maintainer: Ray Lehtiniemi */
        .atag_offset    = 0x100,
+       .nr_irqs        = CLPS711X_NR_IRQS,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
        .timer          = &clps711x_timer,
index dbc7842639dccb6f48c9481184caff452a33779e..be776c5092ddde67eb6eebb691afee5c49355693 100644 (file)
@@ -37,6 +37,7 @@ fixup_clep7312(struct tag *tags, char **cmdline, struct meminfo *mi)
 MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
        /* Maintainer: Nobody */
        .atag_offset    = 0x0100,
+       .nr_irqs        = CLPS711X_NR_IRQS,
        .fixup          = fixup_clep7312,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
index dc60caea3278ca38edc4fe370e8d4ce9f591d6a0..28b1701b7993674c4dd2d05cf0582f942c06a19f 100644 (file)
@@ -4,6 +4,7 @@
  * Common bits.
  */
 
+#define CLPS711X_NR_IRQS       (30)
 #define CLPS711X_NR_GPIO       (4 * 8 + 3)
 #define CLPS711X_GPIO(prt, bit)        ((prt) * 8 + (bit))
 
index 59dec3bd07053c78da7a16f49f0333ef2888ca45..7b161dd40e8d25c4db0c14b3666400e04e2fe4b9 100644 (file)
@@ -91,6 +91,7 @@ static void __init edb7211_init(void)
 MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
        /* Maintainer: Jon McClintock */
        .atag_offset    = VIDEORAM_SIZE + 0x100,
+       .nr_irqs        = CLPS711X_NR_IRQS,
        .fixup          = fixup_edb7211,
        .reserve        = edb7211_reserve,
        .map_io         = edb7211_map_io,
index 3a3f0b702cb4777c50b399b861e81f5b3db1aa8b..a5c08162bff9694af9bf416733db8d26bb547c6a 100644 (file)
@@ -74,6 +74,7 @@ fortunet_fixup(struct tag *tags, char **cmdline, struct meminfo *mi)
 
 MACHINE_START(FORTUNET, "ARM-FortuNet")
        /* Maintainer: FortuNet Inc. */
+       .nr_irqs        = CLPS711X_NR_IRQS,
        .fixup          = fortunet_fixup,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
index aee352c00a1feb9f087786b0b4786b842a161b0f..1f4728d414d7d885b3d13578c27c83dcdd6f3363 100644 (file)
 #define MEMCFG_WAITSTATE_2_0   (14 << 2)
 #define MEMCFG_WAITSTATE_1_0   (15 << 2)
 
+/* INTSR1 Interrupts */
+#define IRQ_CSINT              (4)
+#define IRQ_EINT1              (5)
+#define IRQ_EINT2              (6)
+#define IRQ_EINT3              (7)
+#define IRQ_TC1OI              (8)
+#define IRQ_TC2OI              (9)
+#define IRQ_RTCMI              (10)
+#define IRQ_TINT               (11)
+#define IRQ_UTXINT1            (12)
+#define IRQ_URXINT1            (13)
+#define IRQ_UMSINT             (14)
+#define IRQ_SSEOTI             (15)
+
+/* INTSR2 Interrupts */
+#define IRQ_KBDINT             (16 + 0)
+#define IRQ_SS2RX              (16 + 1)
+#define IRQ_SS2TX              (16 + 2)
+#define IRQ_UTXINT2            (16 + 12)
+#define IRQ_URXINT2            (16 + 13)
+
 #endif /* __MACH_CLPS711X_H */
diff --git a/arch/arm/mach-clps711x/include/mach/irqs.h b/arch/arm/mach-clps711x/include/mach/irqs.h
deleted file mode 100644 (file)
index 1ea56db..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  arch/arm/mach-clps711x/include/mach/irqs.h
- *
- *  Copyright (C) 2000 Deep Blue Solutions Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/*
- * Interrupts from INTSR1
- */
-#define IRQ_CSINT                      4
-#define IRQ_EINT1                      5
-#define IRQ_EINT2                      6
-#define IRQ_EINT3                      7
-#define IRQ_TC1OI                      8
-#define IRQ_TC2OI                      9
-#define IRQ_RTCMI                      10
-#define IRQ_TINT                       11
-#define IRQ_UTXINT1                    12
-#define IRQ_URXINT1                    13
-#define IRQ_UMSINT                     14
-#define IRQ_SSEOTI                     15
-
-/*
- * Interrupts from INTSR2
- */
-#define IRQ_KBDINT                     (16+0)  /* bit 0 */
-#define IRQ_SS2RX                      (16+1)  /* bit 1 */
-#define IRQ_SS2TX                      (16+2)  /* bit 2 */
-#define IRQ_UTXINT2                    (16+12) /* bit 12 */
-#define IRQ_URXINT2                    (16+13) /* bit 13 */
-
-#define NR_IRQS                                30
index d95cb8ace251352da43e2af0f70c33b4b1194280..fbe75527d60b7193ca143c1a7be04dc8b6ce6c61 100644 (file)
@@ -134,6 +134,7 @@ static void __init p720t_init_late(void)
 MACHINE_START(P720T, "ARM-Prospector720T")
        /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */
        .atag_offset    = 0x100,
+       .nr_irqs        = CLPS711X_NR_IRQS,
        .fixup          = fixup_p720t,
        .map_io         = p720t_map_io,
        .init_early     = p720t_init_early,