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