#ifndef MFD_STMFX_H
#define MFD_STMFX_H
#include <linux/regmap.h>
#define STMFX_REG_CHIP_ID …
#define STMFX_REG_FW_VERSION_MSB …
#define STMFX_REG_FW_VERSION_LSB …
#define STMFX_REG_SYS_CTRL …
#define STMFX_REG_IRQ_OUT_PIN …
#define STMFX_REG_IRQ_SRC_EN …
#define STMFX_REG_IRQ_PENDING …
#define STMFX_REG_IRQ_ACK …
#define STMFX_REG_IRQ_GPI_PENDING1 …
#define STMFX_REG_IRQ_GPI_PENDING2 …
#define STMFX_REG_IRQ_GPI_PENDING3 …
#define STMFX_REG_GPIO_STATE1 …
#define STMFX_REG_GPIO_STATE2 …
#define STMFX_REG_GPIO_STATE3 …
#define STMFX_REG_IRQ_GPI_SRC1 …
#define STMFX_REG_IRQ_GPI_SRC2 …
#define STMFX_REG_IRQ_GPI_SRC3 …
#define STMFX_REG_IRQ_GPI_EVT1 …
#define STMFX_REG_IRQ_GPI_EVT2 …
#define STMFX_REG_IRQ_GPI_EVT3 …
#define STMFX_REG_IRQ_GPI_TYPE1 …
#define STMFX_REG_IRQ_GPI_TYPE2 …
#define STMFX_REG_IRQ_GPI_TYPE3 …
#define STMFX_REG_IRQ_GPI_ACK1 …
#define STMFX_REG_IRQ_GPI_ACK2 …
#define STMFX_REG_IRQ_GPI_ACK3 …
#define STMFX_REG_GPIO_DIR1 …
#define STMFX_REG_GPIO_DIR2 …
#define STMFX_REG_GPIO_DIR3 …
#define STMFX_REG_GPIO_TYPE1 …
#define STMFX_REG_GPIO_TYPE2 …
#define STMFX_REG_GPIO_TYPE3 …
#define STMFX_REG_GPIO_PUPD1 …
#define STMFX_REG_GPIO_PUPD2 …
#define STMFX_REG_GPIO_PUPD3 …
#define STMFX_REG_GPO_SET1 …
#define STMFX_REG_GPO_SET2 …
#define STMFX_REG_GPO_SET3 …
#define STMFX_REG_GPO_CLR1 …
#define STMFX_REG_GPO_CLR2 …
#define STMFX_REG_GPO_CLR3 …
#define STMFX_REG_MAX …
#define STMFX_BOOT_TIME_MS …
#define STMFX_REG_CHIP_ID_MASK …
#define STMFX_REG_SYS_CTRL_GPIO_EN …
#define STMFX_REG_SYS_CTRL_TS_EN …
#define STMFX_REG_SYS_CTRL_IDD_EN …
#define STMFX_REG_SYS_CTRL_ALTGPIO_EN …
#define STMFX_REG_SYS_CTRL_SWRST …
#define STMFX_REG_IRQ_OUT_PIN_TYPE …
#define STMFX_REG_IRQ_OUT_PIN_POL …
enum stmfx_irqs { … };
enum stmfx_functions { … };
struct stmfx { … };
int stmfx_function_enable(struct stmfx *stmfx, u32 func);
int stmfx_function_disable(struct stmfx *stmfx, u32 func);
#endif