Milo Kim
0cc59b9d98
gpio: add LP3943 I2C GPIO expander driver
...
This is one of LP3943 MFD driver.
LP3943 is configurable as a GPIO expander, up to 16 GPIOs.
* Application note: how to configure LP3943 as a GPIO expander
http://www.ti.com/lit/an/snva287a/snva287a.pdf
* Supported GPIO controller operations
request, free, direction_input, direction_output, get and set
* GPIO direction register not supported
LP3943 doesn't have the GPIO direction register. It only provides input and
output status registers.
So, private data for the direction should be handled manually.
This variable is updated whenever the direction is changed and
used in 'get' operation.
* Pin assignment
A driver data, 'pin_used' is checked when a GPIO is requested.
If the GPIO is already assigned, then returns as failure.
If the GPIO is available, 'pin_used' is set.
When the GPIO is not used anymore, then it is cleared.
It is defined as unsigned long type for atomic bit operation APIs,
but only LSB 16bits are used because LP3943 has 16 outputs.
Signed-off-by: Milo Kim <milo.kim@ti.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-01-21 08:27:57 +00:00
..
devres.c
gpiolib: devres: add missing headers
2013-10-29 18:26:14 -07:00
gpio-74x164.c
gpio: gpio-74x164: Remove redundant of_match_ptr
2013-09-23 12:52:21 +02:00
gpio-adnp.c
gpio: adnp: rename "virq" to "child_irq"
2013-10-16 09:59:10 +02:00
gpio-adp5520.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-adp5588.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-amd8111.c
gpio-arizona.c
gpio: arizona: Use the of_node from the Arizona device
2013-10-02 12:50:35 +02:00
gpio-bcm-kona.c
gpio: bcm281xx: Fix return value of bcm_kona_gpio_get()
2013-11-27 15:01:03 +01:00
gpio-bt8xx.c
gpio: bt8xx: remove unnecessary pci_set_drvdata()
2013-09-20 20:43:09 +02:00
gpio-clps711x.c
gpio: clps711x: Remove redundant of_match_ptr
2013-10-02 12:43:25 +02:00
gpio-cs5535.c
gpio-da9052.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-da9055.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-davinci.c
gpio: davinci: fix check for unbanked gpio
2013-11-21 19:41:51 +05:30
gpio-em.c
gpio: em: drop references to "virtual" IRQ
2013-10-16 09:59:41 +02:00
gpio-ep93xx.c
gpio: ep93xx: get rid of bogus __raw* accessors
2013-10-16 09:59:54 +02:00
gpio-f7188x.c
gpio: add GPIO support for F71882FG and F71889F
2013-08-30 09:25:52 +02:00
gpio-ge.c
gpio-generic.c
GPIO: gpio-generic: remove kfree() from bgpio_remove call
2013-04-11 19:33:54 +02:00
gpio-grgpio.c
gpio: grgpio: Staticize local symbols
2013-06-19 21:40:38 +02:00
gpio-ich.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-intel-mid.c
gpio: intel-mid: drop references to "virtual" IRQ
2013-10-16 09:59:51 +02:00
gpio-iop.c
ARM: plat-iop: pass physical base for GPIO
2013-09-20 23:05:19 +02:00
gpio-it8761e.c
gpio-janz-ttl.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-kempld.c
gpio: Fix bit masking in Kontron PLD GPIO driver
2013-08-16 17:56:53 +02:00
gpio-ks8695.c
gpio-lp3943.c
gpio: add LP3943 I2C GPIO expander driver
2014-01-21 08:27:57 +00:00
gpio-lpc32xx.c
gpio: lpc32xx: Include linux/of.h header
2013-10-16 13:09:10 +02:00
gpio-lynxpoint.c
Linux 3.12-rc6
2013-10-19 23:24:03 +02:00
gpio-max730x.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-max732x.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-max7300.c
gpio: max7300: use devm_kzalloc()
2013-03-27 16:05:11 +01:00
gpio-max7301.c
gpio: max7301: Reverting "Do not force SPI speed when using OF Platform"
2013-08-23 19:44:28 +02:00
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio: gpio-mc33880: Remove redundant spi_set_drvdata
2013-09-23 12:53:13 +02:00
gpio-mcp23s08.c
gpio: mcp23s08: rename the device tree property
2013-08-30 09:25:52 +02:00
gpio-ml-ioh.c
gpio-ml-ioh: fix error return code in ioh_gpio_probe()
2013-05-30 19:39:20 +02:00
gpio-mm-lantiq.c
gpio-mpc8xxx.c
powerpc/gpio: Fix the wrong GPIO input data on MPC8572/MPC8536
2013-12-03 13:10:48 +01:00
gpio-mpc5200.c
gpio-msic.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-msm-v1.c
gpio_msm: Fix build error due to missing err.h
2013-07-31 00:34:31 +02:00
gpio-msm-v2.c
gpio: msm: Fix irq mask/unmask by writing bits instead of numbers
2013-12-12 19:59:57 +01:00
gpio-mvebu.c
gpio: mvebu: make mvchip->irqbase signed for error handling
2013-11-25 09:03:12 +01:00
gpio-mxc.c
gpio/mxc: add chained_irq_enter/exit() to mx2_gpio_irq_handler
2013-08-16 15:19:11 +02:00
gpio-mxs.c
gpio: gpio-mxs: Remove unneeded dt checks
2013-11-06 10:51:24 +01:00
gpio-octeon.c
gpio MIPS/OCTEON: Add a driver for OCTEON's on-chip GPIO pins.
2013-08-26 15:33:40 +02:00
gpio-omap.c
gpio/omap: use gpiolib API to mark a GPIO used as an IRQ
2013-10-16 10:06:00 +02:00
gpio-palmas.c
gpio: palmas: add support for TPS80036
2013-09-19 15:31:48 +02:00
gpio-pca953x.c
gpio: pca953x: Don't flip bits on PCA957x GPIO expanders when probing them.
2013-09-23 12:57:11 +02:00
gpio-pcf857x.c
gpio: pcf857x: Add OF support
2013-09-23 20:00:01 +02:00
gpio-pch.c
gpio: Don't override the error code in probe error handling
2013-05-20 20:27:30 +02:00
gpio-pl061.c
gpio: pl061: move irqdomain initialization
2013-11-27 14:13:50 +01:00
gpio-pxa.c
gpio: pxa: remove dead code
2013-07-21 18:14:20 +02:00
gpio-rc5t583.c
gpio-rcar.c
gpio: rcar: Fix level interrupt handling
2013-12-12 20:53:05 +01:00
gpio-rdc321x.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-sa1100.c
ARM: 7841/1: sa1100: remove complex GPIO interface
2013-10-29 11:01:02 +00:00
gpio-samsung.c
ARM: SoC DT updates for 3.13
2013-11-11 17:34:56 +09:00
gpio-sch.c
gpio: Don't override the error code in probe error handling
2013-05-20 20:27:30 +02:00
gpio-sodaville.c
gpio-spear-spics.c
drivers/gpio: simplify use of devm_ioremap_resource
2013-08-16 17:16:31 +02:00
gpio-sta2x11.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-stmpe.c
gpio: stmpe: drop references to "virtual" IRQ, fix bug
2013-10-16 09:59:53 +02:00
gpio-stp-xway.c
gpio: gpio-stp-xway.c: fix checkpatch error
2013-03-27 16:05:16 +01:00
gpio-sx150x.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-tb10x.c
gpio: tb10x: Set output value before setting direction to output
2013-11-25 09:02:29 +01:00
gpio-tc3589x.c
gpio: tc3589x: drop references to "virtual" IRQ
2013-10-11 19:06:12 +02:00
gpio-tegra.c
gpio: tegra: use new gpio_lock_as_irq() API
2013-10-17 10:51:53 +02:00
gpio-timberdale.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-tnetv107x.c
ARM: davinci: gpio: use gpiolib API instead of inline functions
2013-09-25 04:16:37 +05:30
gpio-tps6586x.c
gpio-tps65910.c
gpio: gpio-tps65910.c: fix checkpatch error
2013-03-27 16:05:18 +01:00
gpio-tps65912.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-ts5500.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-twl4030.c
gpio: twl4030: Fix regression for twl gpio LED output
2013-12-10 13:17:27 +01:00
gpio-twl6040.c
GPIO: gpio-twl6040: Remove support for legacy (pdata) mode
2013-07-20 21:38:18 +02:00
gpio-tz1090-pdc.c
gpio-tz1090-pdc: add TZ1090 PDC gpio driver
2013-07-20 19:03:48 +02:00
gpio-tz1090.c
gpio-tz1090: convert to use generic irqchip
2013-07-20 19:05:15 +02:00
gpio-ucb1400.c
gpio: ucb1400: Add MODULE_ALIAS
2013-11-25 09:03:13 +01:00
gpio-viperboard.c
gpio: Don't override the error code in probe error handling
2013-05-20 20:27:30 +02:00
gpio-vr41xx.c
gpio-vx855.c
gpio: vx855: remove unnecessary platform_set_drvdata()
2013-05-30 19:20:21 +02:00
gpio-wm831x.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-wm8350.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-wm8994.c
gpio: use dev_get_platdata()
2013-08-16 15:24:35 +02:00
gpio-xilinx.c
GPIO: xilinx: Use BIT macro
2013-06-17 07:47:33 +02:00
gpiolib-acpi.c
gpiolib / ACPI: allow passing GPIOF_ACTIVE_LOW for GpioInt resources
2013-10-19 23:32:14 +02:00
gpiolib-of.c
GPIO bulk changes for the v3.13 development cycle
2013-11-12 15:50:46 +09:00
gpiolib.c
gpiolib: change a warning to debug message when failing to get gpio
2013-12-03 13:10:48 +01:00
Kconfig
gpio: add LP3943 I2C GPIO expander driver
2014-01-21 08:27:57 +00:00
Makefile
gpio: add LP3943 I2C GPIO expander driver
2014-01-21 08:27:57 +00:00