drivers/clk/aspeed/Kconfig | 1 + 1 file changed, 1 insertion(+)
The AST2700 clock driver also exposes the SoC reset controller: it hands
its register base to a reset auxiliary device via
devm_auxiliary_device_create(), which the separate ASPEED reset driver
(RESET_ASPEED) then binds to. That create call needs the auxiliary bus
core (AUXILIARY_BUS), not the reset driver itself, but COMMON_CLK_AST2700
does not select AUXILIARY_BUS.
It builds today only because RESET_ASPEED selects AUXILIARY_BUS and is
normally enabled alongside the clock driver. On a randconfig with
COMMON_CLK_AST2700=y and RESET_ASPEED=n, nothing pulls the auxiliary bus
in and the kernel fails to link:
ld: drivers/clk/aspeed/clk-ast2700.o: in function `ast2700_soc_clk_probe':
clk-ast2700.c:(.text+0x147c): undefined reference to `__devm_auxiliary_device_create'
Select AUXILIARY_BUS directly, as other clock drivers that create
auxiliary devices do, so it builds regardless of the reset driver.
Fixes: fdc1eb624ddc ("clk: aspeed: add AST2700 clock driver")
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
---
drivers/clk/aspeed/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/aspeed/Kconfig b/drivers/clk/aspeed/Kconfig
index ef50481c31ff..2f505eb3ca95 100644
--- a/drivers/clk/aspeed/Kconfig
+++ b/drivers/clk/aspeed/Kconfig
@@ -15,6 +15,7 @@ config COMMON_CLK_ASPEED
config COMMON_CLK_AST2700
bool "Clock driver for AST2700 SoC"
depends on ARCH_ASPEED || COMPILE_TEST
+ select AUXILIARY_BUS
help
This driver provides support for clock on AST2700 SoC.
The driver is responsible for managing the various clocks required
--
2.39.5 (Apple Git-154)
On Sun, 2026-07-12 at 18:03 +0200, Karl Mehltretter wrote:
> The AST2700 clock driver also exposes the SoC reset controller: it hands
> its register base to a reset auxiliary device via
> devm_auxiliary_device_create(), which the separate ASPEED reset driver
> (RESET_ASPEED) then binds to. That create call needs the auxiliary bus
> core (AUXILIARY_BUS), not the reset driver itself, but COMMON_CLK_AST2700
> does not select AUXILIARY_BUS.
>
> It builds today only because RESET_ASPEED selects AUXILIARY_BUS and is
> normally enabled alongside the clock driver. On a randconfig with
> COMMON_CLK_AST2700=y and RESET_ASPEED=n, nothing pulls the auxiliary bus
> in and the kernel fails to link:
>
> ld: drivers/clk/aspeed/clk-ast2700.o: in function `ast2700_soc_clk_probe':
> clk-ast2700.c:(.text+0x147c): undefined reference to `__devm_auxiliary_device_create'
>
> Select AUXILIARY_BUS directly, as other clock drivers that create
> auxiliary devices do, so it builds regardless of the reset driver.
>
> Fixes: fdc1eb624ddc ("clk: aspeed: add AST2700 clock driver")
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
On Sun, Jul 12, 2026 at 06:03:01PM +0200, Karl Mehltretter wrote:
> The AST2700 clock driver also exposes the SoC reset controller: it hands
> its register base to a reset auxiliary device via
> devm_auxiliary_device_create(), which the separate ASPEED reset driver
> (RESET_ASPEED) then binds to. That create call needs the auxiliary bus
> core (AUXILIARY_BUS), not the reset driver itself, but COMMON_CLK_AST2700
> does not select AUXILIARY_BUS.
>
> It builds today only because RESET_ASPEED selects AUXILIARY_BUS and is
> normally enabled alongside the clock driver. On a randconfig with
> COMMON_CLK_AST2700=y and RESET_ASPEED=n, nothing pulls the auxiliary bus
> in and the kernel fails to link:
>
> ld: drivers/clk/aspeed/clk-ast2700.o: in function `ast2700_soc_clk_probe':
> clk-ast2700.c:(.text+0x147c): undefined reference to `__devm_auxiliary_device_create'
>
> Select AUXILIARY_BUS directly, as other clock drivers that create
> auxiliary devices do, so it builds regardless of the reset driver.
>
> Fixes: fdc1eb624ddc ("clk: aspeed: add AST2700 clock driver")
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
© 2016 - 2026 Red Hat, Inc.