X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=arch%2Farm%2Fplat-mxc%2Firq-common.c;h=b6e11458e5aea010d6a8cbbb89fcb2a86ce8db61;hp=96953e2e4f11dbc55e67218a4617674bb166656f;hb=83dbb15e9cd78a3619e3db36777e2f81d09b2914;hpb=51acc0bcfc91987ed38195918e0b40ff05197585 diff --git a/arch/arm/plat-mxc/irq-common.c b/arch/arm/plat-mxc/irq-common.c index 96953e2e4f11..b6e11458e5ae 100644 --- a/arch/arm/plat-mxc/irq-common.c +++ b/arch/arm/plat-mxc/irq-common.c @@ -23,17 +23,17 @@ int imx_irq_set_priority(unsigned char irq, unsigned char prio) { - struct mxc_irq_chip *chip; - struct irq_chip *base; + struct irq_chip_generic *gc; + struct mxc_extra_irq *exirq; int ret; ret = -ENOSYS; - base = irq_get_chip(irq); - if (base) { - chip = container_of(base, struct mxc_irq_chip, base); - if (chip->set_priority) - ret = chip->set_priority(irq, prio); + gc = irq_get_chip_data(irq); + if (gc && gc->private) { + exirq = gc->private; + if (exirq->set_priority) + ret = exirq->set_priority(irq, prio); } return ret; @@ -43,15 +43,16 @@ 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_extra_irq *exirq; 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); + exirq = gc->private; + if (exirq->set_irq_fiq) + ret = exirq->set_irq_fiq(irq, type); } return ret;