From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Lezcano Subject: Re: [PATCH v4 8/9] cpufreq: scmi: Use auto-registration of thermal cooling device Date: Mon, 28 Jan 2019 09:39:19 +0100 Message-ID: <49b6cb24-6f38-750d-e652-cc4e47f96db0@linaro.org> References: <81d81c0016fb275728b7b604020c22d8f53991b1.1548654899.git.amit.kucheria@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <81d81c0016fb275728b7b604020c22d8f53991b1.1548654899.git.amit.kucheria@linaro.org> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Amit Kucheria , linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, Sudeep Holla , "Rafael J. Wysocki" , linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org On 28/01/2019 07:41, Amit Kucheria wrote: > Use the CPUFREQ_AUTO_REGISTER_COOLING_DEV flag to allow cpufreq core to > automatically register as a thermal cooling device. > > This allows removal of boiler plate code from the driver. > > Signed-off-by: Amit Kucheria > Acked-by: Sudeep Holla Reviewed-by: Daniel Lezcano > --- > drivers/cpufreq/scmi-cpufreq.c | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-) > > diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c > index 242c3370544e..b19e9d129f8f 100644 > --- a/drivers/cpufreq/scmi-cpufreq.c > +++ b/drivers/cpufreq/scmi-cpufreq.c > @@ -11,7 +11,6 @@ > #include > #include > #include > -#include > #include > #include > #include > @@ -22,7 +21,6 @@ > struct scmi_data { > int domain_id; > struct device *cpu_dev; > - struct thermal_cooling_device *cdev; > }; > > static const struct scmi_handle *handle; > @@ -185,7 +183,6 @@ static int scmi_cpufreq_exit(struct cpufreq_policy *policy) > { > struct scmi_data *priv = policy->driver_data; > > - cpufreq_cooling_unregister(priv->cdev); > dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); > kfree(priv); > dev_pm_opp_remove_all_dynamic(priv->cpu_dev); > @@ -193,17 +190,11 @@ static int scmi_cpufreq_exit(struct cpufreq_policy *policy) > return 0; > } > > -static void scmi_cpufreq_ready(struct cpufreq_policy *policy) > -{ > - struct scmi_data *priv = policy->driver_data; > - > - priv->cdev = of_cpufreq_cooling_register(policy); > -} > - > static struct cpufreq_driver scmi_cpufreq_driver = { > .name = "scmi", > .flags = CPUFREQ_STICKY | CPUFREQ_HAVE_GOVERNOR_PER_POLICY | > - CPUFREQ_NEED_INITIAL_FREQ_CHECK, > + CPUFREQ_NEED_INITIAL_FREQ_CHECK | > + CPUFREQ_AUTO_REGISTER_COOLING_DEV, > .verify = cpufreq_generic_frequency_table_verify, > .attr = cpufreq_generic_attr, > .target_index = scmi_cpufreq_set_target, > @@ -211,7 +202,6 @@ static struct cpufreq_driver scmi_cpufreq_driver = { > .get = scmi_cpufreq_get_rate, > .init = scmi_cpufreq_init, > .exit = scmi_cpufreq_exit, > - .ready = scmi_cpufreq_ready, > }; > > static int scmi_cpufreq_probe(struct scmi_device *sdev) > -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog