On Thu, Mar 20, 2014 at 2:55 PM, Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > After the irq chip got registered the driver creates a mapping for every > gpio line. This mapping be useless if the gpio in question never is > beeing used a irq line. The mapping should be created by the core on > request. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > drivers/gpio/gpio-dwapb.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c > index 4d25a06b..0db0b94 100644 > --- a/drivers/gpio/gpio-dwapb.c > +++ b/drivers/gpio/gpio-dwapb.c > @@ -211,7 +211,7 @@ static void dwapb_configure_irqs(struct dwapb_gpio *gpio, > struct gpio_chip *gc = &port->bgc.gc; > struct device_node *node = gc->of_node; > struct irq_chip_generic *irq_gc; > - unsigned int hwirq, ngpio = gc->ngpio; > + unsigned int ngpio = gc->ngpio; > struct irq_chip_type *ct; > int err, irq; > > @@ -263,9 +263,6 @@ static void dwapb_configure_irqs(struct dwapb_gpio *gpio, > irq_set_chained_handler(irq, dwapb_irq_handler); > irq_set_handler_data(irq, gpio); > > - for (hwirq = 0 ; hwirq < ngpio ; hwirq++) > - irq_create_mapping(gpio->domain, hwirq); > - > port->bgc.gc.to_irq = dwapb_gpio_to_irq; > } Hi Sebastian, I think this functionality has changed at some point or maybe everybody copied the same bad code over and over. I see a lot of legacy gpio drivers calling irq_create_mapping in their to_irq() functions. Linus Walleij asked me to create the mappings at probe time. Please see https://lkml.org/lkml/2014/2/10/154 and the subsequent discussion in https://lkml.org/lkml/2014/2/24/232 Alan Tull aka delicious quinoa -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html