#include <linux/mfd/core.h>
#include <linux/mfd/tps68470.h>
#include <linux/regmap.h>
static const struct mfd_cell tps68470s[] = {
{ .name = "tps68470-gpio" },
{ .name = "tps68470_pmic_opregion" },
static const struct regmap_config tps68470_regmap_config = {
.max_register = TPS68470_REG_MAX,
static int tps68470_chip_init(struct device *dev, struct regmap *regmap)
ret = regmap_write(regmap, TPS68470_REG_RESET, TPS68470_REG_RESET_MASK);
ret = regmap_read(regmap, TPS68470_REG_REVID, &version);
dev_err(dev, "Failed to read revision register: %d\n", ret);
dev_info(dev, "TPS68470 REVID: 0x%x\n", version);
static int tps68470_probe(struct i2c_client *client)
struct device *dev = &client->dev;
regmap = devm_regmap_init_i2c(client, &tps68470_regmap_config);
dev_err(dev, "devm_regmap_init_i2c Error %ld\n",