cpufreq: dt: fix the warning occurred when upped cpu5 before cpu4

root@rk3399:/ # echo 0 > /sys/devices/system/cpu/cpu4/online
CPU4: shutdown
psci: CPU4 killed.
root@rk3399:/ # echo 0 > /sys/devices/system/cpu/cpu5/online
IRQ17 no longer affine to CPU5
CPU5: shutdown
psci: CPU5 killed.
root@rk3399:/ # echo 1 > /sys/devices/system/cpu/cpu5/online
Detected PIPT I-cache on CPU5
CPU5: found redistributor 101 region 0:0x00000000fefa0000
CPU5: update cpu_capacity 1024
CPU5: Booted secondary processor [410fd082]
cpu cpu5: opp_list_debug_create_link: Failed to create link
cpu cpu5: _add_opp_dev: Failed to register opp debugfs (-12)
cpu cpu5: dev_pm_opp_get_max_volt_latency: Invalid regulator (-6)

Change-Id: I9b066f9712b7f8426561e03a538a9a5c45138ab0
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This commit is contained in:
Finley Xiao
2016-12-12 09:46:29 +08:00
committed by Huang, Tao
parent e6615d9e47
commit b226c47d09

View File

@@ -149,6 +149,9 @@ static int cpufreq_init(struct cpufreq_policy *policy)
struct device *cpu_dev;
struct clk *cpu_clk;
struct dev_pm_opp *suspend_opp;
#ifdef CONFIG_ARCH_ROCKCHIP
struct cpumask cpus;
#endif
unsigned int transition_latency;
bool opp_v1 = false;
const char *name;
@@ -204,7 +207,20 @@ static int cpufreq_init(struct cpufreq_policy *policy)
*
* OPPs might be populated at runtime, don't check for error here
*/
#ifdef CONFIG_ARCH_ROCKCHIP
ret = dev_pm_opp_of_add_table(cpu_dev);
if (ret) {
dev_err(cpu_dev, "couldn't find opp table for cpu:%d, %d\n",
policy->cpu, ret);
} else {
cpumask_copy(&cpus, policy->cpus);
cpumask_clear_cpu(policy->cpu, &cpus);
if (dev_pm_opp_of_cpumask_add_table(&cpus))
dev_pm_opp_of_remove_table(cpu_dev);
}
#else
dev_pm_opp_of_cpumask_add_table(policy->cpus);
#endif
/*
* But we need OPP table to function so if it is not there let's