While the upstream Linux driver doesn't support regulator configuration for the AXP152, we may need this in barebox for initial regulator setup. Thus have the MFD driver register the appropriate child device as done for the other drivers. While at it, pass along the axp20x driver data object. This is needed, so the regulator driver can query the variant; so far it was only possible to retrieve the parent regmap and redo the revision readout. Signed-off-by: Johannes Zink <j.zink@xxxxxxxxxxxxxx> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/mfd/axp20x.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c index da1e8ce35a7d..0a53eaea7cfa 100644 --- a/drivers/mfd/axp20x.c +++ b/drivers/mfd/axp20x.c @@ -141,6 +141,9 @@ static const struct mfd_cell axp152_cells[] = { { .name = "axp20x-pek", }, + { + .name = "axp20x-regulator", + }, }; static const struct mfd_cell axp288_cells[] = { @@ -337,6 +340,8 @@ int axp20x_device_probe(struct axp20x_dev *axp20x) AXP806_REG_ADDR_EXT_ADDR_SLAVE_MODE); } + axp20x->dev->priv = axp20x; + ret = mfd_add_devices(axp20x->dev, axp20x->cells, axp20x->nr_cells); if (ret) return dev_err_probe(axp20x->dev, ret, "failed to add MFD devices\n"); -- 2.30.2