From: Jamie Iles Date: Tue, 27 Sep 2011 19:25:51 +0000 (+0100) Subject: ARM: nomadik: convert to MULTI_IRQ_HANDLER X-Git-Tag: v3.3-rc1~18^2~3^2~23^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=42ab5304547b1d40909eeb499b5f38b99410e597;p=profile%2Fivi%2Fkernel-x86-ivi.git ARM: nomadik: convert to MULTI_IRQ_HANDLER Now that there is a generic IRQ handler for multiple VIC devices use it for nomadik to help building multi platform kernels. Cc: Alessandro Rubini Acked-by: Linus Walleij Cc: STEricsson Tested-by: Thomas Abraham Signed-off-by: Jamie Iles --- diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d8d10f4..7408fb8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -917,6 +917,7 @@ config ARCH_NOMADIK select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select ARCH_REQUIRE_GPIOLIB + select MULTI_IRQ_HANDLER help Support for the Nomadik platform by ST-Ericsson diff --git a/arch/arm/mach-nomadik/board-nhk8815.c b/arch/arm/mach-nomadik/board-nhk8815.c index 0cbb74c..f98259c 100644 --- a/arch/arm/mach-nomadik/board-nhk8815.c +++ b/arch/arm/mach-nomadik/board-nhk8815.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -280,6 +281,7 @@ MACHINE_START(NOMADIK, "NHK8815") .atag_offset = 0x100, .map_io = cpu8815_map_io, .init_irq = cpu8815_init_irq, + .handle_irq = vic_handle_irq, .timer = &nomadik_timer, .init_machine = nhk8815_platform_init, MACHINE_END diff --git a/arch/arm/mach-nomadik/include/mach/entry-macro.S b/arch/arm/mach-nomadik/include/mach/entry-macro.S index 49f1aa3..98ea1c1 100644 --- a/arch/arm/mach-nomadik/include/mach/entry-macro.S +++ b/arch/arm/mach-nomadik/include/mach/entry-macro.S @@ -6,38 +6,8 @@ * warranty of any kind, whether express or implied. */ -#include -#include - .macro disable_fiq .endm - .macro get_irqnr_preamble, base, tmp - ldr \base, =IO_ADDRESS(NOMADIK_IC_BASE) - .endm - .macro arch_ret_to_user, tmp1, tmp2 .endm - - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - - /* This stanza gets the irq mask from one of two status registers */ - mov \irqnr, #0 - ldr \irqstat, [\base, #VIC_REG_IRQSR0] @ get masked status - cmp \irqstat, #0 - bne 1001f - add \irqnr, \irqnr, #32 - ldr \irqstat, [\base, #VIC_REG_IRQSR1] @ get masked status - -1001: tst \irqstat, #15 - bne 1002f - add \irqnr, \irqnr, #4 - movs \irqstat, \irqstat, lsr #4 - bne 1001b -1002: tst \irqstat, #1 - bne 1003f - add \irqnr, \irqnr, #1 - movs \irqstat, \irqstat, lsr #1 - bne 1002b -1003: /* EQ will be set if no irqs pending */ - .endm