From 408ea389fba2b4711cd4fef0c5c5e4b54744bcd7 Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Wed, 29 May 2019 15:50:20 +0800 Subject: [PATCH] soc: rockchip: ipa: Get leakage when ipa power model init Change-Id: Ib0f7855c6faa54fa5ca28010d1c05da8ba478d7e Signed-off-by: Finley Xiao --- drivers/cpufreq/cpufreq-dt.c | 3 +-- drivers/soc/rockchip/rockchip_ipa.c | 4 +++- include/soc/rockchip/rockchip_ipa.h | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c index 3eb90d6ab49d..4768d24f98b8 100644 --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c @@ -427,10 +427,9 @@ static void cpufreq_ready(struct cpufreq_policy *policy) #ifdef CONFIG_ARCH_ROCKCHIP ret = rockchip_ipa_power_model_init(priv->cpu_dev, + "cpu_leakage", &priv->model_data); if (!ret) { - rockchip_of_get_leakage(priv->cpu_dev, "cpu_leakage", - &priv->model_data->leakage); priv->cdev = of_cpufreq_power_cooling_register(np, policy->related_cpus, power_coefficient, cpufreq_get_static_power); diff --git a/drivers/soc/rockchip/rockchip_ipa.c b/drivers/soc/rockchip/rockchip_ipa.c index 37ee0dbe1e5b..5c5be82aefeb 100644 --- a/drivers/soc/rockchip/rockchip_ipa.c +++ b/drivers/soc/rockchip/rockchip_ipa.c @@ -6,11 +6,12 @@ #include #include #include +#include #include #define FALLBACK_STATIC_TEMPERATURE 55000 -int rockchip_ipa_power_model_init(struct device *dev, +int rockchip_ipa_power_model_init(struct device *dev, char *lkg_name, struct ipa_power_model_data **data) { struct device_node *model_node; @@ -57,6 +58,7 @@ int rockchip_ipa_power_model_init(struct device *dev, ret = -EINVAL; goto err; } + rockchip_of_get_leakage(dev, lkg_name, &model_data->leakage); of_property_read_u32(model_node, "ref-leakage", &model_data->ref_leakage); *data = model_data; diff --git a/include/soc/rockchip/rockchip_ipa.h b/include/soc/rockchip/rockchip_ipa.h index 9525f45a17c1..a8589c023868 100644 --- a/include/soc/rockchip/rockchip_ipa.h +++ b/include/soc/rockchip/rockchip_ipa.h @@ -15,14 +15,14 @@ struct ipa_power_model_data { }; #ifdef CONFIG_ROCKCHIP_IPA -int rockchip_ipa_power_model_init(struct device *dev, +int rockchip_ipa_power_model_init(struct device *dev, char *lkg_name, struct ipa_power_model_data **data); unsigned long rockchip_ipa_get_static_power(struct ipa_power_model_data *model_data, unsigned long voltage_mv); #else static inline int -rockchip_ipa_power_model_init(struct device *dev, +rockchip_ipa_power_model_init(struct device *dev, char *lkg_name, struct ipa_power_model_data **data) { return -ENOTSUPP;