Merge branch 'sparse_irq' of git://sources.calxeda.com/kernel/linux into devel-stable
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 4 Feb 2012 10:31:38 +0000 (10:31 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 4 Feb 2012 10:31:38 +0000 (10:31 +0000)
88 files changed:
arch/arm/Kconfig
arch/arm/include/asm/hardware/it8152.h
arch/arm/include/asm/irq.h
arch/arm/include/asm/mc146818rtc.h
arch/arm/kernel/time.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-highbank/include/mach/irqs.h [deleted file]
arch/arm/mach-mmp/aspenite.c
arch/arm/mach-mmp/avengers_lite.c
arch/arm/mach-mmp/brownstone.c
arch/arm/mach-mmp/flint.c
arch/arm/mach-mmp/gplugd.c
arch/arm/mach-mmp/include/mach/irqs.h
arch/arm/mach-mmp/irq-mmp2.c
arch/arm/mach-mmp/jasper.c
arch/arm/mach-mmp/tavorevb.c
arch/arm/mach-mmp/teton_bga.c
arch/arm/mach-mmp/ttc_dkb.c
arch/arm/mach-picoxcell/include/mach/irqs.h [deleted file]
arch/arm/mach-pxa/capc7117.c
arch/arm/mach-pxa/cm-x300.c
arch/arm/mach-pxa/colibri-pxa270.c
arch/arm/mach-pxa/colibri-pxa300.c
arch/arm/mach-pxa/colibri-pxa320.c
arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/csb726.c
arch/arm/mach-pxa/devices.c
arch/arm/mach-pxa/em-x270.c
arch/arm/mach-pxa/gumstix.c
arch/arm/mach-pxa/h5000.c
arch/arm/mach-pxa/himalaya.c
arch/arm/mach-pxa/icontrol.c
arch/arm/mach-pxa/idp.c
arch/arm/mach-pxa/include/mach/irqs.h
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/mp900.c
arch/arm/mach-pxa/palmld.c
arch/arm/mach-pxa/palmt5.c
arch/arm/mach-pxa/palmtc.c
arch/arm/mach-pxa/palmte2.c
arch/arm/mach-pxa/palmtreo.c
arch/arm/mach-pxa/palmtx.c
arch/arm/mach-pxa/palmz72.c
arch/arm/mach-pxa/pxa3xx.c
arch/arm/mach-pxa/raumfeld.c
arch/arm/mach-pxa/saar.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-pxa/stargate2.c
arch/arm/mach-pxa/tavorevb.c
arch/arm/mach-pxa/time.c
arch/arm/mach-pxa/trizeps4.c
arch/arm/mach-pxa/viper.c
arch/arm/mach-pxa/vpac270.c
arch/arm/mach-pxa/xcep.c
arch/arm/mach-pxa/z2.c
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-bonito.c
arch/arm/mach-shmobile/board-g3evm.c
arch/arm/mach-shmobile/board-g4evm.c
arch/arm/mach-shmobile/board-kota2.c
arch/arm/mach-shmobile/board-mackerel.c
arch/arm/mach-shmobile/board-marzen.c
arch/arm/mach-shmobile/include/mach/irqs.h
arch/arm/mach-shmobile/intc-r8a7740.c
arch/arm/mach-shmobile/intc-sh7367.c
arch/arm/mach-shmobile/intc-sh7372.c
arch/arm/mach-shmobile/intc-sh7377.c
arch/arm/mach-shmobile/intc-sh73a0.c
arch/arm/mach-shmobile/setup-r8a7740.c
arch/arm/mach-shmobile/setup-r8a7779.c
arch/arm/mach-shmobile/setup-sh7367.c
arch/arm/mach-shmobile/setup-sh7372.c
arch/arm/mach-shmobile/setup-sh7377.c
arch/arm/mach-shmobile/setup-sh73a0.c
arch/c6x/Kconfig
arch/powerpc/Kconfig
arch/sh/Kconfig
arch/sh/include/asm/irq.h
arch/x86/Kconfig
drivers/gpio/gpio-pxa.c
drivers/sh/intc/balancing.c
drivers/sh/intc/core.c
drivers/sh/intc/handle.c
drivers/sh/intc/virq.c
include/linux/sh_intc.h
kernel/irq/Kconfig
sound/arm/pxa2xx-ac97-lib.c

index 24626b0419ee97e963e68329a8eb6769360b46ea..dcd77dbf4660c9bdec3aad28b4570b171bfd04e4 100644 (file)
@@ -28,7 +28,6 @@ config ARM
        select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
        select HAVE_C_RECORDMCOUNT
        select HAVE_GENERIC_HARDIRQS
-       select HAVE_SPARSE_IRQ
        select GENERIC_IRQ_SHOW
        select CPU_PM if (SUSPEND || CPU_IDLE)
        select GENERIC_PCI_IOMAP
@@ -350,6 +349,7 @@ config ARCH_HIGHBANK
        select GENERIC_CLOCKEVENTS
        select HAVE_ARM_SCU
        select HAVE_SMP
+       select SPARSE_IRQ
        select USE_OF
        help
          Support for the Calxeda Highbank SoC based boards.
index 43cab498bc279c1e6f6078c03717e1c497384680..73f84fa4f366d0b1c4978414a42209e86cc27ab0 100644 (file)
@@ -9,6 +9,9 @@
 
 #ifndef __ASM_HARDWARE_IT8152_H
 #define __ASM_HARDWARE_IT8152_H
+
+#include <mach/irqs.h>
+
 extern void __iomem *it8152_base_address;
 
 #define IT8152_IO_BASE                 (it8152_base_address + 0x03e00000)
index 5a526afb5f1858615ec02928f2e2010b3a25982d..35c21c375d81c19121495c66114ead04044f0fa3 100644 (file)
@@ -1,14 +1,18 @@
 #ifndef __ASM_ARM_IRQ_H
 #define __ASM_ARM_IRQ_H
 
+#define NR_IRQS_LEGACY 16
+
+#ifndef CONFIG_SPARSE_IRQ
 #include <mach/irqs.h>
+#else
+#define NR_IRQS NR_IRQS_LEGACY
+#endif
 
 #ifndef irq_canonicalize
 #define irq_canonicalize(i)    (i)
 #endif
 
-#define NR_IRQS_LEGACY 16
-
 /*
  * Use this value to indicate lack of interrupt
  * capability
index 6b884d2b0b69eaf0395040d9d440b93cf0f274d1..e8567bb99dfc5531012c14976f3f93f57615cf58 100644 (file)
@@ -5,7 +5,9 @@
 #define _ASM_MC146818RTC_H
 
 #include <linux/io.h>
-#include <mach/irqs.h>
+#include <linux/kernel.h>
+
+#define RTC_IRQ BUILD_BUG_ON(1)
 
 #ifndef RTC_PORT
 #define RTC_PORT(x)    (0x70 + (x))
index 8c57dd3680e9eeee46f5476d10c4c295c8796568..60955179113cd340102335bc3763f034b782b890 100644 (file)
@@ -25,8 +25,6 @@
 #include <linux/timer.h>
 #include <linux/irq.h>
 
-#include <linux/mc146818rtc.h>
-
 #include <asm/leds.h>
 #include <asm/thread_info.h>
 #include <asm/sched_clock.h>
index 7afbe1e55bebe710f926b01dbb84846de4ca0e9d..ee228ef3d27d332e1b8b5148a0e5e65b46cb20d6 100644 (file)
@@ -33,7 +33,6 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/time.h>
-#include <mach/irqs.h>
 
 #include "core.h"
 #include "sysregs.h"
diff --git a/arch/arm/mach-highbank/include/mach/irqs.h b/arch/arm/mach-highbank/include/mach/irqs.h
deleted file mode 100644 (file)
index 9746aab..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __MACH_IRQS_H
-#define __MACH_IRQS_H
-
-#define NR_IRQS                        192
-
-#endif
index 17cb76060125ef0be126d5cc7f8d8c843e390f38..5483d6f5c6d7cb45fa0fdf4c21823a8b39dbd76f 100644 (file)
@@ -24,6 +24,7 @@
 #include <mach/addr-map.h>
 #include <mach/mfp-pxa168.h>
 #include <mach/pxa168.h>
+#include <mach/irqs.h>
 #include <video/pxa168fb.h>
 #include <linux/input.h>
 #include <plat/pxa27x_keypad.h>
@@ -240,7 +241,7 @@ static void __init common_init(void)
 
 MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform")
        .map_io         = mmp_map_io,
-       .nr_irqs        = IRQ_BOARD_START,
+       .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
        .timer          = &pxa168_timer,
        .init_machine   = common_init,
@@ -249,7 +250,7 @@ MACHINE_END
 
 MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform")
        .map_io         = mmp_map_io,
-       .nr_irqs        = IRQ_BOARD_START,
+       .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
        .timer          = &pxa168_timer,
        .init_machine   = common_init,
index b148a9dc5a443a5e19987ba9a46b66c4fe043d71..603542ae6fbd61e6696cad9eef7424f82fb90cca 100644 (file)
@@ -43,6 +43,7 @@ static void __init avengers_lite_init(void)
 
 MACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform")
        .map_io         = mmp_map_io,
+       .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
        .timer          = &pxa168_timer,
        .init_machine   = avengers_lite_init,
index d839fe6421e69654468a3e3aaa22002cdb142076..5cb769cd26d9a470a62fca737dc6dffe0afa80ee 100644 (file)
@@ -28,7 +28,7 @@
 
 #include "common.h"
 
-#define BROWNSTONE_NR_IRQS     (IRQ_BOARD_START + 40)
+#define BROWNSTONE_NR_IRQS     (MMP_NR_IRQS + 40)
 
 #define GPIO_5V_ENABLE         (89)
 
@@ -158,7 +158,7 @@ static struct platform_device brownstone_v_5vp_device = {
 };
 
 static struct max8925_platform_data brownstone_max8925_info = {
-       .irq_base               = IRQ_BOARD_START,
+       .irq_base               = MMP_NR_IRQS,
 };
 
 static struct i2c_board_info brownstone_twsi1_info[] = {
index 2ee8cd7829dd862ff0d062b52f56baeab12a1c7a..8059cc0905c6063e5dc079f9b03545d28d90bb5d 100644 (file)
 #include <mach/addr-map.h>
 #include <mach/mfp-mmp2.h>
 #include <mach/mmp2.h>
+#include <mach/irqs.h>
 
 #include "common.h"
 
-#define FLINT_NR_IRQS  (IRQ_BOARD_START + 48)
+#define FLINT_NR_IRQS  (MMP_NR_IRQS + 48)
 
 static unsigned long flint_pin_config[] __initdata = {
        /* UART1 */
index 87765467de633c896c00188906bb289c966dda68..f516e74ce0d5bf1ecc2b20fc874fae1c822c185e 100644 (file)
@@ -191,7 +191,7 @@ static void __init gplugd_init(void)
 
 MACHINE_START(GPLUGD, "PXA168-based GuruPlug Display (gplugD) Platform")
        .map_io         = mmp_map_io,
-       .nr_irqs        = IRQ_BOARD_START,
+       .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
        .timer          = &pxa168_timer,
        .init_machine   = gplugd_init,
index 34635a0bbb5924be0db26ffa8a1ddfd12d65da71..d0e746626a3d895250268c301eaa6d2372c946be 100644 (file)
 #define MMP_GPIO_TO_IRQ(gpio)          (IRQ_GPIO_START + (gpio))
 
 #define IRQ_BOARD_START                        (IRQ_GPIO_START + MMP_NR_BUILTIN_GPIO)
-
-#define NR_IRQS                                (IRQ_BOARD_START)
+#define MMP_NR_IRQS                    IRQ_BOARD_START
 
 #endif /* __ASM_MACH_IRQS_H */
index d21c5441a3d0c7c8e0649376b4556d29b6e44cd5..7895d277421e74c225bfddcb76b19a8a7bd72e24 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/irq.h>
 #include <linux/io.h>
 
+#include <mach/irqs.h>
 #include <mach/regs-icu.h>
 #include <mach/mmp2.h>
 
index 96cf5c8fe47dcb3b0529ead1538281d584f47e13..ff73249884d031bb165b89d905411ffb65cd067c 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/mfd/max8925.h>
 #include <linux/interrupt.h>
 
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/addr-map.h>
@@ -27,7 +28,7 @@
 
 #include "common.h"
 
-#define JASPER_NR_IRQS         (IRQ_BOARD_START + 48)
+#define JASPER_NR_IRQS         (MMP_NR_IRQS + 48)
 
 static unsigned long jasper_pin_config[] __initdata = {
        /* UART1 */
@@ -135,7 +136,7 @@ static struct max8925_power_pdata jasper_power_data = {
 static struct max8925_platform_data jasper_max8925_info = {
        .backlight              = &jasper_backlight_data,
        .power                  = &jasper_power_data,
-       .irq_base               = IRQ_BOARD_START,
+       .irq_base               = MMP_NR_IRQS,
 };
 
 static struct i2c_board_info jasper_twsi1_info[] = {
index 8e3b5af04a57127aafbc7ee8f892828905835ddb..507e6c0e34f56e172896a125d1e2cd813e8c077a 100644 (file)
@@ -102,6 +102,7 @@ static void __init tavorevb_init(void)
 
 MACHINE_START(TAVOREVB, "PXA910 Evaluation Board (aka TavorEVB)")
        .map_io         = mmp_map_io,
+       .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa910_init_irq,
        .timer          = &pxa910_timer,
        .init_machine   = tavorevb_init,
index 0523e422990eeb3f3e6cb98afab1a4d6ea62f049..42bef6674ecfdb2eb601553ff2267e7ad77a17fe 100644 (file)
@@ -26,6 +26,7 @@
 #include <mach/mfp-pxa168.h>
 #include <mach/pxa168.h>
 #include <mach/teton_bga.h>
+#include <mach/irqs.h>
 
 #include "common.h"
 
@@ -83,7 +84,7 @@ static void __init teton_bga_init(void)
 
 MACHINE_START(TETON_BGA, "PXA168-based Teton BGA Development Platform")
        .map_io         = mmp_map_io,
-       .nr_irqs        = IRQ_BOARD_START,
+       .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
        .timer          = &pxa168_timer,
        .init_machine   = teton_bga_init,
index 5ac5d5832e450b7b4a6db27941c5eabd8a3f7816..4c5fd5bb0c9cac762afa72a5d4dfebcfe0a5c2c8 100644 (file)
@@ -38,7 +38,7 @@
  * 16 board interrupts -- PCA9575 GPIO expander
  * 24 board interrupts -- 88PM860x PMIC
  */
-#define TTCDKB_NR_IRQS         (IRQ_BOARD_START + 16 + 16 + 24)
+#define TTCDKB_NR_IRQS         (MMP_NR_IRQS + 16 + 16 + 24)
 
 static unsigned long ttc_dkb_pin_config[] __initdata = {
        /* UART2 */
@@ -130,7 +130,7 @@ static struct platform_device *ttc_dkb_devices[] = {
 static struct pca953x_platform_data max7312_data[] = {
        {
                .gpio_base      = TTCDKB_GPIO_EXT0(0),
-               .irq_base       = IRQ_BOARD_START,
+               .irq_base       = MMP_NR_IRQS,
        },
 };
 
diff --git a/arch/arm/mach-picoxcell/include/mach/irqs.h b/arch/arm/mach-picoxcell/include/mach/irqs.h
deleted file mode 100644 (file)
index 59eac1e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * 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.
- */
-#ifndef __MACH_IRQS_H
-#define __MACH_IRQS_H
-
-/* We dynamically allocate our irq_desc's. */
-#define NR_IRQS                                0
-
-#endif /* __MACH_IRQS_H */
index c91727d1fe097ab5bf01d0dbf261afefc7748775..9a8760b729132a5055880858d1aab1b0cdc90eda 100644 (file)
@@ -150,6 +150,7 @@ MACHINE_START(CAPC7117,
              "Embedian CAPC-7117 evaluation kit based on the MXM-8x10 CoM")
        .atag_offset = 0x100,
        .map_io = pxa3xx_map_io,
+       .nr_irqs = PXA_NR_IRQS,
        .init_irq = pxa3xx_init_irq,
        .handle_irq = pxa3xx_handle_irq,
        .timer = &pxa_timer,
index 4b981b82d2a5401ecd50bc3b60df219df962433b..133cceefd2a39eec4daca566ba30b4a7047d1cba 100644 (file)
@@ -853,6 +853,7 @@ static void __init cm_x300_fixup(struct tag *tags, char **cmdline,
 MACHINE_START(CM_X300, "CM-X300 module")
        .atag_offset    = 0x100,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index 29d5d541f602f081b17b26acce6ef8f7bc148772..b2f227d361250e738c1f0b5a1d685b1ae9e44271 100644 (file)
@@ -310,6 +310,7 @@ MACHINE_START(COLIBRI, "Toradex Colibri PXA270")
        .atag_offset    = 0x100,
        .init_machine   = colibri_pxa270_init,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
@@ -320,6 +321,7 @@ MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC")
        .atag_offset    = 0x100,
        .init_machine   = colibri_pxa270_income_init,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 0846d210cb05401be28b4b22840c683bcb09f6f8..bb6def8ec979d280ebf866c927612b5445424919 100644 (file)
@@ -186,6 +186,7 @@ MACHINE_START(COLIBRI300, "Toradex Colibri PXA300")
        .atag_offset    = 0x100,
        .init_machine   = colibri_pxa300_init,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index 6ad3359063af4fe49727c0645367050b2a9adf36..d88e7b37f1dacfdc99a2991c5eab1d6d74d999bd 100644 (file)
@@ -256,6 +256,7 @@ MACHINE_START(COLIBRI320, "Toradex Colibri PXA320")
        .atag_offset    = 0x100,
        .init_machine   = colibri_pxa320_init,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index 11f1e735966e534e3dd9dfe486e6581e32f2b55b..039aafa455c7b828e6ae3dcd1fea21c1f7046689 100644 (file)
@@ -730,6 +730,7 @@ static void __init fixup_corgi(struct tag *tags, char **cmdline,
 MACHINE_START(CORGI, "SHARP Corgi")
        .fixup          = fixup_corgi,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = corgi_init,
@@ -742,6 +743,7 @@ MACHINE_END
 MACHINE_START(SHEPHERD, "SHARP Shepherd")
        .fixup          = fixup_corgi,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = corgi_init,
@@ -754,6 +756,7 @@ MACHINE_END
 MACHINE_START(HUSKY, "SHARP Husky")
        .fixup          = fixup_corgi,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = corgi_init,
index fb5a51d834e5391c4cb407b4270009dcaf68b33c..67f0de37f46ebf1fb3308bd86d0d7ce6ed38fe71 100644 (file)
@@ -274,6 +274,7 @@ static void __init csb726_init(void)
 MACHINE_START(CSB726, "Cogent CSB726")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
        .init_machine   = csb726_init,
index 18fd177073f4a54862e17a60f8d2b9c459df3c1f..72a15a62ab0282858cc0a6d7e7ab644d62dce089 100644 (file)
@@ -12,6 +12,7 @@
 #include <mach/pxafb.h>
 #include <mach/mmc.h>
 #include <mach/irda.h>
+#include <mach/irqs.h>
 #include <mach/ohci.h>
 #include <plat/pxa27x_keypad.h>
 #include <mach/camera.h>
index d80c0ba9a0955613a2f393f5fefd1d882483ad52..c1b65da263358b6cf554728cb23b51e0631ec94c 100644 (file)
@@ -1301,6 +1301,7 @@ static void __init em_x270_init(void)
 MACHINE_START(EM_X270, "Compulab EM-X270")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
@@ -1311,6 +1312,7 @@ MACHINE_END
 MACHINE_START(EXEDA, "Compulab eXeda")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index ac3b1cef47519ed4c431cc2b576bfc76ebcda792..e529a35a44cee06a4a24fe39290a0fda172e505c 100644 (file)
@@ -235,6 +235,7 @@ static void __init gumstix_init(void)
 MACHINE_START(GUMSTIX, "Gumstix")
        .atag_offset    = 0x100, /* match u-boot bi_boot_params */
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .timer          = &pxa_timer,
index fde6b4c873c40fba6fe1c0aad5d85d1f03272c8f..e7dec589f0141704587051c16e3cdbb65388de5b 100644 (file)
@@ -205,6 +205,7 @@ static void __init h5000_init(void)
 MACHINE_START(H5400, "HP iPAQ H5000")
        .atag_offset = 0x100,
        .map_io = pxa25x_map_io,
+       .nr_irqs = PXA_NR_IRQS,
        .init_irq = pxa25x_init_irq,
        .handle_irq = pxa25x_handle_irq,
        .timer = &pxa_timer,
index 26d069a9f900117269936685f86a504fdb55f672..2962de898da9eefb0c1e35649e18468642b2abe4 100644 (file)
@@ -160,6 +160,7 @@ static void __init himalaya_init(void)
 MACHINE_START(HIMALAYA, "HTC Himalaya")
        .atag_offset = 0x100,
        .map_io = pxa25x_map_io,
+       .nr_irqs = PXA_NR_IRQS,
        .init_irq = pxa25x_init_irq,
        .handle_irq = pxa25x_handle_irq,
        .init_machine = himalaya_init,
index 67400192ed3b9d6532792e967a207f25a933c89a..1d02eabc9c654bb18751a9b802c2f3cdbc8c83a5 100644 (file)
@@ -193,6 +193,7 @@ static void __init icontrol_init(void)
 MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM")
        .atag_offset    = 0x100,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index 8af1840e12cc4d8cdb6b24dd2f9e46110c59139d..6ff466bd43e8840b76bc71b6f1bcebc97d2092bb 100644 (file)
@@ -195,6 +195,7 @@ static void __init idp_map_io(void)
 MACHINE_START(PXA_IDP, "Vibren PXA255 IDP")
        /* Maintainer: Vibren Technologies */
        .map_io         = idp_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .timer          = &pxa_timer,
index 32975adf3ca4927a2d77eba14efb1ad7bddd0638..8765782dd955f129a9e510f749de6fabee5a9e92 100644 (file)
  */
 #define IRQ_BOARD_START                (PXA_GPIO_IRQ_BASE + PXA_NR_BUILTIN_GPIO)
 
-#define NR_IRQS                        (IRQ_BOARD_START)
+#define PXA_NR_IRQS            (IRQ_BOARD_START)
 
 #ifndef __ASSEMBLY__
 struct irq_data;
index e80a3db735c26e6e9c32ffd34ef435246b2949c8..061d57009cee98aec4335c745d3a7a51cfd975ea 100644 (file)
@@ -758,6 +758,7 @@ MACHINE_START(MIOA701, "MIO A701")
        .atag_offset    = 0x100,
        .restart_mode   = 's',
        .map_io         = &pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = &pxa27x_init_irq,
        .handle_irq     = &pxa27x_handle_irq,
        .init_machine   = mioa701_machine_init,
index 169bf8f97af00028a76d314b2bb8efa2d6b19e93..152efbf093f6b1f08eb2f18a2e2707688bb2a475 100644 (file)
@@ -95,6 +95,7 @@ MACHINE_START(NEC_MP900, "MobilePro900/C")
        .atag_offset    = 0x220100,
        .timer          = &pxa_timer,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = mp900c_init,
index 1fa80f4f80c8484595c4f4a5a17cdaf931a9cc33..31e0433d83ba2ffee4e1ddd24460f360ea940446 100644 (file)
@@ -344,6 +344,7 @@ static void __init palmld_init(void)
 MACHINE_START(PALMLD, "Palm LifeDrive")
        .atag_offset    = 0x100,
        .map_io         = palmld_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 5ba14316bd9c273b386e6267582dc93aa1131463..0f6bd4fcfa3b1f311cde34c6a540c852e24efc20 100644 (file)
@@ -205,6 +205,7 @@ MACHINE_START(PALMT5, "Palm Tungsten|T5")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
        .reserve        = palmt5_reserve,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 29b51b40f09df49a60a2ab07d91122f0f840ed74..e2d97eed07a7603224945b547d32cb0c1cd8ef40 100644 (file)
@@ -539,6 +539,7 @@ static void __init palmtc_init(void)
 MACHINE_START(PALMTC, "Palm Tungsten|C")
        .atag_offset    = 0x100,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .timer          = &pxa_timer,
index 5ebf49acb8279d321a61596718980dc45dadfa11..c054827c567f81805771e7a9160748dcb8124b68 100644 (file)
@@ -358,6 +358,7 @@ static void __init palmte2_init(void)
 MACHINE_START(PALMTE2, "Palm Tungsten|E2")
        .atag_offset    = 0x100,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .timer          = &pxa_timer,
index ec8249156c0846b1d6129b6c55ab7a431d23d2a4..fbdebee39a53dbbe57b6cfa8f2324b785d4429f5 100644 (file)
@@ -448,6 +448,7 @@ MACHINE_START(TREO680, "Palm Treo 680")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
        .reserve        = treo_reserve,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
        .timer          = &pxa_timer,
@@ -461,6 +462,7 @@ MACHINE_START(CENTRO, "Palm Centro 685")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
        .reserve        = treo_reserve,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 6170d76dfba8f395a41ff16c6c16ac28d1760970..9507605ed547a5366abf75cb704ee7c23a50ee62 100644 (file)
@@ -366,6 +366,7 @@ static void __init palmtx_init(void)
 MACHINE_START(PALMTX, "Palm T|X")
        .atag_offset    = 0x100,
        .map_io         = palmtx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index b2dff9d415ebf69eedba22393913e74075bb75ac..a97b59965bb917a542ed252446cefd7cf3e037c0 100644 (file)
@@ -401,6 +401,7 @@ static void __init palmz72_init(void)
 MACHINE_START(PALMZ72, "Palm Zire72")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index f107c71c7589f186918fb1c7e080f84ec067261d..d2e562d62cf4db6318da28f30a6d3d15e7f9ea29 100644 (file)
@@ -31,6 +31,7 @@
 #include <mach/pm.h>
 #include <mach/dma.h>
 #include <mach/smemc.h>
+#include <mach/irqs.h>
 
 #include "generic.h"
 #include "devices.h"
index 22818c7694a8fdb142b619f32c801e3cc9424386..7d691e51cb54048d679440b766dba67a7b3c9f4c 100644 (file)
@@ -1090,6 +1090,7 @@ MACHINE_START(RAUMFELD_RC, "Raumfeld Controller")
        .atag_offset    = 0x100,
        .init_machine   = raumfeld_controller_init,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
@@ -1102,6 +1103,7 @@ MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector")
        .atag_offset    = 0x100,
        .init_machine   = raumfeld_connector_init,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
@@ -1114,6 +1116,7 @@ MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker")
        .atag_offset    = 0x100,
        .init_machine   = raumfeld_speaker_init,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index 0fe354efb9317a8d183b76ef23a5e1a056982c58..86c95a5d8533a2e6db55116afa13d26925f2232d 100644 (file)
@@ -598,6 +598,7 @@ MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)")
        /* Maintainer: Eric Miao <eric.miao@marvell.com> */
        .atag_offset    = 0x100,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq       = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index abf355d0c92f4fda72ea75cdfeb146cfa32d4c48..df2ab0fb2aced7c34736019f123c9e8cdfe38a2f 100644 (file)
@@ -984,6 +984,7 @@ MACHINE_START(SPITZ, "SHARP Spitz")
        .restart_mode   = 'g',
        .fixup          = spitz_fixup,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
@@ -997,6 +998,7 @@ MACHINE_START(BORZOI, "SHARP Borzoi")
        .restart_mode   = 'g',
        .fixup          = spitz_fixup,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
@@ -1010,6 +1012,7 @@ MACHINE_START(AKITA, "SHARP Akita")
        .restart_mode   = 'g',
        .fixup          = spitz_fixup,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
index b0656e158d90409f249cc4a6965483bb68e1dc52..adb601a3762fb6e2612339fb306b959cd27a722d 100644 (file)
@@ -1006,6 +1006,7 @@ static void __init stargate2_init(void)
 #ifdef CONFIG_MACH_INTELMOTE2
 MACHINE_START(INTELMOTE2, "IMOTE 2")
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 9fb38e80e076ca984056031cadae43ba306060c5..736bfdc50ee61dedf68da32b8475c9283a500af0 100644 (file)
@@ -491,6 +491,7 @@ MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)")
        /* Maintainer: Eric Miao <eric.miao@marvell.com> */
        .atag_offset    = 0x100,
        .map_io         = pxa3xx_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq       = pxa3xx_handle_irq,
        .timer          = &pxa_timer,
index b503049d6d2657f6147b0bc82929426e2fe9f463..3d6c9bd90de6b183cd741e891c926a4bcb841c7e 100644 (file)
@@ -22,6 +22,7 @@
 #include <asm/mach/time.h>
 #include <asm/sched_clock.h>
 #include <mach/regs-ost.h>
+#include <mach/irqs.h>
 
 /*
  * This is PXA's sched_clock implementation. This has a resolution
index 0f30af617d8f47924eb1591928aa9a87627f3405..2b6ac00b2cd98ce24e3e5e34bf56d36698d54c87 100644 (file)
@@ -558,6 +558,7 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
        .atag_offset    = 0x100,
        .init_machine   = trizeps4_init,
        .map_io         = trizeps4_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
@@ -569,6 +570,7 @@ MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module")
        .atag_offset    = 0x100,
        .init_machine   = trizeps4_init,
        .map_io         = trizeps4_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 023d6ca789de4f0126939b247a6972f4f1cb5498..3143c3910c7dd9e4f8987f102dccb78a894c3285 100644 (file)
@@ -994,6 +994,7 @@ MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC")
        /* Maintainer: Marc Zyngier <maz@misterjones.org> */
        .atag_offset    = 0x100,
        .map_io         = viper_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = viper_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .timer          = &pxa_timer,
index 1f5cfa96f6d6a244da2d43f867d666b8b9232138..c57ab636ea9c85f5f459c48c422ca6fb680e35f4 100644 (file)
@@ -718,6 +718,7 @@ static void __init vpac270_init(void)
 MACHINE_START(VPAC270, "Voipac PXA270")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 4bbe9a36fe74df730ca419f4bfeeb6c3be6516dc..4275713ccd1045e4410c9efb0ac10323e0ed9f79 100644 (file)
@@ -182,6 +182,7 @@ MACHINE_START(XCEP, "Iskratel XCEP")
        .atag_offset    = 0x100,
        .init_machine   = xcep_init,
        .map_io         = pxa25x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .timer          = &pxa_timer,
index b6476848b5618dfc72f68f3f76dfdd1bee2d3533..fa8619970841b8e12a7b1b8a14e1844952e660a7 100644 (file)
@@ -721,6 +721,7 @@ static void __init z2_init(void)
 MACHINE_START(ZIPIT2, "Zipit Z2")
        .atag_offset    = 0x100,
        .map_io         = pxa27x_map_io,
+       .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .timer          = &pxa_timer,
index 060e5644c49c4711668835d451885f552a63a210..34560cab45d916729ccf03733ca88aaa8f7c9023 100644 (file)
@@ -100,6 +100,10 @@ config MACH_MARZEN
 
 comment "SH-Mobile System Configuration"
 
+config CPU_HAS_INTEVT
+        bool
+       default y
+
 menu "Memory configuration"
 
 config MEMORY_START
index eff8a96c75ee558298827e5c15a34fbf7af56ae9..e922e92111cd74026d14a9577d932c58eea29754 100644 (file)
@@ -42,6 +42,7 @@
 #include <video/sh_mipi_dsi.h>
 #include <sound/sh_fsi.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <mach/sh73a0.h>
 #include <mach/common.h>
 #include <asm/mach-types.h>
index 4d2201622323114eced0c40af35693fb06d85d95..df9a653824430662d89192673429d9310eac9b5e 100644 (file)
@@ -34,6 +34,7 @@
 #include <asm/mach/time.h>
 #include <asm/hardware/cache-l2x0.h>
 #include <mach/r8a7740.h>
+#include <mach/irqs.h>
 #include <video/sh_mobile_lcdc.h>
 
 /*
index 72d557281b1f1c115fea5fa538c175e8d20748b8..6dbdc428c244b546c962e1bbae866ff579baa546 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/input.h>
 #include <linux/input/sh_keysc.h>
 #include <linux/dma-mapping.h>
+#include <mach/irqs.h>
 #include <mach/sh7367.h>
 #include <mach/common.h>
 #include <asm/mach-types.h>
index 2220b885cff5731592f1cf6ca3a5a09779795220..2936ccc959504760f2d505de6dbdd8244bab8162 100644 (file)
@@ -34,6 +34,7 @@
 #include <linux/mmc/sh_mobile_sdhi.h>
 #include <linux/gpio.h>
 #include <linux/dma-mapping.h>
+#include <mach/irqs.h>
 #include <mach/sh7377.h>
 #include <mach/common.h>
 #include <asm/mach-types.h>
index 857ceeec1bb0e9975eb589deb82fbde7a9be856a..c71780b2232a93358a5fce75c633e604daf2649f 100644 (file)
@@ -39,6 +39,7 @@
 #include <linux/mfd/tmio.h>
 #include <linux/mmc/sh_mobile_sdhi.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <mach/sh73a0.h>
 #include <mach/common.h>
 #include <asm/mach-types.h>
index 9b42fbd10f8edf2873dbfba0bf6399305c8603db..73f00971d0da40a3bd6cc61366a6cc30c9c4ae5c 100644 (file)
@@ -55,6 +55,7 @@
 #include <sound/sh_fsi.h>
 
 #include <mach/common.h>
+#include <mach/irqs.h>
 #include <mach/sh7372.h>
 
 #include <asm/mach/arch.h>
index f0e02c0ce99f0989261db03739a50a7b9ceeccd6..3b2e88ae26be9ed84ca9fd0501a8b7c4eeb7ba69 100644 (file)
@@ -31,6 +31,7 @@
 #include <mach/hardware.h>
 #include <mach/r8a7779.h>
 #include <mach/common.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
index dcb714f4d75ab15c2dca37bc0843ad1de73872d6..4e686cc201fc8bacab46ad6aed6c01aac653c42c 100644 (file)
@@ -1,15 +1,11 @@
 #ifndef __ASM_MACH_IRQS_H
 #define __ASM_MACH_IRQS_H
 
-#define NR_IRQS         1024
+#include <linux/sh_intc.h>
 
 /* GIC */
 #define gic_spi(nr)            ((nr) + 32)
 
-/* INTCA */
-#define evt2irq(evt)           (((evt) >> 5) - 16)
-#define irq2evt(irq)           (((irq) + 16) << 5)
-
 /* INTCS */
 #define INTCS_VECT_BASE                0x2200
 #define INTCS_VECT(n, vect)    INTC_VECT((n), INTCS_VECT_BASE + (vect))
index 272c84c20c839d5415bc9953c7b234a4f053e676..09c42afcb22dae848551c1306b922866fc78a957 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/io.h>
 #include <linux/sh_intc.h>
 #include <mach/intc.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index cfde9bfc36699dec881fa738f2d19aec58075955..5bf776495b7521f43a4cfb71c8021485cda891ff 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/io.h>
 #include <linux/sh_intc.h>
 #include <mach/intc.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index 89afcaba99a1a74e132dc1264d249e0099d21944..6447e0af52d412123b222ea94978cc84969c4778 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/io.h>
 #include <linux/sh_intc.h>
 #include <mach/intc.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index 2af4e6e9bc5b3a852070367d80ba9e3b3e27c370..b84a460a340577f005d552099b00f4902d6e4a82 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/io.h>
 #include <linux/sh_intc.h>
 #include <mach/intc.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index 1eda6b0b69e308d24df75285cf10ba07d1f8e4b3..9a8207c6d31f27901d62b9420081a52ae1f76116 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/io.h>
 #include <linux/sh_intc.h>
 #include <mach/intc.h>
+#include <mach/irqs.h>
 #include <mach/sh73a0.h>
 #include <asm/hardware/gic.h>
 #include <asm/mach-types.h>
index 986dca6b3fad8f384ada7c5a115b50e55ba2301a..fa15d81267ef643be3e9bc7a61665a69a8ae5748 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/serial_sci.h>
 #include <linux/sh_timer.h>
 #include <mach/r8a7740.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index 4725663bd032ffed23fe97bbb75d88437a202eec..55df21add2d43979d334c8f0ebf99f9395113182 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/sh_intc.h>
 #include <linux/sh_timer.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <mach/r8a7779.h>
 #include <mach/common.h>
 #include <asm/mach-types.h>
index e546017f15dea1202df2be20fa6303b69d70f1f4..8e84819833a8158ad4814574a332951e7af60357 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/serial_sci.h>
 #include <linux/sh_timer.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index 6fcf304d3cdf53869f4d7b64d701e4d5e92345ce..420d25c0d742fe0f38d9e245acd5fb0a1204ff92 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/sh_timer.h>
 #include <linux/pm_domain.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <mach/sh7372.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
index bb405b8e459be00c11ce956c0e67bf9e181557f2..747ed8ef84ef04866e1b745c6654e5a11f5a7055 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/sh_intc.h>
 #include <linux/sh_timer.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
index 20e71e5cace4723dabc8276f47d3e1cfef8daf64..7bf740e29a3a5dc49faf4ad6791ff4c5de8c7734 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/sh_intc.h>
 #include <linux/sh_timer.h>
 #include <mach/hardware.h>
+#include <mach/irqs.h>
 #include <mach/sh73a0.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
index 26e67f0f0051b5b27bb129b3341e42c94d928c91..2f58c61e2812464a4c3528952f6e775b540254c0 100644 (file)
@@ -11,7 +11,7 @@ config TMS320C6X
        select HAVE_DMA_API_DEBUG
        select HAVE_GENERIC_HARDIRQS
        select HAVE_MEMBLOCK
-       select HAVE_SPARSE_IRQ
+       select SPARSE_IRQ
        select OF
        select OF_EARLY_FLATTREE
 
index 1919634a9b32c261c6f989f7c87b7403a5c6c57e..06c1cf0f24a6f4260fbd211fc85655a97a351218 100644 (file)
@@ -133,7 +133,7 @@ config PPC
        select HAVE_REGS_AND_STACK_ACCESS_API
        select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64
        select HAVE_GENERIC_HARDIRQS
-       select HAVE_SPARSE_IRQ
+       select MAY_HAVE_SPARSE_IRQ
        select IRQ_PER_CPU
        select GENERIC_IRQ_SHOW
        select GENERIC_IRQ_SHOW_LEVEL
index 3c8db65c89e5583ef16907f9d44eb0a9a74461ff..21b82a8cca218dc7f54f3cce532e0ce9e145fdd6 100644 (file)
@@ -22,7 +22,7 @@ config SUPERH
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_REGS_AND_STACK_ACCESS_API
        select HAVE_GENERIC_HARDIRQS
-       select HAVE_SPARSE_IRQ
+       select MAY_HAVE_SPARSE_IRQ
        select IRQ_FORCED_THREADING
        select RTC_LIB
        select GENERIC_ATOMIC64
index 45d08b6a5ef71de204578bb0569f4fba3c836cbd..2a62017eb2750705d1b07f7defb21532c8ccbf27 100644 (file)
  */
 #define NO_IRQ_IGNORE          ((unsigned int)-1)
 
-/*
- * Convert back and forth between INTEVT and IRQ values.
- */
-#ifdef CONFIG_CPU_HAS_INTEVT
-#define evt2irq(evt)           (((evt) >> 5) - 16)
-#define irq2evt(irq)           (((irq) + 16) << 5)
-#else
-#define evt2irq(evt)           (evt)
-#define irq2evt(irq)           (irq)
-#endif
-
 /*
  * Simple Mask Register Support
  */
index 864cc6e6ac8e300d35b45c6b749f2ee93555c891..fb2da445945f45b5e78a45faf5dbae2bbf984373 100644 (file)
@@ -69,7 +69,6 @@ config X86
        select HAVE_ARCH_JUMP_LABEL
        select HAVE_TEXT_POKE_SMP
        select HAVE_GENERIC_HARDIRQS
-       select HAVE_SPARSE_IRQ
        select SPARSE_IRQ
        select GENERIC_FIND_FIRST_BIT
        select GENERIC_IRQ_PROBE
index b2d3ee1d183a50b2da33ac819d2a74375966b726..5689ce62fd81badc2fdeceeb604fdf866d5b3bda 100644 (file)
@@ -22,6 +22,8 @@
 #include <linux/syscore_ops.h>
 #include <linux/slab.h>
 
+#include <mach/irqs.h>
+
 /*
  * We handle the GPIOs by banks, each bank covers up to 32 GPIOs with
  * one set of registers. The register offsets are organized below:
index cec7a96f2c098f632d3a50865b7cece306007f92..bc780807ccb0febf460bc5de45517a8c26b82bd2 100644 (file)
@@ -9,7 +9,7 @@
  */
 #include "internals.h"
 
-static unsigned long dist_handle[NR_IRQS];
+static unsigned long dist_handle[INTC_NR_IRQS];
 
 void intc_balancing_enable(unsigned int irq)
 {
index e53e449b4ecab0b83ab6fe110cb0df4ff8dff963..2fde8970dfd0716dda4fcf69395da9be7bf80214 100644 (file)
@@ -42,7 +42,7 @@ unsigned int nr_intc_controllers;
  * - this needs to be at least 2 for 5-bit priorities on 7780
  */
 static unsigned int default_prio_level = 2;    /* 2 - 16 */
-static unsigned int intc_prio_level[NR_IRQS];  /* for now */
+static unsigned int intc_prio_level[INTC_NR_IRQS];     /* for now */
 
 unsigned int intc_get_dfl_prio_level(void)
 {
index 057ce56829bf37b1c57093eb0734ed80b2dad36a..f461d5300b81d77fcc06915669c3eb9b56ea8e91 100644 (file)
@@ -13,7 +13,7 @@
 #include <linux/spinlock.h>
 #include "internals.h"
 
-static unsigned long ack_handle[NR_IRQS];
+static unsigned long ack_handle[INTC_NR_IRQS];
 
 static intc_enum __init intc_grp_id(struct intc_desc *desc,
                                    intc_enum enum_id)
index c7ec49ffd9f63806a73b14e39ec6bbedbf6de8cf..93cec21e788bdb7b4024fa5237b9d7a8801c1333 100644 (file)
@@ -17,7 +17,7 @@
 #include <linux/export.h>
 #include "internals.h"
 
-static struct intc_map_entry intc_irq_xlate[NR_IRQS];
+static struct intc_map_entry intc_irq_xlate[INTC_NR_IRQS];
 
 struct intc_virq_list {
        unsigned int irq;
index b160645f5599f51547694c1c1771d3e2b03bd04e..6aed0805927f8ea608e3bce754974d53a9bc372f 100644 (file)
@@ -3,6 +3,23 @@
 
 #include <linux/ioport.h>
 
+#ifdef CONFIG_SUPERH
+#define INTC_NR_IRQS   512
+#else
+#define INTC_NR_IRQS   1024
+#endif
+
+/*
+ * Convert back and forth between INTEVT and IRQ values.
+ */
+#ifdef CONFIG_CPU_HAS_INTEVT
+#define evt2irq(evt)           (((evt) >> 5) - 16)
+#define irq2evt(irq)           (((irq) + 16) << 5)
+#else
+#define evt2irq(evt)           (evt)
+#define irq2evt(irq)           (irq)
+#endif
+
 typedef unsigned char intc_enum;
 
 struct intc_vect {
index 5a38bf4de641d249ddc590d4397e6b96e8fbfbef..1f2dece9ad4ca614f963552e78f6268f473770fa 100644 (file)
@@ -13,7 +13,7 @@ config GENERIC_HARDIRQS
 # Options selectable by the architecture code
 
 # Make sparse irq Kconfig switch below available
-config HAVE_SPARSE_IRQ
+config MAY_HAVE_SPARSE_IRQ
        bool
 
 # Enable the generic irq autoprobe mechanism
@@ -61,8 +61,7 @@ config IRQ_FORCED_THREADING
        bool
 
 config SPARSE_IRQ
-       bool "Support sparse irq numbering"
-       depends on HAVE_SPARSE_IRQ
+       bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
        ---help---
 
          Sparse irq numbering is useful for distro kernels that want
index d1aa4218f1299ebccb813d0b8ef6c6fb9d8c3479..0e9e82262479fbb6908aa5b0377bfcc094d9c64e 100644 (file)
@@ -21,7 +21,7 @@
 #include <sound/ac97_codec.h>
 #include <sound/pxa2xx-lib.h>
 
-#include <asm/irq.h>
+#include <mach/irqs.h>
 #include <mach/regs-ac97.h>
 #include <mach/audio.h>