PM / OPP: Add light weight _opp_free() routine
The OPPs which are never successfully added using _opp_add() are not required to be freed with the _opp_remove() routine, as a simple kfree() is enough for them. Introduce a new light weight routine _opp_free(), which will do that. That also helps us removing the 'notify' parameter to _opp_remove(), which isn't required anymore. Note that _opp_free() contains a call to _remove_opp_table() as the OPP table might have been added for this very OPP only. The _remove_opp_table() routine returns quickly if there are more OPPs in the table. This will be simplified in later patches though. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:

committed by
Rafael J. Wysocki

parent
04a86a84c4
commit
969fceb3c7
@@ -362,7 +362,7 @@ static int _opp_add_static_v2(struct device *dev, struct device_node *np)
|
||||
return 0;
|
||||
|
||||
free_opp:
|
||||
_opp_remove(opp_table, new_opp, false);
|
||||
_opp_free(new_opp, opp_table);
|
||||
unlock:
|
||||
mutex_unlock(&opp_table_lock);
|
||||
return ret;
|
||||
|
Reference in New Issue
Block a user