]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cpufreq: Make cpufreq_driver->exit() return void
authorLizhe <sensor1010@163.com>
Thu, 4 Jul 2024 06:53:55 +0000 (12:23 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Tue, 9 Jul 2024 03:15:30 +0000 (08:45 +0530)
The cpufreq core doesn't check the return type of the exit() callback
and there is not much the core can do on failures at that point. Just
drop the returned value and make it return void.

Signed-off-by: Lizhe <sensor1010@163.com>
[ Viresh: Reworked the patches to fix all missing changes together. ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> # Mediatek
Acked-by: Sudeep Holla <sudeep.holla@arm.com> # scpi, scmi, vexpress
Acked-by: Mario Limonciello <mario.limonciello@amd.com> # amd
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> # bmips
Acked-by: Rafael J. Wysocki <rafael@kernel.org>
Acked-by: Kevin Hilman <khilman@baylibre.com> # omap
28 files changed:
drivers/cpufreq/acpi-cpufreq.c
drivers/cpufreq/amd-pstate.c
drivers/cpufreq/apple-soc-cpufreq.c
drivers/cpufreq/bmips-cpufreq.c
drivers/cpufreq/cppc_cpufreq.c
drivers/cpufreq/cpufreq-dt.c
drivers/cpufreq/e_powersaver.c
drivers/cpufreq/intel_pstate.c
drivers/cpufreq/mediatek-cpufreq-hw.c
drivers/cpufreq/mediatek-cpufreq.c
drivers/cpufreq/omap-cpufreq.c
drivers/cpufreq/pasemi-cpufreq.c
drivers/cpufreq/powernow-k6.c
drivers/cpufreq/powernow-k7.c
drivers/cpufreq/powernow-k8.c
drivers/cpufreq/powernv-cpufreq.c
drivers/cpufreq/ppc_cbe_cpufreq.c
drivers/cpufreq/qcom-cpufreq-hw.c
drivers/cpufreq/qoriq-cpufreq.c
drivers/cpufreq/scmi-cpufreq.c
drivers/cpufreq/scpi-cpufreq.c
drivers/cpufreq/sh-cpufreq.c
drivers/cpufreq/sparc-us2e-cpufreq.c
drivers/cpufreq/sparc-us3-cpufreq.c
drivers/cpufreq/speedstep-centrino.c
drivers/cpufreq/tegra194-cpufreq.c
drivers/cpufreq/vexpress-spc-cpufreq.c
include/linux/cpufreq.h

index 37f1cdf46d291800c6ff5487a96abacebb8dc43f..33f18140e9a46c982422fef56049c5d4ab5a7731 100644 (file)
@@ -906,7 +906,7 @@ err_free:
        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)
index 1b7e82a0ad2e62f4e0f3e520bfa9408888bc4434..b9d1ba2ebe5a1c87a0ce015c540720ccc6af0afc 100644 (file)
@@ -983,7 +983,7 @@ free_cpudata1:
        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;
 
@@ -991,8 +991,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)
@@ -1439,7 +1437,7 @@ free_cpudata1:
        return ret;
 }
 
-static int amd_pstate_epp_cpu_exit(struct cpufreq_policy *policy)
+static void amd_pstate_epp_cpu_exit(struct cpufreq_policy *policy)
 {
        struct amd_cpudata *cpudata = policy->driver_data;
 
@@ -1449,7 +1447,6 @@ static int 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)
index 021f423705e1b14a59d76e85170001cd483b1f59..af34c22fa273dad8fa96f60844c4fac6ea7db5d5 100644 (file)
@@ -305,7 +305,7 @@ out_iounmap:
        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 = {
index 39221a9a187a79d2cb3c25e7bb6c0c8d39fa88e1..17a4c174553d36093b3ab98f2da69d8aa8216e05 100644 (file)
@@ -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)
index 9095fd5f8c2d741612146f78a76efceaff399db8..bafa32dd375d5e162a8b31339e5a2f37c163e0dc 100644 (file)
@@ -683,7 +683,7 @@ out:
        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;
@@ -700,7 +700,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)
index 907e22632fda866738695bbfa9cd28374f95d563..6532c4d713382535606b87dc8a7779fbac139eca 100644 (file)
@@ -157,10 +157,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 = {
index ab93bce8ae77d9573319f793961d4cb8b6fced8d..6e958b09e1b524d2fca514ed06b7ad7a2b7d43d5 100644 (file)
@@ -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 = {
index 4b986c044741eda32d5e93f9457c7b606ccfacc0..7ce39cc4f30ce3a35d56f74e5ef5cce29387a343 100644 (file)
@@ -2694,13 +2694,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)
@@ -3031,7 +3029,7 @@ pstate_exit:
        return ret;
 }
 
-static int intel_cpufreq_cpu_exit(struct cpufreq_policy *policy)
+static void intel_cpufreq_cpu_exit(struct cpufreq_policy *policy)
 {
        struct freq_qos_request *req;
 
@@ -3041,7 +3039,7 @@ static int intel_cpufreq_cpu_exit(struct cpufreq_policy *policy)
        freq_qos_remove_request(req);
        kfree(req);
 
-       return intel_pstate_cpu_exit(policy);
+       intel_pstate_cpu_exit(policy);
 }
 
 static int intel_cpufreq_suspend(struct cpufreq_policy *policy)
