intc-shx3.c (640B)
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Shared support for SH-X3 interrupt controllers. 4 * 5 * Copyright (C) 2009 - 2010 Paul Mundt 6 */ 7#include <linux/irq.h> 8#include <linux/io.h> 9#include <linux/init.h> 10 11#define INTACK 0xfe4100b8 12#define INTACKCLR 0xfe4100bc 13#define INTC_USERIMASK 0xfe411000 14 15#ifdef CONFIG_INTC_BALANCING 16unsigned int irq_lookup(unsigned int irq) 17{ 18 return __raw_readl(INTACK) & 1 ? irq : NO_IRQ_IGNORE; 19} 20 21void irq_finish(unsigned int irq) 22{ 23 __raw_writel(irq2evt(irq), INTACKCLR); 24} 25#endif 26 27static int __init shx3_irq_setup(void) 28{ 29 return register_intc_userimask(INTC_USERIMASK); 30} 31arch_initcall(shx3_irq_setup);