u-boot/drivers/gpio
Simon Glass ae7123f876 dm: gpio: Add a native driver model API
So far driver model's GPIO uclass just implements the existing GPIO API.
This has some limitations:

- it requires manual device tree munging to support GPIOs in device tree
    (fdtdec_get_gpio() and friends)
- it does not understand polarity
- it is somewhat slower since we must scan for the GPIO device each time
- Global GPIO numbering can change if other GPIO drivers are probed
- it requires extra steps to set the GPIO direction and value

The new functions have a dm_ prefix where necessary to avoid name conflicts
but we can remove that when it is no-longer needed. The new struct gpio_desc
holds all required information about the GPIO. For now this is intended to
be stored by the client requesting the GPIO, but in future it might be
brought into the uclass in some way.

With these changes the old GPIO API still works, and uses the driver model
API underneath.

Signed-off-by: Simon Glass <sjg@chromium.org>
2015-01-29 17:09:50 -07:00
..
adi_gpio2.c blackfin: Move machine specific gpio_port_t structure back to blackfin arch folder. 2013-11-04 16:50:46 +08:00
altera_pio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
at91_gpio.c dm: at91: Add driver model support for atmel GPIO driver 2014-11-21 08:08:19 +01:00
bcm2835_gpio.c dm: gpio: rpi_b: Drop request()/free() in the driver 2014-10-23 19:30:51 -06:00
da8xx_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
db8500_gpio.c snowball: Add support for ux500 based snowball board 2012-09-01 14:58:19 +02:00
gpio-uclass.c dm: gpio: Add a native driver model API 2015-01-29 17:09:50 -07:00
intel_ich6_gpio.c x86: ich6-gpio: Add Intel Tunnel Creek GPIO support 2014-12-18 17:26:06 -07:00
Kconfig dm: add entries to Kconfig 2014-10-23 21:43:09 -06:00
kona_gpio.c gpio: kona: Add Kona gpio driver 2014-02-22 19:30:27 +01:00
kw_gpio.c gpio: make local functions static 2014-10-25 07:02:01 -04:00
Makefile Merge branch 'u-boot-sunxi/master' into 'u-boot-arm/master' 2014-07-28 10:12:45 +02:00
mpc83xx_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvgpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvgpio.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvmfp.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mxc_gpio.c dm: gpio: imx: Drop request()/free() in the driver 2014-10-23 19:30:51 -06:00
mxs_gpio.c mxs_gpio: fix the handling in gpio_direction_output() 2013-11-13 10:09:09 +01:00
omap_gpio.c dm: gpio: omap3: Drop request()/free() in the driver 2014-10-23 19:30:50 -06:00
pca953x.c gpio: pca953x: Use ARRAY_SIZE instead of reinventing it 2013-08-16 13:45:15 -04:00
pca9698.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
s3c2440_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
s5p_gpio.c dm: gpio: exynos: Drop request()/free() in the driver 2014-10-23 19:30:51 -06:00
sandbox.c dm: gpio: sandbox: Drop request()/free() in the driver 2014-10-23 19:29:52 -06:00
sh_pfc.c sh: Add support pin function control using GPIO 2012-08-08 10:24:41 +09:00
spear_gpio.c gpio: spear_gpio: Fix gpio_set_value() implementation 2014-07-04 21:37:29 +02:00
sunxi_gpio.c sunxi: gpio: Add support for gpio pins on the AXP209 pmic 2015-01-14 14:56:38 +01:00
sx151x.c Add support for SX151x SPI GPIO Expanders 2013-11-08 09:39:13 -05:00
tca642x.c gpio: tca642x: Add the tca642x gpio expander driver 2013-07-30 09:21:42 -04:00
tegra_gpio.c dm: gpio: tegra: Drop request()/free() in the driver 2014-10-23 19:29:53 -06:00
xilinx_gpio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00