On 07/01/2015 09:34 PM, Richard Cochran wrote: > diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c > index 58faf04..b7e7977 100644 > --- a/drivers/gpio/gpio-dwapb.c > +++ b/drivers/gpio/gpio-dwapb.c > @@ -491,6 +491,13 @@ dwapb_gpio_get_pdata_of(struct device *dev) > return ERR_PTR(-EINVAL); > } > > + if (of_property_read_u32(port_np, "snps,base", > + &pp->gpio_base)) { > + dev_info(dev, "no base gpio specified for %s\n", > + port_np->full_name); > + pp->gpio_base = -1; > + } > + If you are in a specific SoC you could do base = of_alias_get_id(np, "gpio") * num_of_gpio_per_chip and get consistent numbers / sane. I think this is the one reason why there is no generic binding for the starting address. The other reason might be that this is simply a user space problem. To get consistent numbers all you need to do to lookup each gpio's memory address and decide if this is the one you look for. Sebastian -- 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