2 * Shared support for SH-X3 interrupt controllers.
4 * Copyright (C) 2009 - 2010 Paul Mundt
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
10 #include <linux/irq.h>
12 #include <linux/init.h>
14 #define INTACK 0xfe4100b8
15 #define INTACKCLR 0xfe4100bc
16 #define INTC_USERIMASK 0xfe411000
18 #ifdef CONFIG_INTC_BALANCING
19 unsigned int irq_lookup(unsigned int irq
)
21 return __raw_readl(INTACK
) & 1 ? irq
: NO_IRQ_IGNORE
;
24 void irq_finish(unsigned int irq
)
26 __raw_writel(irq2evt(irq
), INTACKCLR
);
30 static int __init
shx3_irq_setup(void)
32 return register_intc_userimask(INTC_USERIMASK
);
34 arch_initcall(shx3_irq_setup
);