• Peter Korsgaard's avatar
    mcp23s08: add i2c support · 752ad5e8
    Peter Korsgaard authored
    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: default avatarPeter Korsgaard <jacmet@sunsite.dk>
    Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    752ad5e8
gpio-mcp23s08.c 15.6 KB