diff options
author | Bai Ping <ping.bai@nxp.com> | 2018-10-26 17:01:38 +0800 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:34:48 +0800 |
commit | e2d4aae4803139259a37f2ae495522c7bd8ed900 (patch) | |
tree | 31361c74eb2710ff11d4256b00690bdd449314c1 /drivers/cpufreq/imx8mq-cpufreq.c | |
parent | 33d96c0279ef25373eea9a96e9312c0ed49fadc8 (diff) |
MLK-20104 driver: cpufreq: remove unnecessary mutex & rcu lock
Remove the unnecessary mutex and rcu lock from i.MX8MQ & i.MX7ULP
cpufreq driver.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'drivers/cpufreq/imx8mq-cpufreq.c')
-rw-r--r-- | drivers/cpufreq/imx8mq-cpufreq.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/cpufreq/imx8mq-cpufreq.c b/drivers/cpufreq/imx8mq-cpufreq.c index 4ac785315165..326710dd6c17 100644 --- a/drivers/cpufreq/imx8mq-cpufreq.c +++ b/drivers/cpufreq/imx8mq-cpufreq.c @@ -25,7 +25,6 @@ static struct device *cpu_dev; static bool free_opp; static struct cpufreq_frequency_table *freq_table; -static struct mutex set_cpufreq_lock; static unsigned int transition_latency; static struct clk *a53_clk; static struct clk *arm_a53_src_clk; @@ -43,22 +42,17 @@ static int imx8mq_set_target(struct cpufreq_policy *policy, unsigned int index) unsigned int old_freq, new_freq; int ret; - mutex_lock(&set_cpufreq_lock); - new_freq = freq_table[index].frequency; freq_hz = new_freq * 1000; old_freq = policy->cur; - rcu_read_lock(); opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_hz); if (IS_ERR(opp)) { - rcu_read_unlock(); dev_err(cpu_dev, "failed to find OPP for %ld\n", freq_hz); - mutex_unlock(&set_cpufreq_lock); return PTR_ERR(opp); } volt = dev_pm_opp_get_voltage(opp); - rcu_read_unlock(); + dev_pm_opp_put(opp); dev_dbg(cpu_dev, "%u MHz --> %u MHz\n", old_freq / 1000, new_freq / 1000); @@ -68,7 +62,6 @@ static int imx8mq_set_target(struct cpufreq_policy *policy, unsigned int index) ret = regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MAX, 0); if (ret) { dev_err(cpu_dev, "failed to scale dc_reg up: %d\n", ret); - mutex_unlock(&set_cpufreq_lock); return ret; } } @@ -79,7 +72,6 @@ static int imx8mq_set_target(struct cpufreq_policy *policy, unsigned int index) ret = regulator_set_voltage_tol(arm_reg, volt, 0); if (ret) { dev_err(cpu_dev, "failed to scale arm_reg up: %d\n", ret); - mutex_unlock(&set_cpufreq_lock); return ret; } } @@ -94,7 +86,6 @@ static int imx8mq_set_target(struct cpufreq_policy *policy, unsigned int index) ret = regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MIN, 0); if (ret) { dev_err(cpu_dev, "failed to scale dc_reg down: %d\n", ret); - mutex_unlock(&set_cpufreq_lock); return ret; } } @@ -105,7 +96,6 @@ static int imx8mq_set_target(struct cpufreq_policy *policy, unsigned int index) ret = regulator_set_voltage_tol(arm_reg, volt, 0); if (ret) { dev_err(cpu_dev, "failed to scale arm_reg down: %d\n", ret); - mutex_unlock(&set_cpufreq_lock); return ret; } } @@ -116,7 +106,6 @@ static int imx8mq_set_target(struct cpufreq_policy *policy, unsigned int index) if (ret) dev_err(cpu_dev, "failed to set clock rate: %d\n", ret); - mutex_unlock(&set_cpufreq_lock); return ret; } @@ -226,8 +215,6 @@ static int imx8mq_cpufreq_probe(struct platform_device *pdev) if (of_property_read_u32(np, "clock-latency", &transition_latency)) transition_latency = CPUFREQ_ETERNAL; - mutex_init(&set_cpufreq_lock); - ret = cpufreq_register_driver(&imx8mq_cpufreq_driver); if (ret) { dev_err(cpu_dev, "failed register driver: %d\n", ret); |