Messages in this thread | | | Date | Mon, 9 Nov 2020 10:04:57 +0530 | From | Viresh Kumar <> | Subject | Re: [PATCH 2/2] opp: Don't create an OPP table from dev_pm_opp_get_opp_table() |
| |
On 06-11-20, 16:18, Dmitry Osipenko wrote: > 06.11.2020 09:24, Viresh Kumar пишет: > > It has been found that some users (like cpufreq-dt and others on LKML) > > have abused the helper dev_pm_opp_get_opp_table() to create the OPP > > table instead of just finding it, which is the wrong thing to do. This > > routine was meant for OPP core's internal working and exposed the whole > > functionality by mistake. > > > > Change the scope of dev_pm_opp_get_opp_table() to only finding the > > table. The internal helpers _opp_get_opp_table*() are thus renamed to > > _add_opp_table*(), dev_pm_opp_get_opp_table_indexed() is removed (as we > > don't need the index field for finding the OPP table) and so the only > > user, genpd, is updated. > > > > Note that the prototype of _add_opp_table() was already left in opp.h by > > mistake when it was removed earlier and so we weren't required to add it > > now. > > Hello Viresh, > > It looks like this is not an entirely correct change because previously > it was possible to get an empty opp_table in order to use it for the > dev_pm_opp_set_rate(), which would fall back to clk_set_rate if table is > empty. > > Now it's not possible to get an empty table and > dev_pm_opp_of_add_table() would error out if OPPs are missing in a > device-tree. Hence it's not possible to implement a fall back without > abusing opp_set_regulators() or opp_set_supported_hw() for getting the > empty table. Or am I missing something?
For that case you were always required to call dev_pm_opp_set_clkname(), otherwise how would the OPP core know which clock to set ? And the same shall work now as well.
-- viresh
| |