![Linus Torvalds](/assets/img/avatar_default.png)
cycle, and this time we got a lot of action going on and it will continue: - The core GPIO library implementation has been split up in three different files: - gpiolib.c for the latest and greatest and shiny GPIO library code using GPIO descriptors only - gpiolib-legacy.c for the old integer number space API that we are phasing out gradually - gpiolib-sysfs.c for the sysfs interface that we are not entirely happy with, but has to live on for ABI compatibility - Add a flags argument to *gpiod_get* functions, with some backward-compatibility macros to ease transitions. We should have had the flags there from the beginning it seems, now we need to clean up the mess. There is a plan on how to move forward here devised by Alexandre Courbot and Mark Brown. - Split off a special <linux/gpio/machine.h> header for the board gpio table registration, as per example from the regulator subsystem. - Start to kill off the return value from gpiochip_remove() by removing the __must_check attribute and removing all checks inside the drivers/gpio directory. The rationale is: well what were we supposed to do if there is an error code? Not much: print an error message. And gpiolib already does that. So make this function return void eventually. - Some cleanups of hairy gpiolib code, make some functions not to be used outside the library private and make sure they are not exported, remove gpiod_lock/unlock_as_irq() as the existing function is for driver-internal use and fine as it is, delete gpio_ensure_requested() as it is not meaningful anymore. - Support the GPIOF_ACTIVE_LOW flag from gpio_request_one() function calls, which is logical since this is already supported when referencing GPIOs from e.g. device trees. - Switch STMPE, intel-mid, lynxpoint and ACPI (!) to use the gpiolib irqchip helpers cutting down on GPIO irqchip boilerplate a bit more. - New driver for the Zynq GPIO block. - The usual incremental improvements around a bunch of drivers. - Janitorial syntactic and semantic cleanups by Jingoo Han, and Rickard Strandqvist especially. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJT5Ji9AAoJEEEQszewGV1zch8QAKp67+8ScxRBf/7RCSV6U/dy i7kt+nP4au/TScwtjbX264DM8hroW7BzN+GqF10NEFeGkYDR+42lMav9PrNjtKtk ojQPWdoGWzwwL0wa4j9rsuG/pRnbAEgDWPb+EkFdHQsLl6h71fyVoLOK+gKwJFyn aPYGXyNbT1FN38oj1rarENiOUxM7VMXvcJFfvDYFdDDhCS4PLYPOMw0lrsGtsHMZ epDa4z3yt4zHgYiUIT578nQ7EkIbGN3goywk3NQ+9WDQG+sLFHh4BdqcRKg6b9VM I64+47uNQxkyvWCvcLma5ziqvtNQk113986g+cv5YeTh18Ajyio1kxEIZM181eBk ITUPGrAorWHPLGNbe3psLmtK3+/BwmWIurPmHpckuW8d2JWWSVe0oepkUuqDwu/w lUB5KtM0joFOr5k61fj5tCKxH344jc1zvHJ/N+bVYilbOMvunWzuMJlc4hADIGC2 1uxUAcPbYUAphGaxhdMBca9ellm0lWG19Gj5TtdGbRtNgp6R2qrwI66DDzk+1kLR 8Szx6KHQdEHFTlCLKSIAMv33p1ClfmNikhdicT3urwR8PeXmmTR1pD7kGmVTDDZa gXSU5EilgGpak+77j/GZ2Ivp0Qt5M97UwWlZ7zTp++T1ZY+wwTHJI/09qcoWYjdz IpZRIqrQchalbscpn3LY =e+d6 -----END PGP SIGNATURE----- Merge tag 'gpio-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO update from Linus Walleij: "This is the bulk of GPIO changes for the v3.17 development cycle, and this time we got a lot of action going on and it will continue: - The core GPIO library implementation has been split up in three different files: - gpiolib.c for the latest and greatest and shiny GPIO library code using GPIO descriptors only - gpiolib-legacy.c for the old integer number space API that we are phasing out gradually - gpiolib-sysfs.c for the sysfs interface that we are not entirely happy with, but has to live on for ABI compatibility - Add a flags argument to *gpiod_get* functions, with some backward-compatibility macros to ease transitions. We should have had the flags there from the beginning it seems, now we need to clean up the mess. There is a plan on how to move forward here devised by Alexandre Courbot and Mark Brown - Split off a special <linux/gpio/machine.h> header for the board gpio table registration, as per example from the regulator subsystem - Start to kill off the return value from gpiochip_remove() by removing the __must_check attribute and removing all checks inside the drivers/gpio directory. The rationale is: well what were we supposed to do if there is an error code? Not much: print an error message. And gpiolib already does that. So make this function return void eventually - Some cleanups of hairy gpiolib code, make some functions not to be used outside the library private and make sure they are not exported, remove gpiod_lock/unlock_as_irq() as the existing function is for driver-internal use and fine as it is, delete gpio_ensure_requested() as it is not meaningful anymore - Support the GPIOF_ACTIVE_LOW flag from gpio_request_one() function calls, which is logical since this is already supported when referencing GPIOs from e.g. device trees - Switch STMPE, intel-mid, lynxpoint and ACPI (!) to use the gpiolib irqchip helpers cutting down on GPIO irqchip boilerplate a bit more - New driver for the Zynq GPIO block - The usual incremental improvements around a bunch of drivers - Janitorial syntactic and semantic cleanups by Jingoo Han, and Rickard Strandqvist especially" * tag 'gpio-v3.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (37 commits) MAINTAINERS: update GPIO include files gpio: add missing includes in machine.h gpio: add flags argument to gpiod_get*() functions MAINTAINERS: Update Samsung pin control entry gpio / ACPI: Move event handling registration to gpiolib irqchip helpers gpio: lynxpoint: Convert to use gpiolib irqchip gpio: split gpiod board registration into machine header gpio: remove gpio_ensure_requested() gpio: remove useless check in gpiolib_sysfs_init() gpiolib: Export gpiochip_request_own_desc and gpiochip_free_own_desc gpio: move gpio_ensure_requested() into legacy C file gpio: remove gpiod_lock/unlock_as_irq() gpio: make gpiochip_get_desc() gpiolib-private gpio: simplify gpiochip_export() gpio: remove export of private of_get_named_gpio_flags() gpio: Add support for GPIOF_ACTIVE_LOW to gpio_request_one functions gpio: zynq: Clear pending interrupt when enabling a IRQ gpio: drop retval check enforcing from gpiochip_remove() gpio: remove all usage of gpio_remove retval in driver/gpio devicetree: Add Zynq GPIO devicetree bindings documentation ...
108 lines
4.4 KiB
Makefile
108 lines
4.4 KiB
Makefile
# generic gpio support: platform drivers, dedicated expander chips, etc
|
|
|
|
ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
|
|
|
|
obj-$(CONFIG_GPIO_DEVRES) += devres.o
|
|
obj-$(CONFIG_GPIOLIB) += gpiolib.o
|
|
obj-$(CONFIG_GPIOLIB) += gpiolib-legacy.o
|
|
obj-$(CONFIG_OF_GPIO) += gpiolib-of.o
|
|
obj-$(CONFIG_GPIO_SYSFS) += gpiolib-sysfs.o
|
|
obj-$(CONFIG_GPIO_ACPI) += gpiolib-acpi.o
|
|
|
|
# Device drivers. Generally keep list sorted alphabetically
|
|
obj-$(CONFIG_GPIO_GENERIC) += gpio-generic.o
|
|
|
|
obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o
|
|
obj-$(CONFIG_GPIO_ADNP) += gpio-adnp.o
|
|
obj-$(CONFIG_GPIO_ADP5520) += gpio-adp5520.o
|
|
obj-$(CONFIG_GPIO_ADP5588) += gpio-adp5588.o
|
|
obj-$(CONFIG_GPIO_AMD8111) += gpio-amd8111.o
|
|
obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o
|
|
obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o
|
|
obj-$(CONFIG_GPIO_BT8XX) += gpio-bt8xx.o
|
|
obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o
|
|
obj-$(CONFIG_GPIO_CS5535) += gpio-cs5535.o
|
|
obj-$(CONFIG_GPIO_CRYSTAL_COVE) += gpio-crystalcove.o
|
|
obj-$(CONFIG_GPIO_DA9052) += gpio-da9052.o
|
|
obj-$(CONFIG_GPIO_DA9055) += gpio-da9055.o
|
|
obj-$(CONFIG_GPIO_DAVINCI) += gpio-davinci.o
|
|
obj-$(CONFIG_GPIO_DWAPB) += gpio-dwapb.o
|
|
obj-$(CONFIG_GPIO_EM) += gpio-em.o
|
|
obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93xx.o
|
|
obj-$(CONFIG_GPIO_F7188X) += gpio-f7188x.o
|
|
obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o
|
|
obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o
|
|
obj-$(CONFIG_GPIO_ICH) += gpio-ich.o
|
|
obj-$(CONFIG_GPIO_IOP) += gpio-iop.o
|
|
obj-$(CONFIG_GPIO_IT8761E) += gpio-it8761e.o
|
|
obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
|
|
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
|
|
obj-$(CONFIG_ARCH_KS8695) += gpio-ks8695.o
|
|
obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o
|
|
obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o
|
|
obj-$(CONFIG_ARCH_LPC32XX) += gpio-lpc32xx.o
|
|
obj-$(CONFIG_GPIO_LYNXPOINT) += gpio-lynxpoint.o
|
|
obj-$(CONFIG_GPIO_MAX730X) += gpio-max730x.o
|
|
obj-$(CONFIG_GPIO_MAX7300) += gpio-max7300.o
|
|
obj-$(CONFIG_GPIO_MAX7301) += gpio-max7301.o
|
|
obj-$(CONFIG_GPIO_MAX732X) += gpio-max732x.o
|
|
obj-$(CONFIG_GPIO_MC33880) += gpio-mc33880.o
|
|
obj-$(CONFIG_GPIO_MC9S08DZ60) += gpio-mc9s08dz60.o
|
|
obj-$(CONFIG_GPIO_MCP23S08) += gpio-mcp23s08.o
|
|
obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o
|
|
obj-$(CONFIG_GPIO_MM_LANTIQ) += gpio-mm-lantiq.o
|
|
obj-$(CONFIG_GPIO_MOXART) += gpio-moxart.o
|
|
obj-$(CONFIG_GPIO_MPC5200) += gpio-mpc5200.o
|
|
obj-$(CONFIG_GPIO_MPC8XXX) += gpio-mpc8xxx.o
|
|
obj-$(CONFIG_GPIO_MSIC) += gpio-msic.o
|
|
obj-$(CONFIG_GPIO_MSM_V1) += gpio-msm-v1.o
|
|
obj-$(CONFIG_GPIO_MSM_V2) += gpio-msm-v2.o
|
|
obj-$(CONFIG_GPIO_MVEBU) += gpio-mvebu.o
|
|
obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o
|
|
obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o
|
|
obj-$(CONFIG_GPIO_OCTEON) += gpio-octeon.o
|
|
obj-$(CONFIG_GPIO_OMAP) += gpio-omap.o
|
|
obj-$(CONFIG_GPIO_PCA953X) += gpio-pca953x.o
|
|
obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o
|
|
obj-$(CONFIG_GPIO_PCH) += gpio-pch.o
|
|
obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o
|
|
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
|
|
obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
|
|
obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
|
|
obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o
|
|
obj-$(CONFIG_GPIO_SAMSUNG) += gpio-samsung.o
|
|
obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o
|
|
obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
|
|
obj-$(CONFIG_GPIO_SCH311X) += gpio-sch311x.o
|
|
obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o
|
|
obj-$(CONFIG_GPIO_SPEAR_SPICS) += gpio-spear-spics.o
|
|
obj-$(CONFIG_GPIO_STA2X11) += gpio-sta2x11.o
|
|
obj-$(CONFIG_GPIO_STMPE) += gpio-stmpe.o
|
|
obj-$(CONFIG_GPIO_STP_XWAY) += gpio-stp-xway.o
|
|
obj-$(CONFIG_GPIO_SX150X) += gpio-sx150x.o
|
|
obj-$(CONFIG_GPIO_SYSCON) += gpio-syscon.o
|
|
obj-$(CONFIG_GPIO_TB10X) += gpio-tb10x.o
|
|
obj-$(CONFIG_GPIO_TC3589X) += gpio-tc3589x.o
|
|
obj-$(CONFIG_ARCH_TEGRA) += gpio-tegra.o
|
|
obj-$(CONFIG_GPIO_TIMBERDALE) += gpio-timberdale.o
|
|
obj-$(CONFIG_GPIO_PALMAS) += gpio-palmas.o
|
|
obj-$(CONFIG_GPIO_TPS6586X) += gpio-tps6586x.o
|
|
obj-$(CONFIG_GPIO_TPS65910) += gpio-tps65910.o
|
|
obj-$(CONFIG_GPIO_TPS65912) += gpio-tps65912.o
|
|
obj-$(CONFIG_GPIO_TS5500) += gpio-ts5500.o
|
|
obj-$(CONFIG_GPIO_TWL4030) += gpio-twl4030.o
|
|
obj-$(CONFIG_GPIO_TWL6040) += gpio-twl6040.o
|
|
obj-$(CONFIG_GPIO_TZ1090) += gpio-tz1090.o
|
|
obj-$(CONFIG_GPIO_TZ1090_PDC) += gpio-tz1090-pdc.o
|
|
obj-$(CONFIG_GPIO_UCB1400) += gpio-ucb1400.o
|
|
obj-$(CONFIG_GPIO_VIPERBOARD) += gpio-viperboard.o
|
|
obj-$(CONFIG_GPIO_VR41XX) += gpio-vr41xx.o
|
|
obj-$(CONFIG_GPIO_VX855) += gpio-vx855.o
|
|
obj-$(CONFIG_GPIO_WM831X) += gpio-wm831x.o
|
|
obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350.o
|
|
obj-$(CONFIG_GPIO_WM8994) += gpio-wm8994.o
|
|
obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx.o
|
|
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
|
|
obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o
|
|
obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o
|