linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers
@ 2018-02-26  5:08 Viresh Kumar
  2018-02-26  5:08 ` [PATCH 06/27] cpufreq: brcmstb: Don't validate the frequency table twice Viresh Kumar
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

A patchset [1] sent last week already updated the cpufreq core to start
validating cpufreq table if the policy contains a valid
"policy->freq_table" pointer.

This series updates all such drivers to stop validating the cpufreq
table directly and let only the core handle it.

It depends on the previous series [1] and two cleanup patches [2][3] and
is rebased over 4.16-rc3.

It is already tested by the 0-day testing infrastructure and no issues
were reported.

--
viresh

[1] https://lkml.kernel.org/r/bd8c6133ad0bdd56c936802bcf26878d7cbdb679.1519279148.git.viresh.kumar at linaro.org
[2] https://lkml.kernel.org/r/77d470741dab32c2076a35253b9c0c2f0136583b.1519293292.git.viresh.kumar at linaro.org
[3] https://lkml.kernel.org/r/6b737a9c285840b4b2036fa51b692ee835664ec8.1519358505.git.viresh.kumar at linaro.org

Viresh Kumar (27):
  cpufreq: imx6q: Find max freq from frequency table itself
  cpufreq: Don't validate cpufreq table from cpufreq_generic_init()
  cpufreq: acpi: Don't validate the frequency table twice
  cpufreq: arm_big_little: Don't validate the frequency table twice
  cpufreq: blackfin: Don't validate the frequency table twice
  cpufreq: brcmstb: Don't validate the frequency table twice
  cpufreq: cpufreq-dt: Don't validate the frequency table twice
  cpufreq: e_powersaver: Don't validate the frequency table twice
  cpufreq: elanfreq: Don't validate the frequency table twice
  cpufreq: ia64-acpi: Don't validate the frequency table twice
  cpufreq: longhaul: Don't validate the frequency table twice
  cpufreq: mediatek: Don't validate the frequency table twice
  cpufreq: p4-clockmod: Don't validate the frequency table twice
  cpufreq: powernow: Don't validate the frequency table twice
  cpufreq: powerenv: Don't validate the frequency table twice
  cpufreq: ppc_cbe: Don't validate the frequency table twice
  cpufreq: pxa: Don't validate the frequency table twice
  cpufreq: qoirq: Don't validate the frequency table twice
  cpufreq: s3c24xx: Don't validate the frequency table twice
  cpufreq: sc520: Don't validate the frequency table twice
  cpufreq: scpi: Don't validate the frequency table twice
  cpufreq: sfi: Don't validate the frequency table twice
  cpufreq: sh: Don't validate the frequency table twice
  cpufreq: sparc: Don't validate the frequency table twice
  cpufreq: speedstep: Don't validate the frequency table twice
  cpufreq: tegra186: Don't validate the frequency table twice
  cpufreq: Drop cpufreq_table_validate_and_show()

 Documentation/cpu-freq/core.txt        | 12 +++++-------
 Documentation/cpu-freq/cpu-drivers.txt |  6 ++----
 drivers/cpufreq/acpi-cpufreq.c         | 20 +++++++++++---------
 drivers/cpufreq/arm_big_little.c       |  9 +--------
 drivers/cpufreq/blackfin-cpufreq.c     |  3 ++-
 drivers/cpufreq/brcmstb-avs-cpufreq.c  |  6 +-----
 drivers/cpufreq/cpufreq-dt.c           |  8 +-------
 drivers/cpufreq/cpufreq.c              |  9 +--------
 drivers/cpufreq/e_powersaver.c         |  8 +-------
 drivers/cpufreq/elanfreq.c             |  3 ++-
 drivers/cpufreq/freq_table.c           | 14 --------------
 drivers/cpufreq/ia64-acpi-cpufreq.c    |  7 +------
 drivers/cpufreq/imx6q-cpufreq.c        |  7 ++++---
 drivers/cpufreq/longhaul.c             |  3 ++-
 drivers/cpufreq/mediatek-cpufreq.c     | 11 +----------
 drivers/cpufreq/p4-clockmod.c          |  3 ++-
 drivers/cpufreq/powernow-k6.c          |  3 ++-
 drivers/cpufreq/powernow-k7.c          |  3 ++-
 drivers/cpufreq/powernow-k8.c          | 10 +---------
 drivers/cpufreq/powernv-cpufreq.c      | 11 +++--------
 drivers/cpufreq/ppc_cbe_cpufreq.c      |  5 ++---
 drivers/cpufreq/pxa2xx-cpufreq.c       |  4 ++--
 drivers/cpufreq/pxa3xx-cpufreq.c       |  4 +++-
 drivers/cpufreq/qoriq-cpufreq.c        | 13 ++-----------
 drivers/cpufreq/s3c24xx-cpufreq.c      |  5 +----
 drivers/cpufreq/sc520_freq.c           |  3 ++-
 drivers/cpufreq/scpi-cpufreq.c         | 10 +---------
 drivers/cpufreq/sfi-cpufreq.c          |  3 ++-
 drivers/cpufreq/sh-cpufreq.c           | 22 ++++++++++++----------
 drivers/cpufreq/sparc-us2e-cpufreq.c   |  3 ++-
 drivers/cpufreq/sparc-us3-cpufreq.c    |  3 ++-
 drivers/cpufreq/speedstep-centrino.c   |  4 ++--
 drivers/cpufreq/speedstep-ich.c        |  4 +++-
 drivers/cpufreq/speedstep-smi.c        |  4 +++-
 drivers/cpufreq/tegra186-cpufreq.c     |  2 +-
 include/linux/cpufreq.h                |  2 --
 36 files changed, 85 insertions(+), 162 deletions(-)

-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 06/27] cpufreq: brcmstb: Don't validate the frequency table twice
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
@ 2018-02-26  5:08 ` Viresh Kumar
  2018-02-26  5:08 ` [PATCH 12/27] cpufreq: mediatek: " Viresh Kumar
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:08 UTC (permalink / raw)
  To: linux-arm-kernel

The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.

Stop validating the frequency table from brcmstb driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/brcmstb-avs-cpufreq.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/cpufreq/brcmstb-avs-cpufreq.c b/drivers/cpufreq/brcmstb-avs-cpufreq.c
index 7281a2c19c36..6cdac1aaf23c 100644
--- a/drivers/cpufreq/brcmstb-avs-cpufreq.c
+++ b/drivers/cpufreq/brcmstb-avs-cpufreq.c
@@ -902,11 +902,7 @@ static int brcm_avs_cpufreq_init(struct cpufreq_policy *policy)
 		return ret;
 	}
 
-	ret = cpufreq_table_validate_and_show(policy, freq_table);
-	if (ret) {
-		dev_err(dev, "invalid frequency table: %d\n", ret);
-		return ret;
-	}
+	policy->freq_table = freq_table;
 
 	/* All cores share the same clock and thus the same policy. */
 	cpumask_setall(policy->cpus);
-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 12/27] cpufreq: mediatek: Don't validate the frequency table twice
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  2018-02-26  5:08 ` [PATCH 06/27] cpufreq: brcmstb: Don't validate the frequency table twice Viresh Kumar
@ 2018-02-26  5:08 ` Viresh Kumar
  2018-02-26  5:09 ` [PATCH 19/27] cpufreq: s3c24xx: " Viresh Kumar
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:08 UTC (permalink / raw)
  To: linux-arm-kernel

The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.

Stop validating the frequency table from mediatek driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/mediatek-cpufreq.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c
index 84d658d57029..eb8920d39818 100644
--- a/drivers/cpufreq/mediatek-cpufreq.c
+++ b/drivers/cpufreq/mediatek-cpufreq.c
@@ -460,21 +460,12 @@ static int mtk_cpufreq_init(struct cpufreq_policy *policy)
 		return ret;
 	}
 
-	ret = cpufreq_table_validate_and_show(policy, freq_table);
-	if (ret) {
-		pr_err("%s: invalid frequency table: %d\n", __func__, ret);
-		goto out_free_cpufreq_table;
-	}
-
 	cpumask_copy(policy->cpus, &info->cpus);
+	policy->freq_table = freq_table;
 	policy->driver_data = info;
 	policy->clk = info->cpu_clk;
 
 	return 0;
-
-out_free_cpufreq_table:
-	dev_pm_opp_free_cpufreq_table(info->cpu_dev, &freq_table);
-	return ret;
 }
 
 static int mtk_cpufreq_exit(struct cpufreq_policy *policy)
-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 19/27] cpufreq: s3c24xx: Don't validate the frequency table twice
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  2018-02-26  5:08 ` [PATCH 06/27] cpufreq: brcmstb: Don't validate the frequency table twice Viresh Kumar
  2018-02-26  5:08 ` [PATCH 12/27] cpufreq: mediatek: " Viresh Kumar
@ 2018-02-26  5:09 ` Viresh Kumar
  2018-02-26  5:09 ` [PATCH 21/27] cpufreq: scpi: " Viresh Kumar
  2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  4 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:09 UTC (permalink / raw)
  To: linux-arm-kernel

The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.

Stop validating the frequency table from s3c24xx driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/s3c24xx-cpufreq.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/cpufreq/s3c24xx-cpufreq.c b/drivers/cpufreq/s3c24xx-cpufreq.c
index 6bebc1f9f55a..3f0947e119a9 100644
--- a/drivers/cpufreq/s3c24xx-cpufreq.c
+++ b/drivers/cpufreq/s3c24xx-cpufreq.c
@@ -351,11 +351,8 @@ struct clk *s3c_cpufreq_clk_get(struct device *dev, const char *name)
 static int s3c_cpufreq_init(struct cpufreq_policy *policy)
 {
 	policy->clk = clk_arm;
-
 	policy->cpuinfo.transition_latency = cpu_cur.info->latency;
-
-	if (ftab)
-		return cpufreq_table_validate_and_show(policy, ftab);
+	policy->freq_table = ftab;
 
 	return 0;
 }
-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 21/27] cpufreq: scpi: Don't validate the frequency table twice
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
                   ` (2 preceding siblings ...)
  2018-02-26  5:09 ` [PATCH 19/27] cpufreq: s3c24xx: " Viresh Kumar
@ 2018-02-26  5:09 ` Viresh Kumar
  2018-03-12 12:43   ` Sudeep Holla
  2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  4 siblings, 1 reply; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:09 UTC (permalink / raw)
  To: linux-arm-kernel

The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.

Stop validating the frequency table from scpi driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/scpi-cpufreq.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/cpufreq/scpi-cpufreq.c b/drivers/cpufreq/scpi-cpufreq.c
index c32a833e1b00..7b31efe53252 100644
--- a/drivers/cpufreq/scpi-cpufreq.c
+++ b/drivers/cpufreq/scpi-cpufreq.c
@@ -150,13 +150,7 @@ static int scpi_cpufreq_init(struct cpufreq_policy *policy)
 	}
 
 	policy->driver_data = priv;
-
-	ret = cpufreq_table_validate_and_show(policy, freq_table);
-	if (ret) {
-		dev_err(cpu_dev, "%s: invalid frequency table: %d\n", __func__,
-			ret);
-		goto out_put_clk;
-	}
+	policy->freq_table = freq_table;
 
 	/* scpi allows DVFS request for any domain from any CPU */
 	policy->dvfs_possible_from_any_cpu = true;
@@ -170,8 +164,6 @@ static int scpi_cpufreq_init(struct cpufreq_policy *policy)
 	policy->fast_switch_possible = false;
 	return 0;
 
-out_put_clk:
-	clk_put(priv->clk);
 out_free_cpufreq_table:
 	dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table);
 out_free_priv:
-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
                   ` (3 preceding siblings ...)
  2018-02-26  5:09 ` [PATCH 21/27] cpufreq: scpi: " Viresh Kumar
@ 2018-03-09 10:00 ` Viresh Kumar
  4 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-03-09 10:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 26-02-18, 10:38, Viresh Kumar wrote:
> Hi,
> 
> A patchset [1] sent last week already updated the cpufreq core to start
> validating cpufreq table if the policy contains a valid
> "policy->freq_table" pointer.
> 
> This series updates all such drivers to stop validating the cpufreq
> table directly and let only the core handle it.
> 
> It depends on the previous series [1] and two cleanup patches [2][3] and
> is rebased over 4.16-rc3.
> 
> It is already tested by the 0-day testing infrastructure and no issues
> were reported.

We will assume no objections or concerns if you (cc'd here and on the individual
commits) don't respond and the series will then get merged into linux-next next
week.

Thanks.

--
viresh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 21/27] cpufreq: scpi: Don't validate the frequency table twice
  2018-02-26  5:09 ` [PATCH 21/27] cpufreq: scpi: " Viresh Kumar
@ 2018-03-12 12:43   ` Sudeep Holla
  0 siblings, 0 replies; 7+ messages in thread
From: Sudeep Holla @ 2018-03-12 12:43 UTC (permalink / raw)
  To: linux-arm-kernel



On 26/02/18 05:09, Viresh Kumar wrote:
> The cpufreq core is already validating the CPU frequency table after
> calling the ->init() callback of the cpufreq drivers and the drivers
> don't need to do the same anymore. Though they need to set the
> policy->freq_table field directly from the ->init() callback now.
> 
> Stop validating the frequency table from scpi driver.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

FWIW,

Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Sudeep Holla <sudeep.holla@arm.com>

-- 
Regards,
Sudeep

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-03-12 12:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
2018-02-26  5:08 ` [PATCH 06/27] cpufreq: brcmstb: Don't validate the frequency table twice Viresh Kumar
2018-02-26  5:08 ` [PATCH 12/27] cpufreq: mediatek: " Viresh Kumar
2018-02-26  5:09 ` [PATCH 19/27] cpufreq: s3c24xx: " Viresh Kumar
2018-02-26  5:09 ` [PATCH 21/27] cpufreq: scpi: " Viresh Kumar
2018-03-12 12:43   ` Sudeep Holla
2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).