On 08/01/16 08:45, Thomas Gleixner wrote: > On Thu, 7 Jan 2016, Quan Nguyen wrote: >> -static int apm_gpio_sb_to_irq(struct gpio_chip *gc, u32 gpio) >> +static void xgene_gpio_sb_irq_ack(struct irq_data *d) >> +{ >> + struct irq_data *irqdata; >> + struct xgene_gpio_sb *priv = irq_data_get_irq_chip_data(d); >> + >> + irqdata = irq_get_irq_data(priv->gic_virq[d->hwirq]); >> + if (!irqdata || !irqdata->chip) >> + return; > > What the heck is this? Why are you looking up some random other irq and fiddle > with its irq chip? > > This is a 1:1 mapping from your gpio irq to a gic irq. We have hierarchical > interrupt domains for this. I've said the exact same thing back in October: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/381996.html but obviously I wasn't clear enough... M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html