Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
max7301.h
Go to the documentation of this file.
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 */
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 
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  */
31 };
32 
33 extern int __max730x_remove(struct device *dev);
34 extern int __max730x_probe(struct max7301 *ts);
35 #endif