2010-03-06 05:44:34 +08:00
|
|
|
#ifndef _LINUX_PCA953X_H
|
|
|
|
#define _LINUX_PCA953X_H
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
#include <linux/i2c.h>
|
|
|
|
|
2008-02-05 14:28:26 +08:00
|
|
|
/* platform data for the PCA9539 16-bit I/O expander driver */
|
|
|
|
|
2008-02-06 17:39:03 +08:00
|
|
|
struct pca953x_platform_data {
|
2008-02-05 14:28:26 +08:00
|
|
|
/* number of the first GPIO */
|
|
|
|
unsigned gpio_base;
|
|
|
|
|
|
|
|
/* initial polarity inversion setting */
|
2012-07-10 21:35:37 +08:00
|
|
|
u32 invert;
|
2008-02-05 14:28:26 +08:00
|
|
|
|
2010-03-06 05:44:36 +08:00
|
|
|
/* interrupt base */
|
|
|
|
int irq_base;
|
|
|
|
|
2008-02-05 14:28:26 +08:00
|
|
|
void *context; /* param to setup/teardown */
|
|
|
|
|
|
|
|
int (*setup)(struct i2c_client *client,
|
|
|
|
unsigned gpio, unsigned ngpio,
|
|
|
|
void *context);
|
|
|
|
int (*teardown)(struct i2c_client *client,
|
|
|
|
unsigned gpio, unsigned ngpio,
|
|
|
|
void *context);
|
2010-05-27 05:42:17 +08:00
|
|
|
const char *const *names;
|
2008-02-05 14:28:26 +08:00
|
|
|
};
|
2010-03-06 05:44:34 +08:00
|
|
|
|
|
|
|
#endif /* _LINUX_PCA953X_H */
|