On Tuesday 02 December 2014 14:43:51 Zhou Wang wrote: > > how about a patch like this, we read the base from the dts here. > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index e8e98ca..0c40f53 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -107,11 +107,16 @@ struct gpio_chip *gpiod_to_chip(const struct > gpio_desc *desc) > EXPORT_SYMBOL_GPL(gpiod_to_chip); > > /* dynamic allocation of GPIOs, e.g. on a hotplugged device */ > -static int gpiochip_find_base(int ngpio) > +static int gpiochip_find_base(struct gpio_chip *gpio_chip) > { > struct gpio_chip *chip; > + int ngpio = gpio_chip->ngpio; > int base = ARCH_NR_GPIOS - ngpio; > > + /* just prototype */ > + if (!of_property_read_u32(gpio_chip->dev->of_node, "base", &base)) > + return base; > + I don't think that would be appropriate. The concept of a gpio number base is implementation specific to current Linux versions and we want to get rid of that in the future, so it should not be part of an OS-independent spec. Arnd -- 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