1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_SPI_MAX7301_H
3 #define LINUX_SPI_MAX7301_H
5 #include <linux/gpio.h>
8 * Some registers must be read back to modify.
9 * To save time we cache them here in memory
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
;
18 int (*write
)(struct device
*dev
, unsigned int reg
, unsigned int val
);
19 int (*read
)(struct device
*dev
, unsigned int reg
);
22 struct max7301_platform_data
{
23 /* number assigned to the first GPIO */
26 * bitmask controlling the pullup configuration,
28 * _note_ the 4 lowest bits are unused, because the first 4
29 * ports of the controller are not used, too.
31 u32 input_pullup_active
;
34 extern int __max730x_remove(struct device
*dev
);
35 extern int __max730x_probe(struct max7301
*ts
);