xref: /openbmc/linux/arch/arm/mach-imx/irq-common.c (revision 4e174665)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright (C) BitBox Ltd 2010
4  */
5 
6 #include <linux/module.h>
7 #include <linux/irq.h>
8 #include <linux/platform_data/asoc-imx-ssi.h>
9 
10 #include "irq-common.h"
11 
12 int mxc_set_irq_fiq(unsigned int irq, unsigned int type)
13 {
14 	struct irq_chip_generic *gc;
15 	struct mxc_extra_irq *exirq;
16 	int ret;
17 
18 	ret = -ENOSYS;
19 
20 	gc = irq_get_chip_data(irq);
21 	if (gc && gc->private) {
22 		exirq = gc->private;
23 		if (exirq->set_irq_fiq) {
24 			struct irq_data *d = irq_get_irq_data(irq);
25 			ret = exirq->set_irq_fiq(irqd_to_hwirq(d), type);
26 		}
27 	}
28 
29 	return ret;
30 }
31 EXPORT_SYMBOL(mxc_set_irq_fiq);
32