Files
linux-legacy/include/linux
David Brownell 15fae37d9f gpiolib: pcf857x i2c gpio expander support
This is a new-style I2C driver for most common 8 and 16 bit I2C based
"quasi-bidirectional" GPIO expanders: pcf8574 or pcf8575, and several
compatible models (mostly faster, supporting I2C at up to 1 MHz).

The driver exposes the GPIO signals using the platform-neutral GPIO
programming interface, so they are easily accessed by other kernel code.  The
lack of such a flexible kernel API has been a big factor in the proliferation
of board-specific drivers for these chips...  stuff that rarely makes it
upstream since it's so ugly.  This driver will let such boards use standard
calls.

Since it's a new-style driver, these devices must be configured as part of
board-specific init.  That eliminates the need for error-prone manual
configuration of module parameters, and makes compatibility with legacy
drivers (pcf8574.c, pc8575.c) for these chips easier (there's a clear
either/or disjunction).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
Cc: Eric Miao <eric.miao@marvell.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ben Gardner <bgardner@wabtec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-05 09:44:13 -08:00
..
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-02-01 11:34:49 +01:00
…
2008-01-29 21:55:15 +01:00
…
…
…
…
…
…
…
…
…
…
…
2008-02-03 17:45:46 +02:00
…
…
…
…
2008-02-05 09:44:07 -08:00
…
…
…
…
…
2008-01-30 13:31:10 +01:00
…
…
…
…
…
…
…
…
2008-02-03 17:45:46 +02:00
…
2008-02-03 15:42:53 +02:00
…
…
…
…
…
…
…
…
…
2008-02-03 17:45:46 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-01-30 13:31:56 +01:00
…
…
…
…
2008-02-03 17:45:46 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-02-03 15:42:53 +02:00
…
…
…
…
…
…
…
…
2008-01-30 13:30:27 +01:00
2008-02-05 09:44:07 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-02-02 19:56:47 +01:00
…
2008-02-01 16:13:16 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-01-31 19:26:46 -08:00
…
…
…
…
…
…
…
…
…
2008-01-31 19:28:20 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-01-30 13:33:13 +01:00
…
2008-02-03 17:45:46 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-01-30 02:06:08 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-02-02 11:32:01 -08:00
2008-02-02 02:44:34 +03:00
2008-01-30 23:27:58 +01:00
…
…
…
…
2008-01-31 19:28:36 -08:00
…
…
2008-02-03 17:45:46 +02:00
…
2008-02-03 17:45:46 +02:00
…
…
…
…
…
…
…
…
…
2008-01-30 13:30:53 +01:00
…
…
…
…
…
…
…
2008-01-30 13:31:47 +01:00
…
2008-01-31 19:26:46 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-02-04 10:56:03 -08:00
2008-02-03 17:45:46 +02:00
…
…
…
…
2008-01-31 19:28:30 -08:00
…
…
…
…
…
…
…
2008-01-30 13:31:20 +01:00
2008-01-30 13:31:20 +01:00
2008-01-30 13:31:20 +01:00
…
…
…
…
…
…
…
2008-01-31 22:05:48 +01:00
…
…
2008-02-05 09:44:07 -08:00
…
…
…
…
…
…
…
…
…
2008-02-01 17:45:14 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2008-02-04 23:50:13 +11:00
2008-02-04 23:50:03 +11:00
2008-02-04 23:50:02 +11:00
2008-02-04 23:50:03 +11:00
…
…
…
…
2008-02-05 09:44:07 -08:00
2008-02-03 15:42:53 +02:00
…
…
…
…
…
…
…