[PATCH v3 1/2] ARM: hip04: set ARCH_NR_GPIO to 128

Arnd Bergmann arnd at arndb.de
Tue Dec 2 00:42:31 PST 2014


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



More information about the linux-arm-kernel mailing list