Re: Regulator probe

From: Andy Shevchenko
Date: Fri Sep 09 2016 - 12:16:48 EST


On Fri, 2016-09-09 at 16:29 +0100, Mark Brown wrote:

> > Fixed regulator probe is deferred:
>
> >
> > reg-fixed-voltage reg-fixed-voltage.0.auto: Failed to register
> > regulator: -517
>
> So the regulator probe *does* get deferred as expected...
>
> >
> > But:
> > sdhci-pci 0000:00:01.3: No vmmc regulator found
>
> >
> > Code in sdhci driver is:
> > Â Â Â Â ret = mmc_regulator_get_supply(mmc);
> > ÂÂÂÂÂÂÂÂif (ret == -EPROBE_DEFER)
> > ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn ret;
> >
> > mmc_regulator_get_supply():
> > ...
> > Â Â Â Â mmc->supply.vmmc = devm_regulator_get_optional(dev, "vmmc");
> > ÂÂÂÂÂÂÂÂmmc->supply.vqmmc = devm_regulator_get_optional(dev,
> > "vqmmc");
>
> ...and then we correctly report that the optional supply that isn't
> mapped (as far as I remember) isn't there.

But it *will be* soon there.

Hmm... And the proper fix for this case is... (let's assume there will
not be device tree solution in nearest future)?

If I remove has_full_constraints() call I will get EPROBE_DEFER on all
optional regulators IIRC.

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy