Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / linux / spi / max7301.h
1 #ifndef LINUX_SPI_MAX7301_H
2 #define LINUX_SPI_MAX7301_H
3
4 #include <linux/gpio.h>
5
6 /*
7  * Some registers must be read back to modify.
8  * To save time we cache them here in memory
9  */
10 struct max7301 {
11         struct mutex    lock;
12         u8              port_config[8]; /* field 0 is unused */
13         u32             out_level;      /* cached output levels */
14         u32             input_pullup_active;
15         struct gpio_chip chip;
16         struct device *dev;
17         int (*write)(struct device *dev, unsigned int reg, unsigned int val);
18         int (*read)(struct device *dev, unsigned int reg);
19 };
20
21 struct max7301_platform_data {
22         /* number assigned to the first GPIO */
23         unsigned        base;
24         /*
25          * bitmask controlling the pullup configuration,
26          *
27          * _note_ the 4 lowest bits are unused, because the first 4
28          * ports of the controller are not used, too.
29          */
30         u32             input_pullup_active;
31 };
32
33 extern int __max730x_remove(struct device *dev);
34 extern int __max730x_probe(struct max7301 *ts);
35 #endif