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 	u32		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