PCF857x, PCA857x, and PCA967x I2C GPIO expanders

modulename: pcf857x.ko

and/or

gpio-pcf857x.ko

configname: CONFIG_GPIO_PCF857X

Linux Kernel Configuration
└─>Device Drivers
└─>GPIO Support
└─>I2C support
└─>PCF857x, PCA857x, and PCA967x I2C GPIO expanders
In linux kernel since version 2.6.25 (release Date: 2008-04-16)  
Say yes here to provide access to most "quasi-bidirectional" I2C
GPIO expanders used for additional digital outputs or inputs.
Most of these parts are from NXP, though TI is a second source for
some of them. Compatible models include:

8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
pca9670, pca9672, pca9674, pca9674a

16 bits: pcf8575, pcf8575c, pca8575,
pca9671, pca9673, pca9675

Your board setup code will need to declare the expanders in
use, and assign numbers to the GPIOs they expose. Those GPIOs
can then be used from drivers and other kernel code, just like
other GPIOs, but only accessible from task contexts.

This driver provides an in-kernel interface to those GPIOs using
platform-neutral GPIO calls.

source code: