opp: Don't create an OPP table from dev_pm_opp_get_opp_table()
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 6 Nov 2020 05:07:16 +0000 (10:37 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Wed, 9 Dec 2020 05:51:11 +0000 (11:21 +0530)
commite77dcb0b732dd355ca594909f6c2085dfc46cde2
treeba370ea1f448bac7300afab5a0ff48fa91c057d5
parent873c9851eb54b78c27a0d753f6dd7e377572a0aa
opp: Don't create an OPP table from dev_pm_opp_get_opp_table()

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.

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/base/power/domain.c
drivers/opp/core.c
drivers/opp/of.c
drivers/opp/opp.h
include/linux/pm_opp.h