mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-16 07:35:14 +00:00
b1479ebb77
Add AIC (Advanced Interrupt Controller) and AIC5 (AIC5 is an evolution of the AIC block) drivers. Put common code in irq-atmel-aic-common.c/.h so that both driver can access shared functions (this will ease maintenance). These drivers are only compatible with dt enabled board and replace the old implementation found in arch/arm/mach-at91/irq.c. Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Link: https://lkml.kernel.org/r/1405012462-766-4-git-send-email-boris.brezillon@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
35 lines
1 KiB
C
35 lines
1 KiB
C
/*
|
|
* Atmel AT91 common AIC (Advanced Interrupt Controller) header file
|
|
*
|
|
* Copyright (C) 2004 SAN People
|
|
* Copyright (C) 2004 ATMEL
|
|
* Copyright (C) Rick Bronson
|
|
* Copyright (C) 2014 Free Electrons
|
|
*
|
|
* Author: Boris BREZILLON <boris.brezillon@free-electrons.com>
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
#ifndef __IRQ_ATMEL_AIC_COMMON_H
|
|
#define __IRQ_ATMEL_AIC_COMMON_H
|
|
|
|
|
|
int aic_common_set_type(struct irq_data *d, unsigned type, unsigned *val);
|
|
|
|
int aic_common_set_priority(int priority, unsigned *val);
|
|
|
|
int aic_common_irq_domain_xlate(struct irq_domain *d,
|
|
struct device_node *ctrlr,
|
|
const u32 *intspec,
|
|
unsigned int intsize,
|
|
irq_hw_number_t *out_hwirq,
|
|
unsigned int *out_type);
|
|
|
|
struct irq_domain *__init aic_common_of_init(struct device_node *node,
|
|
const struct irq_domain_ops *ops,
|
|
const char *name, int nirqs);
|
|
|
|
#endif /* __IRQ_ATMEL_AIC_COMMON_H */
|