diff options
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/irqs.h | 6 | ||||
-rw-r--r-- | arch/sh/include/asm/irq.h | 11 | ||||
-rw-r--r-- | include/linux/sh_intc.h | 11 |
4 files changed, 17 insertions, 15 deletions
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 060e5644c49c..34560cab45d9 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -100,6 +100,10 @@ config MACH_MARZEN | |||
100 | 100 | ||
101 | comment "SH-Mobile System Configuration" | 101 | comment "SH-Mobile System Configuration" |
102 | 102 | ||
103 | config CPU_HAS_INTEVT | ||
104 | bool | ||
105 | default y | ||
106 | |||
103 | menu "Memory configuration" | 107 | menu "Memory configuration" |
104 | 108 | ||
105 | config MEMORY_START | 109 | config MEMORY_START |
diff --git a/arch/arm/mach-shmobile/include/mach/irqs.h b/arch/arm/mach-shmobile/include/mach/irqs.h index dcb714f4d75a..828807dce5a1 100644 --- a/arch/arm/mach-shmobile/include/mach/irqs.h +++ b/arch/arm/mach-shmobile/include/mach/irqs.h | |||
@@ -1,15 +1,13 @@ | |||
1 | #ifndef __ASM_MACH_IRQS_H | 1 | #ifndef __ASM_MACH_IRQS_H |
2 | #define __ASM_MACH_IRQS_H | 2 | #define __ASM_MACH_IRQS_H |
3 | 3 | ||
4 | #include <linux/sh_intc.h> | ||
5 | |||
4 | #define NR_IRQS 1024 | 6 | #define NR_IRQS 1024 |
5 | 7 | ||
6 | /* GIC */ | 8 | /* GIC */ |
7 | #define gic_spi(nr) ((nr) + 32) | 9 | #define gic_spi(nr) ((nr) + 32) |
8 | 10 | ||
9 | /* INTCA */ | ||
10 | #define evt2irq(evt) (((evt) >> 5) - 16) | ||
11 | #define irq2evt(irq) (((irq) + 16) << 5) | ||
12 | |||
13 | /* INTCS */ | 11 | /* INTCS */ |
14 | #define INTCS_VECT_BASE 0x2200 | 12 | #define INTCS_VECT_BASE 0x2200 |
15 | #define INTCS_VECT(n, vect) INTC_VECT((n), INTCS_VECT_BASE + (vect)) | 13 | #define INTCS_VECT(n, vect) INTC_VECT((n), INTCS_VECT_BASE + (vect)) |
diff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h index 45d08b6a5ef7..2a62017eb275 100644 --- a/arch/sh/include/asm/irq.h +++ b/arch/sh/include/asm/irq.h | |||
@@ -21,17 +21,6 @@ | |||
21 | #define NO_IRQ_IGNORE ((unsigned int)-1) | 21 | #define NO_IRQ_IGNORE ((unsigned int)-1) |
22 | 22 | ||
23 | /* | 23 | /* |
24 | * Convert back and forth between INTEVT and IRQ values. | ||
25 | */ | ||
26 | #ifdef CONFIG_CPU_HAS_INTEVT | ||
27 | #define evt2irq(evt) (((evt) >> 5) - 16) | ||
28 | #define irq2evt(irq) (((irq) + 16) << 5) | ||
29 | #else | ||
30 | #define evt2irq(evt) (evt) | ||
31 | #define irq2evt(irq) (irq) | ||
32 | #endif | ||
33 | |||
34 | /* | ||
35 | * Simple Mask Register Support | 24 | * Simple Mask Register Support |
36 | */ | 25 | */ |
37 | extern void make_maskreg_irq(unsigned int irq); | 26 | extern void make_maskreg_irq(unsigned int irq); |
diff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h index b160645f5599..e1a2ac5c931b 100644 --- a/include/linux/sh_intc.h +++ b/include/linux/sh_intc.h | |||
@@ -3,6 +3,17 @@ | |||
3 | 3 | ||
4 | #include <linux/ioport.h> | 4 | #include <linux/ioport.h> |
5 | 5 | ||
6 | /* | ||
7 | * Convert back and forth between INTEVT and IRQ values. | ||
8 | */ | ||
9 | #ifdef CONFIG_CPU_HAS_INTEVT | ||
10 | #define evt2irq(evt) (((evt) >> 5) - 16) | ||
11 | #define irq2evt(irq) (((irq) + 16) << 5) | ||
12 | #else | ||
13 | #define evt2irq(evt) (evt) | ||
14 | #define irq2evt(irq) (irq) | ||
15 | #endif | ||
16 | |||
6 | typedef unsigned char intc_enum; | 17 | typedef unsigned char intc_enum; |
7 | 18 | ||
8 | struct intc_vect { | 19 | struct intc_vect { |