On 01/13, Viresh Kumar wrote: > On 13-01-17, 00:52, Stephen Boyd wrote: > > What still doesn't make sense is how an individual OPP could go > > away without the table that the OPP lives in also going away. > > dev_pm_opp_remove() is one such option, which can remove OPPs > individually. Over that, while remove tables we remove all the OPPs > one by one. So that really does happen. > > > If > > an OPP is going away while a driver has a reference to it, then > > the driver using that OPP should probably not be using it. > > That is being protected with this patch now and the drivers can use > them freely. > > > TL;DR > > letting drivers use OPP pointers outside of the OPP core feels > > racy. > > Hmm, we don't update the OPP a lot after creating it today. But that's > a different problem to solve, if we really see a race there. >
Ok. We still have work to do to fix the race between drivers using dev_pm_opp pointers and other drivers updating the data those pointers point to like voltage, enable/disable, etc. This isn't making anything worse than it already is though, so: Reviewed-by: Stephen Boyd <sb...@codeaurora.org> -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project