On 2014年12月02日 16:42, Arnd Bergmann wrote:
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
Got it. I will make a patch in which it finds base number of a GPIO controller in a increasing order. Maybe it can get rid of ARCH_NR_GPIOS in the future. Thanks, Zhou Wang -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
