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
...
107 lines
4.4 KiB
Makefile
107 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
|