Message ID | cover.1662116601.git.christophe.leroy@csgroup.eu |
---|---|
Headers | show |
Series | gpio: Get rid of ARCH_NR_GPIOS (v2) | expand |
On Fri, Sep 2, 2022 at 2:42 PM Christophe Leroy <christophe.leroy@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
On Wed, Sep 7, 2022, at 11:58 AM, Bartosz Golaszewski wrote: > On Fri, Sep 2, 2022 at 2:42 PM Christophe Leroy <christophe.leroy@csgroup.eu> wrote: >> >> 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 For the arch/arm*/Kconfig and include/asm-generic changes: Acked-by: Arnd Bergmann <arnd@arndb.de> sta2x11 is an x86 driver, so not my area, but I think it would be best to kill off the entire platform rather than just its gpio driver, since everything needs to work together and it's clearly not functional at the moment. $ git grep -l STA2X11 Documentation/admin-guide/media/pci-cardlist.rst arch/x86/Kconfig arch/x86/include/asm/sta2x11.h arch/x86/pci/Makefile arch/x86/pci/sta2x11-fixup.c drivers/ata/ahci.c drivers/gpio/Kconfig drivers/gpio/Makefile drivers/gpio/gpio-sta2x11.c drivers/i2c/busses/Kconfig drivers/media/pci/Makefile drivers/media/pci/sta2x11/Kconfig drivers/media/pci/sta2x11/Makefile drivers/media/pci/sta2x11/sta2x11_vip.c drivers/media/pci/sta2x11/sta2x11_vip.h drivers/mfd/Kconfig drivers/mfd/Makefile drivers/mfd/sta2x11-mfd.c include/linux/mfd/sta2x11-mfd.h Removing the other sta2x11 bits (mfd, media, x86) should probably be done through the respective tree, but it would be good not to forget those. Arnd
On Wed, Sep 7, 2022 at 12:15 PM Arnd Bergmann <arnd@arndb.de> wrote: > >> drivers/gpio/gpio-sta2x11.c | 411 ----------------------- (...) > sta2x11 is an x86 driver, so not my area, but I think it would be > best to kill off the entire platform rather than just its gpio > driver, since everything needs to work together and it's clearly > not functional at the moment. > > $ git grep -l STA2X11 > Documentation/admin-guide/media/pci-cardlist.rst > arch/x86/Kconfig > arch/x86/include/asm/sta2x11.h > arch/x86/pci/Makefile > arch/x86/pci/sta2x11-fixup.c > drivers/ata/ahci.c > drivers/gpio/Kconfig > drivers/gpio/Makefile > drivers/gpio/gpio-sta2x11.c > drivers/i2c/busses/Kconfig > drivers/media/pci/Makefile > drivers/media/pci/sta2x11/Kconfig > drivers/media/pci/sta2x11/Makefile > drivers/media/pci/sta2x11/sta2x11_vip.c > drivers/media/pci/sta2x11/sta2x11_vip.h > drivers/mfd/Kconfig > drivers/mfd/Makefile > drivers/mfd/sta2x11-mfd.c > include/linux/mfd/sta2x11-mfd.h > > Removing the other sta2x11 bits (mfd, media, x86) should > probably be done through the respective tree, but it would > be good not to forget those. Andy is pretty much default x86 platform device maintainer, maybe he can ACK or brief us on what he knows about the status of STA2x11? Yours, Linus Walleij
On Wed, Sep 14, 2022 at 02:38:53PM +0200, Linus Walleij wrote: > On Wed, Sep 7, 2022 at 12:15 PM Arnd Bergmann <arnd@arndb.de> wrote: > > > >> drivers/gpio/gpio-sta2x11.c | 411 ----------------------- > (...) > > sta2x11 is an x86 driver, so not my area, but I think it would be > > best to kill off the entire platform rather than just its gpio > > driver, since everything needs to work together and it's clearly > > not functional at the moment. > > > > $ git grep -l STA2X11 > > Documentation/admin-guide/media/pci-cardlist.rst > > arch/x86/Kconfig > > arch/x86/include/asm/sta2x11.h > > arch/x86/pci/Makefile > > arch/x86/pci/sta2x11-fixup.c > > drivers/ata/ahci.c > > drivers/gpio/Kconfig > > drivers/gpio/Makefile > > drivers/gpio/gpio-sta2x11.c > > drivers/i2c/busses/Kconfig > > drivers/media/pci/Makefile > > drivers/media/pci/sta2x11/Kconfig > > drivers/media/pci/sta2x11/Makefile > > drivers/media/pci/sta2x11/sta2x11_vip.c > > drivers/media/pci/sta2x11/sta2x11_vip.h > > drivers/mfd/Kconfig > > drivers/mfd/Makefile > > drivers/mfd/sta2x11-mfd.c > > include/linux/mfd/sta2x11-mfd.h > > > > Removing the other sta2x11 bits (mfd, media, x86) should > > probably be done through the respective tree, but it would > > be good not to forget those. > > Andy is pretty much default x86 platform device maintainer, maybe > he can ACK or brief us on what he knows about the status of > STA2x11? Actually I have no idea about STA2x11, but in some thread I have noticed that there were people who know more on the topic and they told that removal is the right thing to do. Not sure how it should be done practically (driver-by-driver or altogether), Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> for either of the variants if it helps.
On Wed, Sep 14, 2022, at 2:38 PM, Linus Walleij wrote: > On Wed, Sep 7, 2022 at 12:15 PM Arnd Bergmann <arnd@arndb.de> wrote: >> >> drivers/gpio/gpio-sta2x11.c | 411 ----------------------- > (...) >> sta2x11 is an x86 driver, so not my area, but I think it would be >> best to kill off the entire platform rather than just its gpio >> driver, since everything needs to work together and it's clearly >> not functional at the moment. >> >> $ git grep -l STA2X11 >> Documentation/admin-guide/media/pci-cardlist.rst >> arch/x86/Kconfig >> arch/x86/include/asm/sta2x11.h >> arch/x86/pci/Makefile >> arch/x86/pci/sta2x11-fixup.c >> drivers/ata/ahci.c >> drivers/gpio/Kconfig >> drivers/gpio/Makefile >> drivers/gpio/gpio-sta2x11.c >> drivers/i2c/busses/Kconfig >> drivers/media/pci/Makefile >> drivers/media/pci/sta2x11/Kconfig >> drivers/media/pci/sta2x11/Makefile >> drivers/media/pci/sta2x11/sta2x11_vip.c >> drivers/media/pci/sta2x11/sta2x11_vip.h >> drivers/mfd/Kconfig >> drivers/mfd/Makefile >> drivers/mfd/sta2x11-mfd.c >> include/linux/mfd/sta2x11-mfd.h >> >> Removing the other sta2x11 bits (mfd, media, x86) should >> probably be done through the respective tree, but it would >> be good not to forget those. > > Andy is pretty much default x86 platform device maintainer, maybe > he can ACK or brief us on what he knows about the status of > STA2x11? I think the explanation given by Davide and Alessandro was rather detailed already: https://lore.kernel.org/lkml/Yw3LQjhZWmZaU2N1@arcana.i.gnudd.com/ https://lore.kernel.org/lkml/Yw3DKCuDoPkCaqxE@arcana.i.gnudd.com/ Arnd
Hi Linus, Le 14/09/2022 à 15:03, Arnd Bergmann a écrit : > On Wed, Sep 14, 2022, at 2:38 PM, Linus Walleij wrote: >> On Wed, Sep 7, 2022 at 12:15 PM Arnd Bergmann <arnd@arndb.de> wrote: >>>>> drivers/gpio/gpio-sta2x11.c | 411 ----------------------- >> (...) >>> sta2x11 is an x86 driver, so not my area, but I think it would be >>> best to kill off the entire platform rather than just its gpio >>> driver, since everything needs to work together and it's clearly >>> not functional at the moment. >>> >>> $ git grep -l STA2X11 >>> Documentation/admin-guide/media/pci-cardlist.rst >>> arch/x86/Kconfig >>> arch/x86/include/asm/sta2x11.h >>> arch/x86/pci/Makefile >>> arch/x86/pci/sta2x11-fixup.c >>> drivers/ata/ahci.c >>> drivers/gpio/Kconfig >>> drivers/gpio/Makefile >>> drivers/gpio/gpio-sta2x11.c >>> drivers/i2c/busses/Kconfig >>> drivers/media/pci/Makefile >>> drivers/media/pci/sta2x11/Kconfig >>> drivers/media/pci/sta2x11/Makefile >>> drivers/media/pci/sta2x11/sta2x11_vip.c >>> drivers/media/pci/sta2x11/sta2x11_vip.h >>> drivers/mfd/Kconfig >>> drivers/mfd/Makefile >>> drivers/mfd/sta2x11-mfd.c >>> include/linux/mfd/sta2x11-mfd.h >>> >>> Removing the other sta2x11 bits (mfd, media, x86) should >>> probably be done through the respective tree, but it would >>> be good not to forget those. >> >> Andy is pretty much default x86 platform device maintainer, maybe >> he can ACK or brief us on what he knows about the status of >> STA2x11? > > I think the explanation given by Davide and Alessandro > was rather detailed already: > > https://lore.kernel.org/lkml/Yw3LQjhZWmZaU2N1@arcana.i.gnudd.com/ > https://lore.kernel.org/lkml/Yw3DKCuDoPkCaqxE@arcana.i.gnudd.com/ > I can't see this series in neither linus tree nor linux-next. Following the ACK from Andy + the above explanations from Arnd, do you plan to merge this series anytime soon ? Do you need anything more from me ? Thanks Christophe
On Fri, Oct 14, 2022 at 4:13 PM Christophe Leroy <christophe.leroy@csgroup.eu> wrote: > > Hi Linus, > > Le 14/09/2022 à 15:03, Arnd Bergmann a écrit : > > On Wed, Sep 14, 2022, at 2:38 PM, Linus Walleij wrote: > >> On Wed, Sep 7, 2022 at 12:15 PM Arnd Bergmann <arnd@arndb.de> wrote: > >>>>> drivers/gpio/gpio-sta2x11.c | 411 ----------------------- > >> (...) > >>> sta2x11 is an x86 driver, so not my area, but I think it would be > >>> best to kill off the entire platform rather than just its gpio > >>> driver, since everything needs to work together and it's clearly > >>> not functional at the moment. > >>> > >>> $ git grep -l STA2X11 > >>> Documentation/admin-guide/media/pci-cardlist.rst > >>> arch/x86/Kconfig > >>> arch/x86/include/asm/sta2x11.h > >>> arch/x86/pci/Makefile > >>> arch/x86/pci/sta2x11-fixup.c > >>> drivers/ata/ahci.c > >>> drivers/gpio/Kconfig > >>> drivers/gpio/Makefile > >>> drivers/gpio/gpio-sta2x11.c > >>> drivers/i2c/busses/Kconfig > >>> drivers/media/pci/Makefile > >>> drivers/media/pci/sta2x11/Kconfig > >>> drivers/media/pci/sta2x11/Makefile > >>> drivers/media/pci/sta2x11/sta2x11_vip.c > >>> drivers/media/pci/sta2x11/sta2x11_vip.h > >>> drivers/mfd/Kconfig > >>> drivers/mfd/Makefile > >>> drivers/mfd/sta2x11-mfd.c > >>> include/linux/mfd/sta2x11-mfd.h > >>> > >>> Removing the other sta2x11 bits (mfd, media, x86) should > >>> probably be done through the respective tree, but it would > >>> be good not to forget those. > >> > >> Andy is pretty much default x86 platform device maintainer, maybe > >> he can ACK or brief us on what he knows about the status of > >> STA2x11? > > > > I think the explanation given by Davide and Alessandro > > was rather detailed already: > > > > https://lore.kernel.org/lkml/Yw3LQjhZWmZaU2N1@arcana.i.gnudd.com/ > > https://lore.kernel.org/lkml/Yw3DKCuDoPkCaqxE@arcana.i.gnudd.com/ > > > > I can't see this series in neither linus tree nor linux-next. > > Following the ACK from Andy + the above explanations from Arnd, do you > plan to merge this series anytime soon ? > > Do you need anything more from me ? > > Thanks > Christophe I will take it after v6.1-rc1 is tagged. Bart
On Fri, Oct 14, 2022 at 4:22 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > On Fri, Oct 14, 2022 at 4:13 PM Christophe Leroy > <christophe.leroy@csgroup.eu> wrote: > > > > Hi Linus, > > > > Le 14/09/2022 à 15:03, Arnd Bergmann a écrit : > > > On Wed, Sep 14, 2022, at 2:38 PM, Linus Walleij wrote: > > >> On Wed, Sep 7, 2022 at 12:15 PM Arnd Bergmann <arnd@arndb.de> wrote: > > >>>>> drivers/gpio/gpio-sta2x11.c | 411 ----------------------- > > >> (...) > > >>> sta2x11 is an x86 driver, so not my area, but I think it would be > > >>> best to kill off the entire platform rather than just its gpio > > >>> driver, since everything needs to work together and it's clearly > > >>> not functional at the moment. > > >>> > > >>> $ git grep -l STA2X11 > > >>> Documentation/admin-guide/media/pci-cardlist.rst > > >>> arch/x86/Kconfig > > >>> arch/x86/include/asm/sta2x11.h > > >>> arch/x86/pci/Makefile > > >>> arch/x86/pci/sta2x11-fixup.c > > >>> drivers/ata/ahci.c > > >>> drivers/gpio/Kconfig > > >>> drivers/gpio/Makefile > > >>> drivers/gpio/gpio-sta2x11.c > > >>> drivers/i2c/busses/Kconfig > > >>> drivers/media/pci/Makefile > > >>> drivers/media/pci/sta2x11/Kconfig > > >>> drivers/media/pci/sta2x11/Makefile > > >>> drivers/media/pci/sta2x11/sta2x11_vip.c > > >>> drivers/media/pci/sta2x11/sta2x11_vip.h > > >>> drivers/mfd/Kconfig > > >>> drivers/mfd/Makefile > > >>> drivers/mfd/sta2x11-mfd.c > > >>> include/linux/mfd/sta2x11-mfd.h > > >>> > > >>> Removing the other sta2x11 bits (mfd, media, x86) should > > >>> probably be done through the respective tree, but it would > > >>> be good not to forget those. > > >> > > >> Andy is pretty much default x86 platform device maintainer, maybe > > >> he can ACK or brief us on what he knows about the status of > > >> STA2x11? > > > > > > I think the explanation given by Davide and Alessandro > > > was rather detailed already: > > > > > > https://lore.kernel.org/lkml/Yw3LQjhZWmZaU2N1@arcana.i.gnudd.com/ > > > https://lore.kernel.org/lkml/Yw3DKCuDoPkCaqxE@arcana.i.gnudd.com/ > > > > > > > I can't see this series in neither linus tree nor linux-next. > > > > Following the ACK from Andy + the above explanations from Arnd, do you > > plan to merge this series anytime soon ? > > > > Do you need anything more from me ? > > > > Thanks > > Christophe > > I will take it after v6.1-rc1 is tagged. > > Bart Now queued. Bart