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