
This moves irq property handling from spi/i2c specific code into the generic mcp23s08_probe_one. This is possible because the device properties are named equally. As a side-effect this drops support for setting the properties via pdata, which has no mainline users. If boardcode wants to enable the chip as interrupt controller it can attach the device properties instead. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
25 lines
817 B
C
25 lines
817 B
C
|
|
/* FIXME driver should be able to handle IRQs... */
|
|
|
|
struct mcp23s08_chip_info {
|
|
bool is_present; /* true if populated */
|
|
};
|
|
|
|
struct mcp23s08_platform_data {
|
|
/* For mcp23s08, up to 4 slaves (numbered 0..3) can share one SPI
|
|
* chipselect, each providing 1 gpio_chip instance with 8 gpios.
|
|
* For mpc23s17, up to 8 slaves (numbered 0..7) can share one SPI
|
|
* chipselect, each providing 1 gpio_chip (port A + port B) with
|
|
* 16 gpios.
|
|
*/
|
|
struct mcp23s08_chip_info chip[8];
|
|
|
|
/* "base" is the number of the first GPIO. Dynamic assignment is
|
|
* not currently supported, and even if there are gaps in chip
|
|
* addressing the GPIO numbers are sequential .. so for example
|
|
* if only slaves 0 and 3 are present, their GPIOs range from
|
|
* base to base+15 (or base+31 for s17 variant).
|
|
*/
|
|
unsigned base;
|
|
};
|