On 30-10-20, 19:19, Frank Lee wrote: > GPU is also a relatively large number of opp consumers. I was talking about the number of files or locations from which this routine (the devm_* variant) is going to get called. And it is one right now. And I don't see if any of the other callers are going to use it for now. > Most of the time, the dev_pm_opp_set_* functions will only be set once. Right. > If don't need the driver to dynamically manage and release the opp, it > may be OK? Every call to dev_pm_opp_set_supported_hw() increases the ref count of the OPP table and if it isn't balanced with a call to dev_pm_opp_put_supported_hw(), then the OPP table will never get freed. So if the driver is a module and ends up creating an OPP table every time, then this will lead to leakage. The best way to fix this is by calling dev_pm_opp_put_supported_hw() from the right place and then we are good. -- viresh