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 int (*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 */