linux/drivers/gpio
Simon Guinot 6c17aa0138 gpio: add GPIO support for F71882FG and F71889F
This patch adds support for the GPIOs found on the Fintek super-I/O
chips F71882FG and F71889F.

A super-I/O is a legacy I/O controller embedded on x86 motherboards. It
is used to connect the low-bandwidth devices. Among others functions the
F71882FG/F71889F provides: a parallel port, two serial ports, a keyboard
controller, an hardware monitoring controller and some GPIO pins.

Note that this super-I/Os are embedded on some Atom-based LaCie NASes.
The GPIOs are used to control the LEDs and the hard drive power.

Changes since v3:
- Use request_muxed_region to protect the I/O ports against concurrent
  accesses.

Changes since v2:
- Remove useless NULL setters for driver data.

Changes since v1:
- Enhance the commit message by describing what is a Super-I/O.
- Use self-explanatory names for the GPIO register macros.
- Add a comment to explain the platform device and driver registration.
- Fix gpio_get when GPIO is configured in input mode. I only had
  the hardware to check this mode recently...

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-30 09:25:52 +02:00
..
devres.c gpio: devres: make comments proper 2013-06-17 07:53:00 +02:00
gpio-74x164.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-adnp.c gpio: adnp: Fix segfault if request_threaded_irq fails 2013-08-16 16:53:16 +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: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-bt8xx.c Gpio/trivial: replace numeric with standard PM state macros 2013-06-30 01:37:07 +02:00
gpio-clps711x.c GPIO: clps711x: Add DT support 2013-06-11 15:44:57 -07: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-em.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-ep93xx.c
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-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-langwell.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
gpio-lpc32xx.c Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
gpio-lynxpoint.c gpio-lynxpoint: Fix warning about unbalanced pm_runtime_enable 2013-08-16 17:11:33 +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: use dev_get_platdata() 2013-08-16 15:24:35 +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 gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping 2013-02-04 21:41:46 +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: Convert to use devm_ioremap_resource 2013-06-17 10:52:40 +02:00
gpio-msm-v2.c gpio: msm: Staticize local variable 'msm_gpio' 2013-08-16 16:47:30 +02:00
gpio-mvebu.c drivers/gpio: simplify use of devm_ioremap_resource 2013-08-16 17:16:31 +02: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: mxs: Use set and clear capabilities of the gpio controller 2013-05-20 20:14:43 +02:00
gpio-omap.c drivers/gpio/gpio-omap.c: convert comma to semicolon 2013-08-16 17:14:29 +02:00
gpio-palmas.c gpio: palmas: Fix misreported GPIO out value 2013-08-16 15:04:40 +02:00
gpio-pca953x.c gpio: pca953x: fix gpio input on gpio offsets >= 8 2013-08-16 17:19:16 +02:00
gpio-pcf857x.c gpio: pcf857x: Remove pdata argument to pcf857x_irq_domain_init() 2013-08-23 19:51:21 +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: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-pxa.c gpio: pxa: remove dead code 2013-07-21 18:14:20 +02:00
gpio-rc5t583.c
gpio-rcar.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-rdc321x.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-sa1100.c
gpio-samsung.c gpio: samsung: Drop support for Exynos SoCs 2013-08-29 14:40:30 +02: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: Staticize non-exported symbols 2013-05-30 19:20:22 +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-tc3589x.c gpio: tc3589x: remove unnecessary platform_set_drvdata() 2013-05-30 19:20:21 +02:00
gpio-tegra.c drivers/gpio: don't check resource with devm_ioremap_resource 2013-05-18 11:55:19 +02:00
gpio-timberdale.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-tnetv107x.c
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: use dev_get_platdata() 2013-08-16 15:24:35 +02: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: use dev_get_platdata() 2013-08-16 15:24:35 +02: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: introduce acpi_get_gpio_by_index() helper 2013-04-12 00:31:18 +02:00
gpiolib-of.c gpio: gpiolib-of.c: make error message more meaningful by adding the node name and index 2013-08-16 15:26:31 +02:00
gpiolib.c gpiolib: replace strict_strtol() with kstrtol() 2013-07-21 00:20:34 +02:00
Kconfig gpio: add GPIO support for F71882FG and F71889F 2013-08-30 09:25:52 +02:00
Makefile gpio: add GPIO support for F71882FG and F71889F 2013-08-30 09:25:52 +02:00