Messages in this thread | | | Subject | Re: [PATCH 2/2] opp: Don't create an OPP table from dev_pm_opp_get_opp_table() | From | Dmitry Osipenko <> | Date | Mon, 9 Nov 2020 07:41:44 +0300 |
| |
09.11.2020 07:34, Viresh Kumar пишет: > 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.
Why _allocate_opp_table() grabs the first default clk of a device and assigns it to the created table?
| |