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