Le 30/08/2022 à 22:18, Andy Shevchenko a écrit : > 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. > Well, it's already just a precaution. Linus W's expectation is that static ones are allocated at first, they should already be allocated when we start doing dynamic allocations so he was even thinking that we could have started at 0 already. But I can start higher if you think it is safer, maybe at 512 which is the default ARCH_NR_GPIOS today.