mcp23s08: add i2c support
authorPeter Korsgaard <jacmet@sunsite.dk>
Fri, 15 Jul 2011 08:25:32 +0000 (10:25 +0200)
committerGrant Likely <grant.likely@secretlab.ca>
Fri, 15 Jul 2011 19:54:18 +0000 (13:54 -0600)
commit752ad5e82dfd83851e44a2b9da8761994cd7e61c
treede338b98720ac3a37f18b2db868a85e2b8cfe726
parentd62b98f305a6b0d32fbdc72ac6ba3d4f4768adeb
mcp23s08: add i2c support

Add i2c bindings for the mcp230xx devices. This is quite a lot simpler
than the spi one as there's no funky sub addressing done (one struct
i2c_client per struct gpio_chip).

The mcp23s08_platform_data structure is reused for i2c, even though
only a single mcp23s08_chip_info structure is needed.

To use, simply fill out a platform_data structure and pass it in
i2c_board_info, E.G.:

static const struct mcp23s08_platform_data mcp23017_data = {
.chip[0] = {
.pullups = 0x00ff,
},
.base = 240,
};

static struct i2c_board_info __initdata i2c_devs[] = {
{ I2C_BOARD_INFO("mcp23017", 0x20),
  .platform_data = &smartview_mcp23017_data, },
...
};

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/gpio/Kconfig
drivers/gpio/gpio-mcp23s08.c