On Wed, 2020-05-20 at 13:31 +0100, Mark Brown wrote:
> On Wed, May 20, 2020 at 11:43:04AM +0800, Andrew-sh.Cheng wrote:
> 
> > +   cci_df->proc_reg = devm_regulator_get_optional(cci_dev, "proc");
> > +   ret = PTR_ERR_OR_ZERO(cci_df->proc_reg);
> > +   if (ret) {
> > +           if (ret != -EPROBE_DEFER)
> > +                   dev_err(cci_dev, "failed to get regulator for CCI: 
> > %d\n",
> > +                           ret);
> > +           return ret;
> > +   }
> > +   ret = regulator_enable(cci_df->proc_reg);
> 
> The code appears to require a regulator (and I'm guessing the device
> needs power) so why is this using regulator_get_optional()?

Hi Mark,

Do you mean, why not use regulator_get_exclusive() or regulator_get()?
Because cci and cpu litter core shared buck, it cannot use
regulator_get_exclusive().
Because both cci and cpu want to tune voltage, it cannot use
regulator_get(), otherwise it will get dummy regulator even this buck
doesn't register.as regulator.

BR,
Andrew-sh.Cheng

Reply via email to