root/include/linux/spi/max7301.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */