Re: [PATCH 06/12] PM / OPP: Add 'struct kref' to struct dev_pm_opp
From: Viresh Kumar
Date: Fri Jan 13 2017 - 03:56:55 EST
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.
--
viresh