Hi Svyatoslav, On Thu, 20 Jul 2023 at 06:38, Svyatoslav Ryhel <clamo...@gmail.com> wrote: > > Main goal is to probe all regulator childrens for their > proper setup but if pmic has non regulator children they > should not suffer from this either. > > Signed-off-by: Svyatoslav Ryhel <clamo...@gmail.com> > --- > drivers/power/pmic/pmic-uclass.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/power/pmic/pmic-uclass.c > b/drivers/power/pmic/pmic-uclass.c > index 0e2f5e1f41..8ca717bd5e 100644 > --- a/drivers/power/pmic/pmic-uclass.c > +++ b/drivers/power/pmic/pmic-uclass.c > @@ -16,6 +16,7 @@ > #include <dm/device-internal.h> > #include <dm/uclass-internal.h> > #include <power/pmic.h> > +#include <power/regulator.h> > #include <linux/ctype.h>
I'm not sure about this. The idea is that power is handling automatically, e.g. a device is probed and so its power is enabled. If you do everything at the start, doesn't that violate the 'lazy' init side of U-Boot? > > #if CONFIG_IS_ENABLED(PMIC_CHILDREN) > @@ -198,9 +199,18 @@ static int pmic_pre_probe(struct udevice *dev) > return 0; > } > > +static int pmic_post_probe(struct udevice *dev) > +{ > + struct udevice *child; > + > + device_foreach_child_probe(child, dev); > + return 0; > +} > + > UCLASS_DRIVER(pmic) = { > .id = UCLASS_PMIC, > .name = "pmic", > .pre_probe = pmic_pre_probe, > + .post_probe = pmic_post_probe, > .per_device_auto = sizeof(struct uc_pmic_priv), > }; > -- > 2.39.2 > Regards, Simon