1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Atmel AT91 common AIC (Advanced Interrupt Controller) header file 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2004 SAN People 5*4882a593Smuzhiyun * Copyright (C) 2004 ATMEL 6*4882a593Smuzhiyun * Copyright (C) Rick Bronson 7*4882a593Smuzhiyun * Copyright (C) 2014 Free Electrons 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * Author: Boris BREZILLON <boris.brezillon@free-electrons.com> 10*4882a593Smuzhiyun * 11*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public 12*4882a593Smuzhiyun * License version 2. This program is licensed "as is" without any 13*4882a593Smuzhiyun * warranty of any kind, whether express or implied. 14*4882a593Smuzhiyun */ 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #ifndef __IRQ_ATMEL_AIC_COMMON_H 17*4882a593Smuzhiyun #define __IRQ_ATMEL_AIC_COMMON_H 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun int aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val); 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun void aic_common_set_priority(int priority, unsigned *val); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun int aic_common_irq_domain_xlate(struct irq_domain *d, 25*4882a593Smuzhiyun struct device_node *ctrlr, 26*4882a593Smuzhiyun const u32 *intspec, 27*4882a593Smuzhiyun unsigned int intsize, 28*4882a593Smuzhiyun irq_hw_number_t *out_hwirq, 29*4882a593Smuzhiyun unsigned int *out_type); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun struct irq_domain *__init aic_common_of_init(struct device_node *node, 32*4882a593Smuzhiyun const struct irq_domain_ops *ops, 33*4882a593Smuzhiyun const char *name, int nirqs, 34*4882a593Smuzhiyun const struct of_device_id *matches); 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun void __init aic_common_rtc_irq_fixup(void); 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun void __init aic_common_rtt_irq_fixup(void); 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun #endif /* __IRQ_ATMEL_AIC_COMMON_H */ 41