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

