diff mbox series

cpufreq: scmi: add COMMON_CLK dependency

Message ID 20201203231809.1484631-1-arnd@kernel.org
State New
Headers show
Series cpufreq: scmi: add COMMON_CLK dependency | expand

Commit Message

Arnd Bergmann Dec. 3, 2020, 11:17 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>


Wtihout CONFIG_COMMON_CLK, the scmi driver fails to link:

arm-linux-gnueabi-ld: drivers/cpufreq/scmi-cpufreq.o: in function `scmi_cpufreq_probe':
scmi-cpufreq.c:(.text+0x20c): undefined reference to `devm_of_clk_add_hw_provider'
arm-linux-gnueabi-ld: scmi-cpufreq.c:(.text+0x22c): undefined reference to `of_clk_hw_simple_get'

Add a Kconfig dependency for it.

Fixes: 8410e7f3b31e ("cpufreq: scmi: Fix OPP addition failure with a dummy clock provider")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/cpufreq/Kconfig.arm | 1 +
 1 file changed, 1 insertion(+)

-- 
2.27.0

Comments

Sudeep Holla Dec. 4, 2020, 11:38 a.m. UTC | #1
On Fri, Dec 04, 2020 at 12:17:46AM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>

>

> Wtihout CONFIG_COMMON_CLK, the scmi driver fails to link:

>

> arm-linux-gnueabi-ld: drivers/cpufreq/scmi-cpufreq.o: in function `scmi_cpufreq_probe':

> scmi-cpufreq.c:(.text+0x20c): undefined reference to `devm_of_clk_add_hw_provider'

> arm-linux-gnueabi-ld: scmi-cpufreq.c:(.text+0x22c): undefined reference to `of_clk_hw_simple_get'

>

> Add a Kconfig dependency for it.

>


There is a fix already upstream in later -rc(rc6 IIRC), I assume you are
seeing this prior to that.

Commit f943849f7206 ("cpufreq: scmi: Fix build for !CONFIG_COMMON_CLK")

Since the only dependency on CONFIG_COMMON_CLK is to satisfy OPP adding
dummy clock provider, I avoided adding dependency on CLK for this driver
as this works fine for !CONFIG_COMMON_CLK.

--
Regards,
Sudeep

P.S: There are 2 copies of this patch, I chose to reply on this, other
one is @[1]

[1] https://lore.kernel.org/lkml/20201203225550.1478195-1-arnd@kernel.org
Arnd Bergmann Dec. 4, 2020, 1:46 p.m. UTC | #2
On Fri, Dec 4, 2020 at 12:38 PM Sudeep Holla <sudeep.holla@arm.com> wrote:
>

> On Fri, Dec 04, 2020 at 12:17:46AM +0100, Arnd Bergmann wrote:

> > From: Arnd Bergmann <arnd@arndb.de>

> >

> > Wtihout CONFIG_COMMON_CLK, the scmi driver fails to link:

> >

> > arm-linux-gnueabi-ld: drivers/cpufreq/scmi-cpufreq.o: in function `scmi_cpufreq_probe':

> > scmi-cpufreq.c:(.text+0x20c): undefined reference to `devm_of_clk_add_hw_provider'

> > arm-linux-gnueabi-ld: scmi-cpufreq.c:(.text+0x22c): undefined reference to `of_clk_hw_simple_get'

> >

> > Add a Kconfig dependency for it.

> >

>

> There is a fix already upstream in later -rc(rc6 IIRC), I assume you are

> seeing this prior to that.

>

> Commit f943849f7206 ("cpufreq: scmi: Fix build for !CONFIG_COMMON_CLK")


Ok, I missed that during my rebase.

> Since the only dependency on CONFIG_COMMON_CLK is to satisfy OPP adding

> dummy clock provider, I avoided adding dependency on CLK for this driver

> as this works fine for !CONFIG_COMMON_CLK.


Right. I don't think it makes much difference either way, though I usually
prefer code checks to be written as

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

which helps readability as well as compile coverage. Doesn't matter
here either, since there are only two lines inside.

     Arnd
diff mbox series

Patch

diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 1f73fa75b1a0..434ef03d2762 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -264,6 +264,7 @@  config ARM_SA1110_CPUFREQ
 config ARM_SCMI_CPUFREQ
 	tristate "SCMI based CPUfreq driver"
 	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
+	depends on COMMON_CLK
 	select PM_OPP
 	help
 	  This adds the CPUfreq driver support for ARM platforms using SCMI