diff options
Diffstat (limited to 'arch/arm/plat-mxc/irq-common.c')
-rw-r--r-- | arch/arm/plat-mxc/irq-common.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/arm/plat-mxc/irq-common.c b/arch/arm/plat-mxc/irq-common.c index 96953e2e4f1..e1c6eff7258 100644 --- a/arch/arm/plat-mxc/irq-common.c +++ b/arch/arm/plat-mxc/irq-common.c @@ -42,16 +42,17 @@ EXPORT_SYMBOL(imx_irq_set_priority); int mxc_set_irq_fiq(unsigned int irq, unsigned int type) { - struct irq_chip_generic *gc; - int (*set_irq_fiq)(unsigned int, unsigned int); + struct mxc_irq_chip *chip; + struct irq_chip *base; int ret; ret = -ENOSYS; - gc = irq_get_chip_data(irq); - if (gc && gc->private) { - set_irq_fiq = gc->private; - ret = set_irq_fiq(irq, type); + base = irq_get_chip(irq); + if (base) { + chip = container_of(base, struct mxc_irq_chip, base); + if (chip->set_irq_fiq) + ret = chip->set_irq_fiq(irq, type); } return ret; |