On Mon, Aug 29, 2022 at 7:19 PM Christophe Leroy <christophe.leroy@xxxxxxxxxx> wrote: > > Since commit 14e85c0e69d5 ("gpio: remove gpio_descs global array") > there is no limitation on the number of GPIOs that can be allocated > in the system since the allocation is fully dynamic. > > ARCH_NR_GPIOS is today only used in order to provide downwards > gpiobase allocation from that value, while static allocation is > performed upwards from 0. However that has the disadvantage of > limiting the number of GPIOs that can be registered in the system. > > To overcome this limitation without requiring each and every > platform to provide its 'best-guess' maximum number, rework the > allocation to allocate upwards, allowing approx 2 millions of > GPIOs. > > In order to still allow static allocation for legacy drivers, define > GPIO_DYNAMIC_BASE with the value 256 as the start for dynamic > allocation. Not sure about 256, but I understand that this can only be the best guess. -- With Best Regards, Andy Shevchenko