xref: /openbmc/linux/drivers/mfd/simple-mfd-i2c.h (revision c753ea31)
1*c753ea31SLee Jones // SPDX-License-Identifier: GPL-2.0-only
2*c753ea31SLee Jones /*
3*c753ea31SLee Jones  * Simple MFD - I2C
4*c753ea31SLee Jones  *
5*c753ea31SLee Jones  * Author: Lee Jones <lee.jones@linaro.org>
6*c753ea31SLee Jones  *
7*c753ea31SLee Jones  * This driver creates a single register map with the intention for it to be
8*c753ea31SLee Jones  * shared by all sub-devices.  Children can use their parent's device structure
9*c753ea31SLee Jones  * (dev.parent) in order to reference it.
10*c753ea31SLee Jones  *
11*c753ea31SLee Jones  * This driver creates a single register map with the intention for it to be
12*c753ea31SLee Jones  * shared by all sub-devices.  Children can use their parent's device structure
13*c753ea31SLee Jones  * (dev.parent) in order to reference it.
14*c753ea31SLee Jones  *
15*c753ea31SLee Jones  * Once the register map has been successfully initialised, any sub-devices
16*c753ea31SLee Jones  * represented by child nodes in Device Tree or via the MFD cells in the
17*c753ea31SLee Jones  * associated C file will be subsequently registered.
18*c753ea31SLee Jones  */
19*c753ea31SLee Jones 
20*c753ea31SLee Jones #ifndef __MFD_SIMPLE_MFD_I2C_H
21*c753ea31SLee Jones #define __MFD_SIMPLE_MFD_I2C_H
22*c753ea31SLee Jones 
23*c753ea31SLee Jones #include <linux/mfd/core.h>
24*c753ea31SLee Jones #include <linux/regmap.h>
25*c753ea31SLee Jones 
26*c753ea31SLee Jones struct simple_mfd_data {
27*c753ea31SLee Jones 	const struct regmap_config *regmap_config;
28*c753ea31SLee Jones 	const struct mfd_cell *mfd_cell;
29*c753ea31SLee Jones 	size_t mfd_cell_size;
30*c753ea31SLee Jones };
31*c753ea31SLee Jones 
32*c753ea31SLee Jones #endif /* __MFD_SIMPLE_MFD_I2C_H */
33