Re: [PATCH V2 01/16] PM / OPP: get/put regulators from OPP core

From: Stephen Boyd
Date: Mon Feb 08 2016 - 17:52:19 EST


On 02/02, Viresh Kumar wrote:
> On 01-02-16, 18:29, Stephen Boyd wrote:
> > I'm still lost why we need this API. When the OPP is torn down we
> > can call regulator_put there instead. The same style seems to be
> > done for supported hw, and prop_name, which doesn't make any
> > sense either. Just tear everything down when there aren't any
> > more OPPs in the table.
>
> I explained that earlier as well, but you never replied to that :)
> Let me paste that again here:
>
> Consider this case:
> - Platform code sets regulator for cpuX (Create OPP-table struct and
> set regulator)
> - insmod cpufreq-dt.ko (Fill OPP table)
> - rmmod cpufreq-dt.ko (Remove OPP table and struct, according to your
> suggestion)
> - insmod cpufreq-dt.ko (No regulator found).
>
> The platform code is supposed to set regulator, supported-hw,
> prop-name only once from some init-code. And it should just work out
> of the box after that. And so these calls are really required.
>

Ok the sequence makes sense now that it's clearly explained. I
wonder if we should create and destroy OPP tables when a device
is created and destroyed instead of triggering that from a
driver. I suppose not creating the tables until they're used is
good for saving memory though?

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project