Hi, i have already change the definition of exit in struct cpu_freq_driver in include/linux/cpufreq.h
Lizhe Thanks At 2024-04-10 21:55:56, "Christophe Leroy" <christophe.le...@csgroup.eu> wrote: > > >Le 10/04/2024 à 15:42, lizhe a écrit : >> >> Hi, >> I have already tested it, it is functioning properly, Please review. >> >> *Lizhe* >> >> Thanks >> > >Please don't top-post, see >https://docs.kernel.org/process/submitting-patches.html?highlight=mailing+list+etiquette#use-trimmed-interleaved-replies-in-email-discussions > >Please always post in plain text (ASCII-only), never as an HTML message. > >And still, your changes cannot build without a change in the definition >of exit in struct cpu_freq driver in include/linux/cpufreq.h >Never submit a patch that doesn't build. > >Christophe > >> At 2024-04-10 21:22:47, "Lizhe" <sensor1...@163.com> wrote: >>>For the exit() callback function returning an int type value. >>>this leads many driver authors mistakenly believing that error >>>handling can be performed by returning an error code. However. >>>the returned value is ignore, and to improve this situation. >>>it is proposed to modify the return type of the exit() callback >>>function to void >>> >>>Signed-off-by: Lizhe <sensor1...@163.com> >>>--- >>> drivers/cpufreq/acpi-cpufreq.c | 4 +--- >>> drivers/cpufreq/amd-pstate.c | 7 ++----- >>> drivers/cpufreq/apple-soc-cpufreq.c | 4 +--- >>> drivers/cpufreq/bmips-cpufreq.c | 4 +--- >>> drivers/cpufreq/cppc_cpufreq.c | 3 +-- >>> drivers/cpufreq/cpufreq-dt.c | 3 +-- >>> drivers/cpufreq/e_powersaver.c | 3 +-- >>> drivers/cpufreq/intel_pstate.c | 4 +--- >>> drivers/cpufreq/mediatek-cpufreq-hw.c | 4 +--- >>> drivers/cpufreq/mediatek-cpufreq.c | 4 +--- >>> drivers/cpufreq/omap-cpufreq.c | 3 +-- >>> drivers/cpufreq/pasemi-cpufreq.c | 6 ++---- >>> drivers/cpufreq/powernow-k6.c | 3 +-- >>> drivers/cpufreq/powernow-k7.c | 3 +-- >>> drivers/cpufreq/powernow-k8.c | 4 +--- >>> drivers/cpufreq/powernv-cpufreq.c | 4 +--- >>> drivers/cpufreq/ppc_cbe_cpufreq.c | 3 +-- >>> drivers/cpufreq/qcom-cpufreq-hw.c | 4 +--- >>> drivers/cpufreq/qoriq-cpufreq.c | 4 +--- >>> drivers/cpufreq/scmi-cpufreq.c | 4 +--- >>> drivers/cpufreq/scpi-cpufreq.c | 4 +--- >>> drivers/cpufreq/sh-cpufreq.c | 4 +--- >>> drivers/cpufreq/sparc-us2e-cpufreq.c | 3 +-- >>> drivers/cpufreq/sparc-us3-cpufreq.c | 3 +-- >>> drivers/cpufreq/speedstep-centrino.c | 4 +--- >>> drivers/cpufreq/tegra194-cpufreq.c | 4 +--- >>> drivers/cpufreq/vexpress-spc-cpufreq.c | 3 +-- >>> 27 files changed, 29 insertions(+), 74 deletions(-) >>> >>>diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c >>>index 37f1cdf46d29..33f18140e9a4 100644 >>>--- a/drivers/cpufreq/acpi-cpufreq.c >>>+++ b/drivers/cpufreq/acpi-cpufreq.c >>>@@ -906,7 +906,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy >>>*policy) >>> return result; >>> } >>> >>>-static int acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct acpi_cpufreq_data *data = policy->driver_data; >>> >>>@@ -919,8 +919,6 @@ static int acpi_cpufreq_cpu_exit(struct cpufreq_policy >>>*policy) >>> free_cpumask_var(data->freqdomain_cpus); >>> kfree(policy->freq_table); >>> kfree(data); >>>- >>>- return 0; >>> } >>> >>> static int acpi_cpufreq_resume(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c >>>index 2015c9fcc3c9..60b3d20d5939 100644 >>>--- a/drivers/cpufreq/amd-pstate.c >>>+++ b/drivers/cpufreq/amd-pstate.c >>>@@ -919,7 +919,7 @@ static int amd_pstate_cpu_init(struct cpufreq_policy >>>*policy) >>> return ret; >>> } >>> >>>-static int amd_pstate_cpu_exit(struct cpufreq_policy *policy) >>>+static void amd_pstate_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct amd_cpudata *cpudata = policy->driver_data; >>> >>>@@ -927,8 +927,6 @@ static int amd_pstate_cpu_exit(struct cpufreq_policy >>>*policy) >>> freq_qos_remove_request(&cpudata->req[0]); >>> policy->fast_switch_possible = false; >>> kfree(cpudata); >>>- >>>- return 0; >>> } >>> >>> static int amd_pstate_cpu_resume(struct cpufreq_policy *policy) >>>@@ -1376,10 +1374,9 @@ static int amd_pstate_epp_cpu_init(struct >>>cpufreq_policy *policy) >>> return ret; >>> } >>> >>>-static int amd_pstate_epp_cpu_exit(struct cpufreq_policy *policy) >>>+static void amd_pstate_epp_cpu_exit(struct cpufreq_policy *policy) >>> { >>> pr_debug("CPU %d exiting\n", policy->cpu); >>>- return 0; >>> } >>> >>> static void amd_pstate_epp_update_limit(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/apple-soc-cpufreq.c >>>b/drivers/cpufreq/apple-soc-cpufreq.c >>>index 021f423705e1..af34c22fa273 100644 >>>--- a/drivers/cpufreq/apple-soc-cpufreq.c >>>+++ b/drivers/cpufreq/apple-soc-cpufreq.c >>>@@ -305,7 +305,7 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy >>>*policy) >>> return ret; >>> } >>> >>>-static int apple_soc_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void apple_soc_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> struct apple_cpu_priv *priv = policy->driver_data; >>> >>>@@ -313,8 +313,6 @@ static int apple_soc_cpufreq_exit(struct cpufreq_policy >>>*policy) >>> dev_pm_opp_remove_all_dynamic(priv->cpu_dev); >>> iounmap(priv->reg_base); >>> kfree(priv); >>>- >>>- return 0; >>> } >>> >>> static struct cpufreq_driver apple_soc_cpufreq_driver = { >>>diff --git a/drivers/cpufreq/bmips-cpufreq.c >>>b/drivers/cpufreq/bmips-cpufreq.c >>>index 39221a9a187a..17a4c174553d 100644 >>>--- a/drivers/cpufreq/bmips-cpufreq.c >>>+++ b/drivers/cpufreq/bmips-cpufreq.c >>>@@ -121,11 +121,9 @@ static int bmips_cpufreq_target_index(struct >>>cpufreq_policy *policy, >>> return 0; >>> } >>> >>>-static int bmips_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void bmips_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> kfree(policy->freq_table); >>>- >>>- return 0; >>> } >>> >>> static int bmips_cpufreq_init(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c >>>index 64420d9cfd1e..dccb9c1f087d 100644 >>>--- a/drivers/cpufreq/cppc_cpufreq.c >>>+++ b/drivers/cpufreq/cppc_cpufreq.c >>>@@ -688,7 +688,7 @@ static int cppc_cpufreq_cpu_init(struct cpufreq_policy >>>*policy) >>> return ret; >>> } >>> >>>-static int cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void cppc_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct cppc_cpudata *cpu_data = policy->driver_data; >>> struct cppc_perf_caps *caps = &cpu_data->perf_caps; >>>@@ -705,7 +705,6 @@ static int cppc_cpufreq_cpu_exit(struct cpufreq_policy >>>*policy) >>> caps->lowest_perf, cpu, ret); >>> >>> cppc_cpufreq_put_cpu_data(policy); >>>- return 0; >>> } >>> >>> static inline u64 get_delta(u64 t1, u64 t0) >>>diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c >>>index 2d83bbc65dd0..eaf02579ea74 100644 >>>--- a/drivers/cpufreq/cpufreq-dt.c >>>+++ b/drivers/cpufreq/cpufreq-dt.c >>>@@ -166,10 +166,9 @@ static int cpufreq_offline(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int cpufreq_exit(struct cpufreq_policy *policy) >>>+static void cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> clk_put(policy->clk); >>>- return 0; >>> } >>> >>> static struct cpufreq_driver dt_cpufreq_driver = { >>>diff --git a/drivers/cpufreq/e_powersaver.c b/drivers/cpufreq/e_powersaver.c >>>index ab93bce8ae77..6e958b09e1b5 100644 >>>--- a/drivers/cpufreq/e_powersaver.c >>>+++ b/drivers/cpufreq/e_powersaver.c >>>@@ -360,14 +360,13 @@ static int eps_cpu_init(struct cpufreq_policy *policy) >>> return 0; >>> } >>> >>>-static int eps_cpu_exit(struct cpufreq_policy *policy) >>>+static void eps_cpu_exit(struct cpufreq_policy *policy) >>> { >>> unsigned int cpu = policy->cpu; >>> >>> /* Bye */ >>> kfree(eps_cpu[cpu]); >>> eps_cpu[cpu] = NULL; >>>- return 0; >>> } >>> >>> static struct cpufreq_driver eps_driver = { >>>diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c >>>index dbbf299f4219..aa435d24c20e 100644 >>>--- a/drivers/cpufreq/intel_pstate.c >>>+++ b/drivers/cpufreq/intel_pstate.c >>>@@ -2731,13 +2731,11 @@ static int intel_pstate_cpu_offline(struct >>>cpufreq_policy *policy) >>> return intel_cpufreq_cpu_offline(policy); >>> } >>> >>>-static int intel_pstate_cpu_exit(struct cpufreq_policy *policy) >>>+static void intel_pstate_cpu_exit(struct cpufreq_policy *policy) >>> { >>> pr_debug("CPU %d exiting\n", policy->cpu); >>> >>> policy->fast_switch_possible = false; >>>- >>>- return 0; >>> } >>> >>> static int __intel_pstate_cpu_init(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/mediatek-cpufreq-hw.c >>>b/drivers/cpufreq/mediatek-cpufreq-hw.c >>>index 8d097dcddda4..8925e096d5b9 100644 >>>--- a/drivers/cpufreq/mediatek-cpufreq-hw.c >>>+++ b/drivers/cpufreq/mediatek-cpufreq-hw.c >>>@@ -260,7 +260,7 @@ static int mtk_cpufreq_hw_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int mtk_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy) >>>+static void mtk_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct mtk_cpufreq_data *data = policy->driver_data; >>> struct resource *res = data->res; >>>@@ -270,8 +270,6 @@ static int mtk_cpufreq_hw_cpu_exit(struct cpufreq_policy >>>*policy) >>> writel_relaxed(0x0, data->reg_bases[REG_FREQ_ENABLE]); >>> iounmap(base); >>> release_mem_region(res->start, resource_size(res)); >>>- >>>- return 0; >>> } >>> >>> static void mtk_cpufreq_register_em(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/mediatek-cpufreq.c >>>b/drivers/cpufreq/mediatek-cpufreq.c >>>index a0a61919bc4c..aba34fb7948e 100644 >>>--- a/drivers/cpufreq/mediatek-cpufreq.c >>>+++ b/drivers/cpufreq/mediatek-cpufreq.c >>>@@ -599,13 +599,11 @@ static int mtk_cpufreq_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int mtk_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void mtk_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> struct mtk_cpu_dvfs_info *info = policy->driver_data; >>> >>> dev_pm_opp_free_cpufreq_table(info->cpu_dev, &policy->freq_table); >>>- >>>- return 0; >>> } >>> >>> static struct cpufreq_driver mtk_cpufreq_driver = { >>>diff --git a/drivers/cpufreq/omap-cpufreq.c b/drivers/cpufreq/omap-cpufreq.c >>>index 895690856665..3458d5cc9b7f 100644 >>>--- a/drivers/cpufreq/omap-cpufreq.c >>>+++ b/drivers/cpufreq/omap-cpufreq.c >>>@@ -135,11 +135,10 @@ static int omap_cpu_init(struct cpufreq_policy *policy) >>> return 0; >>> } >>> >>>-static int omap_cpu_exit(struct cpufreq_policy *policy) >>>+static void omap_cpu_exit(struct cpufreq_policy *policy) >>> { >>> freq_table_free(); >>> clk_put(policy->clk); >>>- return 0; >>> } >>> >>> static struct cpufreq_driver omap_driver = { >>>diff --git a/drivers/cpufreq/pasemi-cpufreq.c >>>b/drivers/cpufreq/pasemi-cpufreq.c >>>index 039a66bbe1be..ee925b53b6b9 100644 >>>--- a/drivers/cpufreq/pasemi-cpufreq.c >>>+++ b/drivers/cpufreq/pasemi-cpufreq.c >>>@@ -204,21 +204,19 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy >>>*policy) >>> return err; >>> } >>> >>>-static int pas_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void pas_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> /* >>> * We don't support CPU hotplug. Don't unmap after the system >>> * has already made it to a running state. >>> */ >>> if (system_state >= SYSTEM_RUNNING) >>>- return 0; >>>+ return; >>> >>> if (sdcasr_mapbase) >>> iounmap(sdcasr_mapbase); >>> if (sdcpwr_mapbase) >>> iounmap(sdcpwr_mapbase); >>>- >>>- return 0; >>> } >>> >>> static int pas_cpufreq_target(struct cpufreq_policy *policy, >>>diff --git a/drivers/cpufreq/powernow-k6.c b/drivers/cpufreq/powernow-k6.c >>>index 41eefef95d87..156bec6c5420 100644 >>>--- a/drivers/cpufreq/powernow-k6.c >>>+++ b/drivers/cpufreq/powernow-k6.c >>>@@ -219,7 +219,7 @@ static int powernow_k6_cpu_init(struct cpufreq_policy >>>*policy) >>> } >>> >>> >>>-static int powernow_k6_cpu_exit(struct cpufreq_policy *policy) >>>+static void powernow_k6_cpu_exit(struct cpufreq_policy *policy) >>> { >>> unsigned int i; >>> >>>@@ -237,7 +237,6 @@ static int powernow_k6_cpu_exit(struct cpufreq_policy >>>*policy) >>> break; >>> } >>> } >>>- return 0; >>> } >>> >>> static unsigned int powernow_k6_get(unsigned int cpu) >>>diff --git a/drivers/cpufreq/powernow-k7.c b/drivers/cpufreq/powernow-k7.c >>>index 5d515fc34836..4271446c8725 100644 >>>--- a/drivers/cpufreq/powernow-k7.c >>>+++ b/drivers/cpufreq/powernow-k7.c >>>@@ -644,7 +644,7 @@ static int powernow_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int powernow_cpu_exit(struct cpufreq_policy *policy) >>>+static void powernow_cpu_exit(struct cpufreq_policy *policy) >>> { >>> #ifdef CONFIG_X86_POWERNOW_K7_ACPI >>> if (acpi_processor_perf) { >>>@@ -655,7 +655,6 @@ static int powernow_cpu_exit(struct cpufreq_policy >>>*policy) >>> #endif >>> >>> kfree(powernow_table); >>>- return 0; >>> } >>> >>> static struct cpufreq_driver powernow_driver = { >>>diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c >>>index b10f7a1b77f1..5e663c3a6736 100644 >>>--- a/drivers/cpufreq/powernow-k8.c >>>+++ b/drivers/cpufreq/powernow-k8.c >>>@@ -1089,7 +1089,7 @@ static int powernowk8_cpu_init(struct cpufreq_policy >>>*pol) >>> return -ENODEV; >>> } >>> >>>-static int powernowk8_cpu_exit(struct cpufreq_policy *pol) >>>+static void powernowk8_cpu_exit(struct cpufreq_policy *pol) >>> { >>> struct powernow_k8_data *data = per_cpu(powernow_data, pol->cpu); >>> int cpu; >>>@@ -1104,8 +1104,6 @@ static int powernowk8_cpu_exit(struct cpufreq_policy >>>*pol) >>> /* pol->cpus will be empty here, use related_cpus instead. */ >>> for_each_cpu(cpu, pol->related_cpus) >>> per_cpu(powernow_data, cpu) = NULL; >>>- >>>- return 0; >>> } >>> >>> static void query_values_on_cpu(void *_err) >>>diff --git a/drivers/cpufreq/powernv-cpufreq.c >>>b/drivers/cpufreq/powernv-cpufreq.c >>>index fddbd1ea1635..50c62929f7ca 100644 >>>--- a/drivers/cpufreq/powernv-cpufreq.c >>>+++ b/drivers/cpufreq/powernv-cpufreq.c >>>@@ -874,7 +874,7 @@ static int powernv_cpufreq_cpu_init(struct >>>cpufreq_policy *policy) >>> return 0; >>> } >>> >>>-static int powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct powernv_smp_call_data freq_data; >>> struct global_pstate_info *gpstates = policy->driver_data; >>>@@ -886,8 +886,6 @@ static int powernv_cpufreq_cpu_exit(struct >>>cpufreq_policy *policy) >>> del_timer_sync(&gpstates->timer); >>> >>> kfree(policy->driver_data); >>>- >>>- return 0; >>> } >>> >>> static int powernv_cpufreq_reboot_notifier(struct notifier_block *nb, >>>diff --git a/drivers/cpufreq/ppc_cbe_cpufreq.c >>>b/drivers/cpufreq/ppc_cbe_cpufreq.c >>>index 88afc49941b7..5ee4c7bfdcc5 100644 >>>--- a/drivers/cpufreq/ppc_cbe_cpufreq.c >>>+++ b/drivers/cpufreq/ppc_cbe_cpufreq.c >>>@@ -113,10 +113,9 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int cbe_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void cbe_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> cbe_cpufreq_pmi_policy_exit(policy); >>>- return 0; >>> } >>> >>> static int cbe_cpufreq_target(struct cpufreq_policy *policy, >>>diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c >>>b/drivers/cpufreq/qcom-cpufreq-hw.c >>>index 70b0f21968a0..bb818111162d 100644 >>>--- a/drivers/cpufreq/qcom-cpufreq-hw.c >>>+++ b/drivers/cpufreq/qcom-cpufreq-hw.c >>>@@ -573,7 +573,7 @@ static int qcom_cpufreq_hw_cpu_init(struct >>>cpufreq_policy *policy) >>> return qcom_cpufreq_hw_lmh_init(policy, index); >>> } >>> >>>-static int qcom_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy) >>>+static void qcom_cpufreq_hw_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct device *cpu_dev = get_cpu_device(policy->cpu); >>> struct qcom_cpufreq_data *data = policy->driver_data; >>>@@ -583,8 +583,6 @@ static int qcom_cpufreq_hw_cpu_exit(struct >>>cpufreq_policy *policy) >>> qcom_cpufreq_hw_lmh_exit(data); >>> kfree(policy->freq_table); >>> kfree(data); >>>- >>>- return 0; >>> } >>> >>> static void qcom_cpufreq_ready(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/qoriq-cpufreq.c >>>b/drivers/cpufreq/qoriq-cpufreq.c >>>index 0aecaecbb0e6..3519bf34d397 100644 >>>--- a/drivers/cpufreq/qoriq-cpufreq.c >>>+++ b/drivers/cpufreq/qoriq-cpufreq.c >>>@@ -225,7 +225,7 @@ static int qoriq_cpufreq_cpu_init(struct cpufreq_policy >>>*policy) >>> return -ENODEV; >>> } >>> >>>-static int qoriq_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void qoriq_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> struct cpu_data *data = policy->driver_data; >>> >>>@@ -233,8 +233,6 @@ static int qoriq_cpufreq_cpu_exit(struct cpufreq_policy >>>*policy) >>> kfree(data->table); >>> kfree(data); >>> policy->driver_data = NULL; >>>- >>>- return 0; >>> } >>> >>> static int qoriq_cpufreq_target(struct cpufreq_policy *policy, >>>diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c >>>index 3b4f6bfb2f4c..bf5f17f0dfb1 100644 >>>--- a/drivers/cpufreq/scmi-cpufreq.c >>>+++ b/drivers/cpufreq/scmi-cpufreq.c >>>@@ -308,7 +308,7 @@ static int scmi_cpufreq_init(struct cpufreq_policy >>>*policy) >>> return ret; >>> } >>> >>>-static int scmi_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void scmi_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> struct scmi_data *priv = policy->driver_data; >>> >>>@@ -316,8 +316,6 @@ static int scmi_cpufreq_exit(struct cpufreq_policy >>>*policy) >>> dev_pm_opp_remove_all_dynamic(priv->cpu_dev); >>> free_cpumask_var(priv->opp_shared_cpus); >>> kfree(priv); >>>- >>>- return 0; >>> } >>> >>> static void scmi_cpufreq_register_em(struct cpufreq_policy *policy) >>>diff --git a/drivers/cpufreq/scpi-cpufreq.c b/drivers/cpufreq/scpi-cpufreq.c >>>index d33be56983ed..8d73e6e8be2a 100644 >>>--- a/drivers/cpufreq/scpi-cpufreq.c >>>+++ b/drivers/cpufreq/scpi-cpufreq.c >>>@@ -167,7 +167,7 @@ static int scpi_cpufreq_init(struct cpufreq_policy >>>*policy) >>> return ret; >>> } >>> >>>-static int scpi_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void scpi_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> struct scpi_data *priv = policy->driver_data; >>> >>>@@ -175,8 +175,6 @@ static int scpi_cpufreq_exit(struct cpufreq_policy >>>*policy) >>> dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); >>> dev_pm_opp_remove_all_dynamic(priv->cpu_dev); >>> kfree(priv); >>>- >>>- return 0; >>> } >>> >>> static struct cpufreq_driver scpi_cpufreq_driver = { >>>diff --git a/drivers/cpufreq/sh-cpufreq.c b/drivers/cpufreq/sh-cpufreq.c >>>index b8704232c27b..aa74036d0420 100644 >>>--- a/drivers/cpufreq/sh-cpufreq.c >>>+++ b/drivers/cpufreq/sh-cpufreq.c >>>@@ -135,14 +135,12 @@ static int sh_cpufreq_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int sh_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>>+static void sh_cpufreq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> unsigned int cpu = policy->cpu; >>> struct clk *cpuclk = &per_cpu(sh_cpuclk, cpu); >>> >>> clk_put(cpuclk); >>>- >>>- return 0; >>> } >>> >>> static struct cpufreq_driver sh_cpufreq_driver = { >>>diff --git a/drivers/cpufreq/sparc-us2e-cpufreq.c >>>b/drivers/cpufreq/sparc-us2e-cpufreq.c >>>index 2783d3d55fce..8a0cd5312a59 100644 >>>--- a/drivers/cpufreq/sparc-us2e-cpufreq.c >>>+++ b/drivers/cpufreq/sparc-us2e-cpufreq.c >>>@@ -296,10 +296,9 @@ static int us2e_freq_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int us2e_freq_cpu_exit(struct cpufreq_policy *policy) >>>+static void us2e_freq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> us2e_freq_target(policy, 0); >>>- return 0; >>> } >>> >>> static struct cpufreq_driver cpufreq_us2e_driver = { >>>diff --git a/drivers/cpufreq/sparc-us3-cpufreq.c >>>b/drivers/cpufreq/sparc-us3-cpufreq.c >>>index 6c3657679a88..b50f9d13e6d2 100644 >>>--- a/drivers/cpufreq/sparc-us3-cpufreq.c >>>+++ b/drivers/cpufreq/sparc-us3-cpufreq.c >>>@@ -140,10 +140,9 @@ static int us3_freq_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int us3_freq_cpu_exit(struct cpufreq_policy *policy) >>>+static void us3_freq_cpu_exit(struct cpufreq_policy *policy) >>> { >>> us3_freq_target(policy, 0); >>>- return 0; >>> } >>> >>> static struct cpufreq_driver cpufreq_us3_driver = { >>>diff --git a/drivers/cpufreq/speedstep-centrino.c >>>b/drivers/cpufreq/speedstep-centrino.c >>>index 75b10ecdb60f..28e65bcf7242 100644 >>>--- a/drivers/cpufreq/speedstep-centrino.c >>>+++ b/drivers/cpufreq/speedstep-centrino.c >>>@@ -400,7 +400,7 @@ static int centrino_cpu_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int centrino_cpu_exit(struct cpufreq_policy *policy) >>>+static void centrino_cpu_exit(struct cpufreq_policy *policy) >>> { >>> unsigned int cpu = policy->cpu; >>> >>>@@ -408,8 +408,6 @@ static int centrino_cpu_exit(struct cpufreq_policy >>>*policy) >>> return -ENODEV; >>> >>> per_cpu(centrino_model, cpu) = NULL; >>>- >>>- return 0; >>> } >>> >>> /** >>>diff --git a/drivers/cpufreq/tegra194-cpufreq.c >>>b/drivers/cpufreq/tegra194-cpufreq.c >>>index 59865ea455a8..07ea7ed61b68 100644 >>>--- a/drivers/cpufreq/tegra194-cpufreq.c >>>+++ b/drivers/cpufreq/tegra194-cpufreq.c >>>@@ -551,14 +551,12 @@ static int tegra194_cpufreq_offline(struct >>>cpufreq_policy *policy) >>> return 0; >>> } >>> >>>-static int tegra194_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void tegra194_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> struct device *cpu_dev = get_cpu_device(policy->cpu); >>> >>> dev_pm_opp_remove_all_dynamic(cpu_dev); >>> dev_pm_opp_of_cpumask_remove_table(policy->related_cpus); >>>- >>>- return 0; >>> } >>> >>> static int tegra194_cpufreq_set_target(struct cpufreq_policy *policy, >>>diff --git a/drivers/cpufreq/vexpress-spc-cpufreq.c >>>b/drivers/cpufreq/vexpress-spc-cpufreq.c >>>index 9ac4ea50b874..b2a42cdb9582 100644 >>>--- a/drivers/cpufreq/vexpress-spc-cpufreq.c >>>+++ b/drivers/cpufreq/vexpress-spc-cpufreq.c >>>@@ -447,7 +447,7 @@ static int ve_spc_cpufreq_init(struct cpufreq_policy >>>*policy) >>> return 0; >>> } >>> >>>-static int ve_spc_cpufreq_exit(struct cpufreq_policy *policy) >>>+static void ve_spc_cpufreq_exit(struct cpufreq_policy *policy) >>> { >>> struct device *cpu_dev; >>> >>>@@ -459,7 +459,6 @@ static int ve_spc_cpufreq_exit(struct cpufreq_policy >>>*policy) >>> } >>> >>> put_cluster_clk_and_freq_table(cpu_dev, policy->related_cpus); >>>- return 0; >>> } >>> >>> static struct cpufreq_driver ve_spc_cpufreq_driver = { >>>-- >>>2.25.1 >>