blob: 34af0a3477bf1d6fc0472c0c845f63d28e05d4a1 [file] [log] [blame]
#ifndef LINUX_SPI_MAX7301_H
#define LINUX_SPI_MAX7301_H
#include <linux/gpio.h>
/*
* Some registers must be read back to modify.
* To save time we cache them here in memory
*/
struct max7301 {
struct mutex lock;
u8 port_config[8]; /* field 0 is unused */
u32 out_level; /* cached output levels */
struct gpio_chip chip;
struct device *dev;
int (*write)(struct device *dev, unsigned int reg, unsigned int val);
int (*read)(struct device *dev, unsigned int reg);
};
struct max7301_platform_data {
/* number assigned to the first GPIO */
unsigned base;
};
extern int __max730x_remove(struct device *dev);
extern int __max730x_probe(struct max7301 *ts);
#endif