2019-05-19 21:51:31 +08:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2010-12-06 19:37:38 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) BitBox Ltd 2010
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/module.h>
|
|
|
|
#include <linux/irq.h>
|
2013-05-25 03:55:41 +08:00
|
|
|
#include <linux/platform_data/asoc-imx-ssi.h>
|
2010-12-06 19:37:38 +08:00
|
|
|
|
|
|
|
#include "irq-common.h"
|
|
|
|
|
|
|
|
int mxc_set_irq_fiq(unsigned int irq, unsigned int type)
|
|
|
|
{
|
2011-06-07 13:59:14 +08:00
|
|
|
struct irq_chip_generic *gc;
|
2011-09-22 17:40:08 +08:00
|
|
|
struct mxc_extra_irq *exirq;
|
2010-12-06 19:37:38 +08:00
|
|
|
int ret;
|
|
|
|
|
|
|
|
ret = -ENOSYS;
|
|
|
|
|
2011-06-07 13:59:14 +08:00
|
|
|
gc = irq_get_chip_data(irq);
|
|
|
|
if (gc && gc->private) {
|
2011-09-22 17:40:08 +08:00
|
|
|
exirq = gc->private;
|
2016-06-19 14:55:53 +08:00
|
|
|
if (exirq->set_irq_fiq) {
|
|
|
|
struct irq_data *d = irq_get_irq_data(irq);
|
|
|
|
ret = exirq->set_irq_fiq(irqd_to_hwirq(d), type);
|
|
|
|
}
|
2010-12-06 19:37:38 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(mxc_set_irq_fiq);
|