diff mbox series

cpufreq: scmi: Fix build for !CONFIG_COMMON_CLK

Message ID 20201120101252.1113298-1-sudeep.holla@arm.com
State Accepted
Commit f943849f720689214abb3930623c31ff91990be9
Headers show
Series cpufreq: scmi: Fix build for !CONFIG_COMMON_CLK | expand

Commit Message

Sudeep Holla Nov. 20, 2020, 10:12 a.m. UTC
Commit 8410e7f3b31e ("cpufreq: scmi: Fix OPP addition failure with a
dummy clock provider") registers a dummy clock provider using
devm_of_clk_add_hw_provider. These *_hw_provider functions are defined
only when CONFIG_COMMON_CLK=y. One possible fix is to add the Kconfig
dependency, but since we plan to move away from the clock dependency
for scmi cpufreq, it is preferrable to avoid that.

Let us just conditionally compile out the offending call to
devm_of_clk_add_hw_provider. It also uses the variable 'dev' outside
of the #ifdef block to avoid build warning.

Fixes: 8410e7f3b31e ("cpufreq: scmi: Fix OPP addition failure with a dummy clock provider")
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

---
 drivers/cpufreq/scmi-cpufreq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Hi Viresh,

Addtional change to replace &sdev->dev with dev is to avoid build warning:

drivers/cpufreq/scmi-cpufreq.c: In function ‘scmi_cpufreq_probe’:
drivers/cpufreq/scmi-cpufreq.c:232:17: warning: unused variable ‘dev’ [-Wunused-variable]

Alternatively I can create a block and pull the variable in, but it looked
odd given there is possible user outside the ifdef block which I clearly
missed in the original patch.

Regards,
Sudeep

--
2.25.1

Comments

Viresh Kumar Nov. 23, 2020, 4:49 a.m. UTC | #1
On 20-11-20, 10:12, Sudeep Holla wrote:
> Commit 8410e7f3b31e ("cpufreq: scmi: Fix OPP addition failure with a

> dummy clock provider") registers a dummy clock provider using

> devm_of_clk_add_hw_provider. These *_hw_provider functions are defined

> only when CONFIG_COMMON_CLK=y. One possible fix is to add the Kconfig

> dependency, but since we plan to move away from the clock dependency

> for scmi cpufreq, it is preferrable to avoid that.

> 

> Let us just conditionally compile out the offending call to

> devm_of_clk_add_hw_provider. It also uses the variable 'dev' outside

> of the #ifdef block to avoid build warning.

> 

> Fixes: 8410e7f3b31e ("cpufreq: scmi: Fix OPP addition failure with a dummy clock provider")

> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>

> Cc: Viresh Kumar <viresh.kumar@linaro.org>

> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

> ---

>  drivers/cpufreq/scmi-cpufreq.c | 4 +++-

>  1 file changed, 3 insertions(+), 1 deletion(-)

> 

> Hi Viresh,

> 

> Addtional change to replace &sdev->dev with dev is to avoid build warning:

> 

> drivers/cpufreq/scmi-cpufreq.c: In function ‘scmi_cpufreq_probe’:

> drivers/cpufreq/scmi-cpufreq.c:232:17: warning: unused variable ‘dev’ [-Wunused-variable]

> 

> Alternatively I can create a block and pull the variable in, but it looked

> odd given there is possible user outside the ifdef block which I clearly

> missed in the original patch.

> 

> Regards,

> Sudeep

> 

> diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c

> index 78318508a6d6..8286205c7165 100644

> --- a/drivers/cpufreq/scmi-cpufreq.c

> +++ b/drivers/cpufreq/scmi-cpufreq.c

> @@ -236,13 +236,15 @@ static int scmi_cpufreq_probe(struct scmi_device *sdev)

>  	if (!handle || !handle->perf_ops)

>  		return -ENODEV;

> 

> +#ifdef CONFIG_COMMON_CLK

>  	/* dummy clock provider as needed by OPP if clocks property is used */

>  	if (of_find_property(dev->of_node, "#clock-cells", NULL))

>  		devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, NULL);

> +#endif

> 

>  	ret = cpufreq_register_driver(&scmi_cpufreq_driver);

>  	if (ret) {

> -		dev_err(&sdev->dev, "%s: registering cpufreq failed, err: %d\n",

> +		dev_err(dev, "%s: registering cpufreq failed, err: %d\n",

>  			__func__, ret);

>  	}

> 


Applied. Thanks.

-- 
viresh
diff mbox series

Patch

diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c
index 78318508a6d6..8286205c7165 100644
--- a/drivers/cpufreq/scmi-cpufreq.c
+++ b/drivers/cpufreq/scmi-cpufreq.c
@@ -236,13 +236,15 @@  static int scmi_cpufreq_probe(struct scmi_device *sdev)
 	if (!handle || !handle->perf_ops)
 		return -ENODEV;

+#ifdef CONFIG_COMMON_CLK
 	/* dummy clock provider as needed by OPP if clocks property is used */
 	if (of_find_property(dev->of_node, "#clock-cells", NULL))
 		devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, NULL);
+#endif

 	ret = cpufreq_register_driver(&scmi_cpufreq_driver);
 	if (ret) {
-		dev_err(&sdev->dev, "%s: registering cpufreq failed, err: %d\n",
+		dev_err(dev, "%s: registering cpufreq failed, err: %d\n",
 			__func__, ret);
 	}