On Wed, Jan 18, 2017 at 3:06 PM, Geert Uytterhoeven
<ge...@linux-m68k.org> wrote:
> Hi Linus,
>
> On Wed, Jan 18, 2017 at 2:58 PM, Linus Walleij <linus.wall...@linaro.org> 
> wrote:
>>> +       gpio_chip->request = rz_gpio_request;
>>> +       gpio_chip->free = rz_gpio_free;
>>> +       gpio_chip->label = dev_name(&pdev->dev);
>>> +       gpio_chip->parent = &pdev->dev;
>>> +       gpio_chip->owner = THIS_MODULE;
>>> +       gpio_chip->base = -1;
>>> +       gpio_chip->ngpio = ret == 0 ? args.args[2] : RZ_GPIOS_PER_PORT;
>>
>> bgpio_init() will have already set this up to 16 (RZ_GPIOS_PER_PORT)
>> as we pass width 2 bytes.
>
> Note that some banks have less than 16 GPIOs, cfr. the last value of the
> gpio-ranges tuple being less than 16.

Aha OK then it is fine to override this default value calculate from
the register size.

But for that case we should use the standard DT property
ngpios described in
Documentation/devicetree/bindings/gpio/gpio.txt
It is for exactly this purpose.

Yours,
Linus Walleij

Reply via email to