Merge branch 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / arch / arm / mach-imx / irq-common.c
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);