index 8d097dcddda47df298a6ceba2f92dfd5e27c6cb8..8925e096d5b9a0becd22b63c7be54462045501d8 100644 (file)
@@ -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)
index 518606adf14e03c41d8d0125c64c521dc656e306..102cfaa3b7e586579fb828550e2b73955bfc6fa1 100644 (file)
@@ -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 = {
index 895690856665d16aa0bbe992e8a30d706e57e929..3458d5cc9b7f2d3a723a13f8a7cec0e585186a0f 100644 (file)
@@ -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 = {
index 039a66bbe1bef2e6c0a1d5931bd3a0b891514b46..ee925b53b6b928f251b4927a8a8a7f63a1bcd140 100644 (file)
@@ -204,21 +204,19 @@ out:
        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,
index 41eefef95d873f6e5f8b5a183db2b6d1e5373c8a..f0a4a6c3120490605879f92d3520aaf11f848f00 100644 (file)
@@ -219,7 +219,7 @@ have_busfreq:
 }
 
 
-static int powernow_k6_cpu_exit(struct cpufreq_policy *policy)
+static void powernow_k6_cpu_exit(struct cpufreq_policy *policy)
 {
        unsigned int i;
 
@@ -234,10 +234,9 @@ static int powernow_k6_cpu_exit(struct cpufreq_policy *policy)
                        cpufreq_freq_transition_begin(policy, &freqs);
                        powernow_k6_target(policy, i);
                        cpufreq_freq_transition_end(policy, &freqs, 0);
-                       break;
+                       return;
                }
        }
-       return 0;
 }
 
 static unsigned int powernow_k6_get(unsigned int cpu)
index 5d515fc348364c36f24b15ef02630730480e0fca..4271446c872582326eb9802a48f81a901f379a96 100644 (file)
@@ -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 = {
index b10f7a1b77f113c99c0afc018f458f0e83ac7092..a01170f7d01c163665211424e9cee497a6c0f1cd 100644 (file)
@@ -1089,13 +1089,13 @@ err_out:
        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;
 
        if (!data)
-               return -EINVAL;
+               return;
 
        powernow_k8_cpu_exit_acpi(data);
 
@@ -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)
index fddbd1ea163551dc71466f48d3fbf691d1d0a87f..50c62929f7ca6cc9da599ad42d947d5b4b2f18e2 100644 (file)
@@ -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,
index 88afc49941b7165ba2949477d6179b06b54fcf38..5ee4c7bfdcc536939da8cac61edaf592188d42ba 100644 (file)
@@ -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,
index ec8df5496a0cf8a1d820357aea3d326472c0f361..370fe6a0104b6ce254a6d06ed74b9a4d67b30491 100644 (file)
@@ -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)
index 0aecaecbb0e67f78c86246ab98bf57deba4a547d..3519bf34d3970ae916da908dde46abd7cf3a6e1d 100644 (file)
@@ -225,7 +225,7 @@ err_np:
        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,
index b87fd127aa43306affea8deed862b9c8a11357d3..5892c73e129d2be7e2095d7df8cda1cd76e03558 100644 (file)
@@ -308,7 +308,7 @@ out_free_priv:
        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)
index d33be56983ed37299a464d1e964e5b068236cda8..8d73e6e8be2a58c767d4f78fc28cf0058c0d0493 100644 (file)
@@ -167,7 +167,7 @@ out_free_opp:
        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 = {
index b8704232c27b24f34f80d1344bcf10324969e4d6..aa74036d0420e4a7b8429ea186a593b9548f67e2 100644 (file)
@@ -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 = {
index 2783d3d55fceeefeb80e3ec8bc5ccddaceff671a..8a0cd5312a593ae648a39a343a7a6b4ef78bcbe8 100644 (file)
@@ -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 = {
index 6c3657679a88089bad00319c8517e4524af45126..b50f9d13e6d266f5ecbea5042dec5c9b08dadcab 100644 (file)
@@ -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 = {
index 75b10ecdb60f28b15786a0e677553ec147785b1e..0eb51fb73a8037415728adc1add64016541f433e 100644 (file)
@@ -400,16 +400,12 @@ 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;
 
-       if (!per_cpu(centrino_model, cpu))
-               return -ENODEV;
-
-       per_cpu(centrino_model, cpu) = NULL;
-
-       return 0;
+       if (per_cpu(centrino_model, cpu))
+               per_cpu(centrino_model, cpu) = NULL;
 }
 
 /**
index 59865ea455a8e07c53721dbb5b5c9307ec478b18..07ea7ed61b687c8f2e618c1a0d6a5fff4f0ade24 100644 (file)
@@ -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,
index 9ac4ea50b8746f29c736e0e8c48d980e7737d203..3fadf536c42981501e436584711e3bb068a5cdb4 100644 (file)
@@ -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;
 
@@ -455,11 +455,10 @@ static int ve_spc_cpufreq_exit(struct cpufreq_policy *policy)
        if (!cpu_dev) {
                pr_err("%s: failed to get cpu%d device\n", __func__,
                       policy->cpu);
-               return -ENODEV;
+               return;
        }
 
        put_cluster_clk_and_freq_table(cpu_dev, policy->related_cpus);
-       return 0;
 }
 
 static struct cpufreq_driver ve_spc_cpufreq_driver = {
index 20f7e98ee8af9027b69435267fbc8c4a39476da4..e3b3face913421f7bc33d7a74c6e8861ab75fda1 100644 (file)
@@ -396,7 +396,7 @@ struct cpufreq_driver {
 
        int             (*online)(struct cpufreq_policy *policy);
        int             (*offline)(struct cpufreq_policy *policy);
-       int             (*exit)(struct cpufreq_policy *policy);
+       void            (*exit)(struct cpufreq_policy *policy);
        int             (*suspend)(struct cpufreq_policy *policy);
        int             (*resume)(struct cpufreq_policy *policy);