FW: Regulator API ignored return values

Arnd Bergmann arnd at arndb.de
Tue Mar 12 10:03:09 EDT 2013


On Tuesday 12 March 2013, Kevin Liu wrote:
> > -               regulator_enable(host->vqmmc);
> > +               ret = regulator_enable(host->vqmmc);
> >                 if (!regulator_is_supported_voltage(host->vqmmc, 1700000,
> >                         1950000))
> >                         caps[1] &= ~(SDHCI_SUPPORT_SDR104 |
> >                                         SDHCI_SUPPORT_SDR50 |
> >                                         SDHCI_SUPPORT_DDR50);
> > +               if (ret) {
> > +                       pr_warn("%s: Failed to enable vqmmc regulator: %d\n",
> > +                               mmc_hostname(mmc), ret);
> 
> Need add regulator_put here since regulator_get has succeed?

Hmm, we still don't actually bail out if the error is encountered, so
the reference count is balanced with the current patch, but I maybe
a failed regulator_enable() should actually be a fatal error?

If we do that, using devm_regulator_get() would be a nice way to
track the reference counts.

	Arnd



More information about the linux-arm-kernel mailing list