Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / sh / kernel / cpu / sh4a / intc-shx3.c
blob78c971486b4e9520b2b9ad10b1c26c04ef5c3361
1 /*
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
8 * for more details.
9 */
10 #include <linux/irq.h>
11 #include <linux/io.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);
28 #endif
30 static int __init shx3_irq_setup(void)
32 return register_intc_userimask(INTC_USERIMASK);
34 arch_initcall(shx3_irq_setup);