2023-06-09 08:29:20

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] clk: samsung: add CONFIG_OF dependency

From: Arnd Bergmann <[email protected]>

When CONFIG_OF is disabled, build testing on x86 runs into a couple of
objtool warnings from functions that unconditionally call panic() but
have no __noreturn annotation:

vmlinux.o: warning: objtool: exynos3250_cmu_isp_probe+0x17: samsung_cmu_register_one() is missing a __noreturn annotation
vmlinux.o: warning: objtool: exynos7885_cmu_probe+0x16: exynos_arm64_register_cmu() is missing a __noreturn annotation
vmlinux.o: warning: objtool: exynos850_cmu_probe+0x16: exynos_arm64_register_cmu() is missing a __noreturn annotation
vmlinux.o: warning: objtool: exynosautov9_cmu_probe+0x16: exynos_arm64_register_cmu() is missing a __noreturn annotation

The objtool analysis is correct, and this could be addressed by just
returning success whenever CONFIG_OF is disabled to let all that code
be eliminated, but since the driver is no use without CONFIG_OF,
just add that as a dependency. It will still get compile tested on
all architectures since CONFIG_OF is enabled in allmodconfig and most
randconfig builds.

Cc: Josh Poimboeuf <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/clk/samsung/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index c07bb50513bfe..76a494e95027a 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -2,6 +2,7 @@
# Recent Exynos platforms should just select COMMON_CLK_SAMSUNG:
config COMMON_CLK_SAMSUNG
bool "Samsung Exynos clock controller support" if COMPILE_TEST
+ depends on OF
select S3C64XX_COMMON_CLK if ARM && ARCH_S3C64XX
select S5PV210_COMMON_CLK if ARM && ARCH_S5PV210
select EXYNOS_3250_COMMON_CLK if ARM && SOC_EXYNOS3250
--
2.39.2



2023-06-12 10:33:10

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] clk: samsung: add CONFIG_OF dependency


On Fri, 09 Jun 2023 10:15:49 +0200, Arnd Bergmann wrote:
> When CONFIG_OF is disabled, build testing on x86 runs into a couple of
> objtool warnings from functions that unconditionally call panic() but
> have no __noreturn annotation:
>
> vmlinux.o: warning: objtool: exynos3250_cmu_isp_probe+0x17: samsung_cmu_register_one() is missing a __noreturn annotation
> vmlinux.o: warning: objtool: exynos7885_cmu_probe+0x16: exynos_arm64_register_cmu() is missing a __noreturn annotation
> vmlinux.o: warning: objtool: exynos850_cmu_probe+0x16: exynos_arm64_register_cmu() is missing a __noreturn annotation
> vmlinux.o: warning: objtool: exynosautov9_cmu_probe+0x16: exynos_arm64_register_cmu() is missing a __noreturn annotation
>
> [...]

Applied, thanks!

[1/1] clk: samsung: add CONFIG_OF dependency
https://git.kernel.org/krzk/linux/c/2aac2d8b95923203e683c60124877ab434133679

Best regards,
--
Krzysztof Kozlowski <[email protected]>