Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7378eaf authored by Jamie Iles's avatar Jamie Iles Committed by Marc Zyngier
Browse files

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: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
parent 66266f4a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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.

+0 −24
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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