ARM: u300: convert to MULTI_IRQ_HANDLER
Now that there is a generic IRQ handler for multiple VIC devices use it for u300 to help building multi platform kernels. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
This commit is contained in:
parent
66266f4ab8
commit
b7378eafb3
|
@ -896,6 +896,7 @@ config ARCH_U300
|
|||
select GENERIC_GPIO
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
select NEED_MACH_MEMORY_H
|
||||
select MULTI_IRQ_HANDLER
|
||||
help
|
||||
Support for ST-Ericsson U300 series mobile platforms.
|
||||
|
||||
|
|
|
@ -8,33 +8,9 @@
|
|||
* Low-level IRQ helper macros for ST-Ericsson U300
|
||||
* Author: Linus Walleij <linus.walleij@stericsson.com>
|
||||
*/
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/hardware/vic.h>
|
||||
|
||||
.macro disable_fiq
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_preamble, base, tmp
|
||||
.endm
|
||||
|
||||
.macro arch_ret_to_user, tmp1, tmp2
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
ldr \base, = U300_AHB_PER_VIRT_BASE-U300_AHB_PER_PHYS_BASE+U300_INTCON0_BASE
|
||||
ldr \irqstat, [\base, #VIC_IRQ_STATUS] @ get masked status
|
||||
mov \irqnr, #0
|
||||
teq \irqstat, #0
|
||||
bne 1002f
|
||||
1001: ldr \base, = U300_AHB_PER_VIRT_BASE-U300_AHB_PER_PHYS_BASE+U300_INTCON1_BASE
|
||||
ldr \irqstat, [\base, #VIC_IRQ_STATUS] @ get masked status
|
||||
mov \irqnr, #32
|
||||
teq \irqstat, #0
|
||||
beq 1003f
|
||||
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
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <linux/io.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/platform.h>
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/memory.h>
|
||||
|
@ -49,6 +50,7 @@ MACHINE_START(U300, MACH_U300_STRING)
|
|||
.atag_offset = BOOT_PARAMS_OFFSET,
|
||||
.map_io = u300_map_io,
|
||||
.init_irq = u300_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &u300_timer,
|
||||
.init_machine = u300_init_machine,
|
||||
MACHINE_END
|
||||
|
|
Loading…
Reference in New Issue