diff options
author | Ludovic Desroches <ludovic.desroches@atmel.com> | 2012-06-11 09:38:03 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2012-07-02 08:26:58 -0400 |
commit | 3e135466745a62b1814edef74c7b4a25e6bda707 (patch) | |
tree | 77949a25a79b63bba42eb9485e2655d68007ae79 /arch/arm/mach-at91/include | |
parent | 3a6b37134c71be1b085be7fe5234f364dc68e2de (diff) |
ARM: at91: at91 based machines specify their own irq handler at run time
SOC_AT91SAM9 selects MULTI_IRQ_HANDLER in order to let machines specify their
own IRQ handler at run time.
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/mach-at91/include')
-rw-r--r-- | arch/arm/mach-at91/include/mach/at91_aic.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/entry-macro.S | 27 |
2 files changed, 2 insertions, 27 deletions
diff --git a/arch/arm/mach-at91/include/mach/at91_aic.h b/arch/arm/mach-at91/include/mach/at91_aic.h index 3af7272a4060..78673784bc64 100644 --- a/arch/arm/mach-at91/include/mach/at91_aic.h +++ b/arch/arm/mach-at91/include/mach/at91_aic.h | |||
@@ -65,4 +65,6 @@ extern void __iomem *at91_aic_base; | |||
65 | #define AT91_AIC_FFDR 0x144 /* Fast Forcing Disable Register [SAM9 only] */ | 65 | #define AT91_AIC_FFDR 0x144 /* Fast Forcing Disable Register [SAM9 only] */ |
66 | #define AT91_AIC_FFSR 0x148 /* Fast Forcing Status Register [SAM9 only] */ | 66 | #define AT91_AIC_FFSR 0x148 /* Fast Forcing Status Register [SAM9 only] */ |
67 | 67 | ||
68 | void at91_aic_handle_irq(struct pt_regs *regs); | ||
69 | |||
68 | #endif | 70 | #endif |
diff --git a/arch/arm/mach-at91/include/mach/entry-macro.S b/arch/arm/mach-at91/include/mach/entry-macro.S deleted file mode 100644 index 903bf205a333..000000000000 --- a/arch/arm/mach-at91/include/mach/entry-macro.S +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-at91/include/mach/entry-macro.S | ||
3 | * | ||
4 | * Copyright (C) 2003-2005 SAN People | ||
5 | * | ||
6 | * Low-level IRQ helper macros for AT91RM9200 platforms | ||
7 | * | ||
8 | * This file is licensed under the terms of the GNU General Public | ||
9 | * License version 2. This program is licensed "as is" without any | ||
10 | * warranty of any kind, whether express or implied. | ||
11 | */ | ||
12 | |||
13 | #include <mach/hardware.h> | ||
14 | #include <mach/at91_aic.h> | ||
15 | |||
16 | .macro get_irqnr_preamble, base, tmp | ||
17 | ldr \base, =at91_aic_base @ base virtual address of AIC peripheral | ||
18 | ldr \base, [\base] | ||
19 | .endm | ||
20 | |||
21 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | ||
22 | ldr \irqnr, [\base, #AT91_AIC_IVR] @ read IRQ vector register: de-asserts nIRQ to processor (and clears interrupt) | ||
23 | ldr \irqstat, [\base, #AT91_AIC_ISR] @ read interrupt source number | ||
24 | teq \irqstat, #0 @ ISR is 0 when no current interrupt, or spurious interrupt | ||
25 | streq \tmp, [\base, #AT91_AIC_EOICR] @ not going to be handled further, then ACK it now. | ||
26 | .endm | ||
27 | |||