mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
ARM: mach-shmobile: Run-time IRQ handler for GIC
Break-out GIC specific IRQ demux code from the file entry-macro-intc.S and register during run-time. Covers sh73a0. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
863b171952
commit
e74a9625f8
@ -22,6 +22,7 @@ pfc-$(CONFIG_ARCH_SH73A0) += pfc-sh73a0.o
|
||||
obj-$(CONFIG_ARCH_SH7367) += entry-intc.o
|
||||
obj-$(CONFIG_ARCH_SH7377) += entry-intc.o
|
||||
obj-$(CONFIG_ARCH_SH7372) += entry-intc.o
|
||||
obj-$(CONFIG_ARCH_SH73A0) += entry-gic.o
|
||||
|
||||
# Board objects
|
||||
obj-$(CONFIG_MACH_G3EVM) += board-g3evm.o
|
||||
|
@ -309,6 +309,7 @@ struct sys_timer ag5evm_timer = {
|
||||
MACHINE_START(AG5EVM, "ag5evm")
|
||||
.map_io = ag5evm_map_io,
|
||||
.init_irq = ag5evm_init_irq,
|
||||
.handle_irq = shmobile_handle_irq_gic,
|
||||
.init_machine = ag5evm_init,
|
||||
.timer = &ag5evm_timer,
|
||||
MACHINE_END
|
||||
|
20
arch/arm/mach-shmobile/entry-gic.S
Normal file
20
arch/arm/mach-shmobile/entry-gic.S
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* ARM Interrupt demux handler using GIC
|
||||
*
|
||||
* Copyright (C) 2010 Magnus Damm
|
||||
* Copyright (C) 2010 Renesas Solutions Corp.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include <asm/entry-macro-multi.S>
|
||||
#include <asm/hardware/gic.h>
|
||||
#include <asm/hardware/entry-macro-gic.S>
|
||||
|
||||
.macro get_irqnr_preamble, base, tmp
|
||||
ldr \base, =(0xf0000100)
|
||||
.endm
|
||||
|
||||
arch_irq_handler shmobile_handle_irq_gic
|
@ -6,6 +6,7 @@ extern void shmobile_setup_console(void);
|
||||
struct clk;
|
||||
extern int clk_init(void);
|
||||
extern void shmobile_handle_irq_intc(struct pt_regs *);
|
||||
extern void shmobile_handle_irq_gic(struct pt_regs *);
|
||||
|
||||
extern void sh7367_init_irq(void);
|
||||
extern void sh7367_add_early_devices(void);
|
||||
|
Loading…
Reference in New Issue
Block a user