[PATCH v2 0/8] gpiolib header cleanup
Arnd Bergmann
arnd at kernel.org
Tue Nov 9 02:01:59 PST 2021
From: Arnd Bergmann <arnd at arndb.de>
I got a bit carried away after posting the first three patches, so
here is a somewhat larger rework towards simplifying the remainder of
the traditional linux/gpio.h interface, removing some of the rarely
used functions, and dropping the inclusion of linux/gpio/driver.h from
linux/gpio.h. This makes linux/gpio.h mainly a wrapper for the consumer
interface.
There is one more possible follow-up that I did not include here:
As there are only around 350 files[1] remaining that actually use the
legacy interfaces, we could rename linux/gpio.h to e.g.
linux/gpio/legacy.h, and leave linux/gpio.h as an alias for
linux/gpio/consumer.h until we remove it entirely.
Arnd
Changes since v1:
- incorporate feedback from Geert Uytterhoeven
- remove asm-generic/gpio.h
- drop legacy export interface and a few other functions
- stop including linux/gpio/driver.h
Arnd Bergmann (8):
gpiolib: remove irq_to_gpio() definition
gpiolib: remove empty asm/gpio.h files
gpiolib: coldfire: remove custom asm/gpio.h
gpiolib: remove asm-generic/gpio.h
gpiolib: shrink further
gpiolib: remove legacy gpio_export
gpiolib: remove gpio_to_chip
gpiolib: split linux/gpio/driver.h out of linux/gpio.h
Documentation/admin-guide/gpio/sysfs.rst | 2 +-
.../driver-api/driver-model/devres.rst | 1 -
Documentation/driver-api/gpio/legacy.rst | 52 +-----
Documentation/translations/zh_CN/gpio.txt | 26 ---
Documentation/translations/zh_TW/gpio.txt | 27 ---
arch/arm/Kconfig | 1 -
arch/arm/include/asm/gpio.h | 22 ---
arch/arm/mach-davinci/board-dm646x-evm.c | 28 +--
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-pxa/lubbock.c | 2 +-
arch/arm/mach-s3c/mach-h1940.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 | 102 -----------
arch/m68k/include/asm/mcfgpio.h | 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 | 50 -----
drivers/gpio/Kconfig | 8 -
drivers/gpio/gpio-davinci.c | 3 +-
drivers/gpio/gpio-ucb1400.c | 1 +
drivers/gpio/gpiolib-devres.c | 25 ---
drivers/gpio/gpiolib-sysfs.c | 4 +-
drivers/input/touchscreen/ads7846.c | 3 +-
drivers/media/i2c/noon010pc30.c | 5 +-
drivers/media/i2c/ov9650.c | 4 +-
drivers/media/i2c/s5k4ecgx.c | 3 +-
drivers/media/pci/sta2x11/sta2x11_vip.c | 10 +-
drivers/mfd/dm355evm_msp.c | 3 +-
drivers/mfd/htc-i2cpld.c | 1 +
drivers/mfd/ucb1400_core.c | 1 +
drivers/net/ieee802154/ca8210.c | 3 +-
.../broadcom/brcm80211/brcmsmac/led.c | 1 +
drivers/pinctrl/core.c | 5 +-
drivers/soc/fsl/qe/gpio.c | 4 +-
include/asm-generic/gpio.h | 172 ------------------
include/linux/bcma/bcma_driver_chipcommon.h | 2 +-
include/linux/gpio.h | 123 +++++++------
include/linux/mfd/ucb1x00.h | 1 +
include/linux/ucb1400.h | 1 +
45 files changed, 133 insertions(+), 590 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
--
2.29.2
Cc: linux-gpio at vger.kernel.org
Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Bartosz Golaszewski <brgl at bgdev.pl>
Cc: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Cc: Geert Uytterhoeven <geert+renesas at glider.be>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
[1] git grep -wl '\<\(gpio_direction_input\|gpio_direction_output\|gpio_get_value_cansleep\|gpio_set_value_cansleep\|gpio_get_value\|gpio_set_value\|gpio_to_irq\|gpio_request\|gpio_request_one\|gpio_request_array\)\>\|\<\(ARCH_NR_GPIOS\|GPIOF_DIR_\|GPIOF_INIT\|GPIOF_EXPORT\|GPIOF_OPEN\|GPIOF_IN\|GPIOF_OUT\|gpio_is_valid\\|gpio_free\|devm_gpio_\)' | wc -l
More information about the linux-arm-kernel
mailing list