1 #ifndef _LINUX_PCA953X_H 2 #define _LINUX_PCA953X_H 3 4 #include <linux/types.h> 5 #include <linux/i2c.h> 6 7 /* platform data for the PCA9539 16-bit I/O expander driver */ 8 9 struct pca953x_platform_data { 10 /* number of the first GPIO */ 11 unsigned gpio_base; 12 13 /* initial polarity inversion setting */ 14 uint16_t invert; 15 16 /* interrupt base */ 17 int irq_base; 18 19 void *context; /* param to setup/teardown */ 20 21 int (*setup)(struct i2c_client *client, 22 unsigned gpio, unsigned ngpio, 23 void *context); 24 int (*teardown)(struct i2c_client *client, 25 unsigned gpio, unsigned ngpio, 26 void *context); 27 const char *const *names; 28 }; 29 30 #endif /* _LINUX_PCA953X_H */ 31