diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-09-27 15:53:31 -0400 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2011-11-15 13:14:04 -0500 |
commit | bb3a4ebe63194a41b7d4420cbc26732e15aa8242 (patch) | |
tree | 7d0da639bfedbe74f2a8db7d57790ad46f1a0fd2 /arch/arm/mach-s5pc100 | |
parent | c8be7acd63ed65aa034fc036bb2c7867f30561bd (diff) |
ARM: samsung: convert to MULTI_IRQ_HANDLER
Now that there is a generic IRQ handler for multiple VIC devices use it
for samsung to help building multi platform kernels.
Cc: Kukjin Kim <kgene.kim@samsung.com>
Tested-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Diffstat (limited to 'arch/arm/mach-s5pc100')
-rw-r--r-- | arch/arm/mach-s5pc100/include/mach/entry-macro.S | 25 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/mach-smdkc100.c | 2 |
2 files changed, 2 insertions, 25 deletions
diff --git a/arch/arm/mach-s5pc100/include/mach/entry-macro.S b/arch/arm/mach-s5pc100/include/mach/entry-macro.S index ba76af052c81..b8c242edfa22 100644 --- a/arch/arm/mach-s5pc100/include/mach/entry-macro.S +++ b/arch/arm/mach-s5pc100/include/mach/entry-macro.S | |||
@@ -12,39 +12,14 @@ | |||
12 | * warranty of any kind, whether express or implied. | 12 | * warranty of any kind, whether express or implied. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <asm/hardware/vic.h> | ||
16 | #include <mach/map.h> | ||
17 | #include <plat/irqs.h> | ||
18 | |||
19 | .macro disable_fiq | 15 | .macro disable_fiq |
20 | .endm | 16 | .endm |
21 | 17 | ||
22 | .macro get_irqnr_preamble, base, tmp | 18 | .macro get_irqnr_preamble, base, tmp |
23 | ldr \base, =VA_VIC0 | ||
24 | .endm | 19 | .endm |
25 | 20 | ||
26 | .macro arch_ret_to_user, tmp1, tmp2 | 21 | .macro arch_ret_to_user, tmp1, tmp2 |
27 | .endm | 22 | .endm |
28 | 23 | ||
29 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | 24 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp |
30 | |||
31 | @ check the vic0 | ||
32 | mov \irqnr, # S5P_IRQ_OFFSET + 31 | ||
33 | ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] | ||
34 | teq \irqstat, #0 | ||
35 | |||
36 | @ otherwise try vic1 | ||
37 | addeq \tmp, \base, #(VA_VIC1 - VA_VIC0) | ||
38 | addeq \irqnr, \irqnr, #32 | ||
39 | ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] | ||
40 | teqeq \irqstat, #0 | ||
41 | |||
42 | @ otherwise try vic2 | ||
43 | addeq \tmp, \base, #(VA_VIC2 - VA_VIC0) | ||
44 | addeq \irqnr, \irqnr, #32 | ||
45 | ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] | ||
46 | teqeq \irqstat, #0 | ||
47 | |||
48 | clzne \irqstat, \irqstat | ||
49 | subne \irqnr, \irqnr, \irqstat | ||
50 | .endm | 25 | .endm |
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c index 26f5c91c9427..93ebe3a92d10 100644 --- a/arch/arm/mach-s5pc100/mach-smdkc100.c +++ b/arch/arm/mach-s5pc100/mach-smdkc100.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/input.h> | 25 | #include <linux/input.h> |
26 | #include <linux/pwm_backlight.h> | 26 | #include <linux/pwm_backlight.h> |
27 | 27 | ||
28 | #include <asm/hardware/vic.h> | ||
28 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
29 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
30 | 31 | ||
@@ -250,6 +251,7 @@ MACHINE_START(SMDKC100, "SMDKC100") | |||
250 | /* Maintainer: Byungho Min <bhmin@samsung.com> */ | 251 | /* Maintainer: Byungho Min <bhmin@samsung.com> */ |
251 | .atag_offset = 0x100, | 252 | .atag_offset = 0x100, |
252 | .init_irq = s5pc100_init_irq, | 253 | .init_irq = s5pc100_init_irq, |
254 | .handle_irq = vic_handle_irq, | ||
253 | .map_io = smdkc100_map_io, | 255 | .map_io = smdkc100_map_io, |
254 | .init_machine = smdkc100_machine_init, | 256 | .init_machine = smdkc100_machine_init, |
255 | .timer = &s3c24xx_timer, | 257 | .timer = &s3c24xx_timer, |