[PATCH v2 0/9] gpio: Get rid of ARCH_NR_GPIOS (v2)
Bartosz Golaszewski
brgl at bgdev.pl
Wed Sep 7 02:58:28 PDT 2022
On Fri, Sep 2, 2022 at 2:42 PM Christophe Leroy
<christophe.leroy at csgroup.eu> 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 from 512 upwards, allowing approx 2 millions
> of GPIOs.
>
> In the meantime, add a warning for drivers how are still doing
> static allocation, so that in the future the static allocation gets
> removed completely and dynamic allocation can start at base 0.
>
> Main changes in v2:
> - Adding a patch to remove sta2x11 GPIO driver instead of modifying it
> - Moving the base of dynamic allocation from 256 to 512 because there
> are drivers allocating gpios as high as 400.
>
> Christophe Leroy (8):
> gpio: aggregator: Stop using ARCH_NR_GPIOS
> gpio: davinci: Stop using ARCH_NR_GPIOS
> gpiolib: Warn on drivers still using static gpiobase allocation
> gpiolib: Get rid of ARCH_NR_GPIOS
> Documentation: gpio: Remove text about ARCH_NR_GPIOS
> x86: Remove CONFIG_ARCH_NR_GPIO
> arm: Remove CONFIG_ARCH_NR_GPIO
> arm64: Remove CONFIG_ARCH_NR_GPIO
>
> Davide Ciminaghi (1):
> gpio: Remove sta2x11 GPIO driver
>
> Documentation/driver-api/gpio/legacy.rst | 5 -
> arch/arm/Kconfig | 21 --
> arch/arm/include/asm/gpio.h | 1 -
> arch/arm64/Kconfig | 12 -
> arch/x86/Kconfig | 5 -
> drivers/gpio/Kconfig | 8 -
> drivers/gpio/Makefile | 1 -
> drivers/gpio/gpio-aggregator.c | 7 +-
> drivers/gpio/gpio-davinci.c | 3 -
> drivers/gpio/gpio-sta2x11.c | 411 -----------------------
> drivers/gpio/gpiolib.c | 13 +-
> include/asm-generic/gpio.h | 55 ++-
> 12 files changed, 33 insertions(+), 509 deletions(-)
> delete mode 100644 drivers/gpio/gpio-sta2x11.c
>
> --
> 2.37.1
>
I'd like to take it through the GPIO tree if we can get acks for ARM and x86?
Bart
More information about the linux-arm-kernel
mailing list