mbox series

[0/8] gpiolib cleanups

Message ID 20230126132801.2042371-1-arnd@kernel.org
Headers show
Series gpiolib cleanups | expand

Message

Arnd Bergmann Jan. 26, 2023, 1:27 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

These are some older patches I did last year, rebased to linux-next-20230125.

The main goal is to remove some of the legacy bits of the gpiolib
interfaces, where the corner cases are easily avoided or replaced
with gpio descriptor based interfaces.

We seem to all be touching the same functions at the moement, let
me know if this conflicts with your work.

   Arnd

Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org>
Cc: linux-kernel@vger.kernel.org

Arnd Bergmann (8):
  gpiolib: remove empty asm/gpio.h files
  gpiolib: coldfire: remove custom asm/gpio.h
  gpiolib: remove asm-generic/gpio.h
  gpiolib: remove gpio_set_debounce
  gpiolib: remove legacy gpio_export
  gpiolib: split linux/gpio/driver.h out of linux/gpio.h
  gpiolib: split of_mm_gpio_chip out of linux/of_gpio.h
  gpiolib: move of_gpio_flags into gpiolib-of.c

 Documentation/admin-guide/gpio/sysfs.rst      |   2 +-
 Documentation/driver-api/gpio/legacy.rst      |  23 ---
 .../zh_CN/driver-api/gpio/legacy.rst          |  20 ---
 Documentation/translations/zh_TW/gpio.txt     |  18 ---
 MAINTAINERS                                   |   1 -
 arch/arm/Kconfig                              |   1 -
 arch/arm/include/asm/gpio.h                   |  21 ---
 arch/arm/mach-omap1/irq.c                     |   1 +
 arch/arm/mach-omap2/pdata-quirks.c            |   9 +-
 arch/arm/mach-orion5x/board-rd88f5182.c       |   1 +
 arch/arm/mach-s3c/s3c64xx.c                   |   1 +
 arch/arm/mach-sa1100/assabet.c                |   1 +
 arch/arm/plat-orion/gpio.c                    |   1 +
 arch/m68k/Kconfig.cpu                         |   1 -
 arch/m68k/include/asm/gpio.h                  |  95 -----------
 arch/m68k/include/asm/mcfgpio.h               |   2 +-
 arch/powerpc/platforms/44x/Kconfig            |   1 +
 arch/powerpc/platforms/4xx/gpio.c             |   2 +-
 arch/powerpc/platforms/8xx/Kconfig            |   1 +
 arch/powerpc/platforms/8xx/cpm1.c             |   2 +-
 arch/powerpc/platforms/Kconfig                |   2 +
 arch/powerpc/sysdev/cpm_common.c              |   2 +-
 arch/sh/Kconfig                               |   1 -
 arch/sh/boards/board-magicpanelr2.c           |   1 +
 arch/sh/boards/mach-ap325rxa/setup.c          |   7 +-
 arch/sh/include/asm/gpio.h                    |  45 ------
 drivers/gpio/Kconfig                          |  19 ++-
 drivers/gpio/TODO                             |  15 +-
 drivers/gpio/gpio-altera.c                    |   2 +-
 drivers/gpio/gpio-davinci.c                   |   3 +-
 drivers/gpio/gpio-mm-lantiq.c                 |   2 +-
 drivers/gpio/gpio-mpc5200.c                   |   2 +-
 drivers/gpio/gpiolib-of.c                     |  18 +++
 drivers/gpio/gpiolib-sysfs.c                  |   4 +-
 drivers/input/touchscreen/ads7846.c           |  24 +--
 drivers/media/pci/sta2x11/sta2x11_vip.c       |  10 +-
 drivers/net/ieee802154/ca8210.c               |   3 +-
 .../broadcom/brcm80211/brcmsmac/led.c         |   1 +
 drivers/pinctrl/core.c                        |   2 +-
 drivers/soc/fsl/qe/gpio.c                     |   2 +-
 include/asm-generic/gpio.h                    | 147 ------------------
 include/linux/gpio.h                          |  93 ++++++-----
 include/linux/gpio/legacy-of-mm-gpiochip.h    |  36 +++++
 include/linux/mfd/ucb1x00.h                   |   1 +
 include/linux/of_gpio.h                       |  36 -----
 45 files changed, 186 insertions(+), 496 deletions(-)
 delete mode 100644 arch/arm/include/asm/gpio.h
 delete mode 100644 arch/m68k/include/asm/gpio.h
 delete mode 100644 arch/sh/include/asm/gpio.h
 delete mode 100644 include/asm-generic/gpio.h
 create mode 100644 include/linux/gpio/legacy-of-mm-gpiochip.h

Comments

Arnd Bergmann Jan. 27, 2023, 1:14 p.m. UTC | #1
On Fri, Jan 27, 2023, at 14:07, Linus Walleij wrote:
> On Thu, Jan 26, 2023 at 2:28 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> The asm-generic/gpio.h file is now always included when
>> using gpiolib, so just move its contents into linux/gpio.h
>> with a few minor simplifications.
>>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> After fixing the nits pointed out by Andy:
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
>
> I'm very happy to see this go, maybe you can send a pull request
> to Bartosz with these patches and also pull the same to the arch
> tree if need be?

I already sent a v2 series that should address all the comments.
I don't expect any conflicts against either the soc tree or the
asm-generic tree, so Bartosz can just pick it up from there.

If it helps, I'm also happy to send a pull request of course.

   Arnd
Linus Walleij Jan. 27, 2023, 1:17 p.m. UTC | #2
On Thu, Jan 26, 2023 at 2:28 PM Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
>
> This is a rarely used feature that has nothing to do with the
> client-side of_gpio.h.
>
> Split it out with a separate header file and Kconfig option
> so it can be removed on its own timeline aside from removing
> the of_gpio consumer interfaces.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks for isolating this problem, and kudos for even updating
the TODO :D
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij