diff options
author | Peng Fan <peng.fan@nxp.com> | 2020-02-19 08:59:53 +0100 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2020-03-12 11:13:52 +0100 |
commit | 0c868627e617e43a295d8e7d542ec40387853694 (patch) | |
tree | bc98c35b18a0c7d36b0c7971de99c37145525aef /drivers/cpufreq | |
parent | cpufreq: imx-cpufreq-dt: Correct i.MX8MP's market segment fuse location (diff) | |
download | linux-0c868627e617e43a295d8e7d542ec40387853694.tar.xz linux-0c868627e617e43a295d8e7d542ec40387853694.zip |
cpufreq: dt: Allow platform specific intermediate callbacks
Platforms may need to implement platform specific get_intermediate and
target_intermediate hooks.
Update cpufreq-dt driver's platform data to contain those for such
platforms.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/cpufreq-dt.c | 4 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq-dt.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c index d2b5f062a07b..26fe8dfb9ce6 100644 --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c @@ -363,6 +363,10 @@ static int dt_cpufreq_probe(struct platform_device *pdev) dt_cpufreq_driver.resume = data->resume; if (data->suspend) dt_cpufreq_driver.suspend = data->suspend; + if (data->get_intermediate) { + dt_cpufreq_driver.target_intermediate = data->target_intermediate; + dt_cpufreq_driver.get_intermediate = data->get_intermediate; + } } ret = cpufreq_register_driver(&dt_cpufreq_driver); diff --git a/drivers/cpufreq/cpufreq-dt.h b/drivers/cpufreq/cpufreq-dt.h index a5a45b547d0b..28c8af7ec5ef 100644 --- a/drivers/cpufreq/cpufreq-dt.h +++ b/drivers/cpufreq/cpufreq-dt.h @@ -14,6 +14,10 @@ struct cpufreq_policy; struct cpufreq_dt_platform_data { bool have_governor_per_policy; + unsigned int (*get_intermediate)(struct cpufreq_policy *policy, + unsigned int index); + int (*target_intermediate)(struct cpufreq_policy *policy, + unsigned int index); int (*suspend)(struct cpufreq_policy *policy); int (*resume)(struct cpufreq_policy *policy); }; |