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