Quoting Satya Priya (2022-04-14 05:30:15) > diff --git a/drivers/mfd/qcom-pm8008.c b/drivers/mfd/qcom-pm8008.c > index ca5240d..ab4ba55 100644 > --- a/drivers/mfd/qcom-pm8008.c > +++ b/drivers/mfd/qcom-pm8008.c > @@ -282,6 +287,14 @@ static int pm8008_probe(struct i2c_client *client) > } > gpiod_set_value(chip->reset_gpio, 1); > > + rc = devm_mfd_add_devices(&chip->clients[PM8008_REGULATORS_SID]->dev, > + 0, pm8008_regulator_devs, ARRAY_SIZE(pm8008_regulator_devs), > + NULL, 0, NULL); > + if (rc) { > + dev_err(chip->dev, "Failed to add regulators: %d\n", rc); > + return rc; > + } > + > return devm_of_platform_populate(chip->dev); Can we just use devm_of_platform_populate()? Then have a compatible = "qcom,pm8008-regulators" that binds with the regulator platform driver and searches for the named regmap for the second i2c client.