[PATCH] clk: davinci: guard da850-specific init data references

Rosen Penev <[email protected]>
Newsgroups org.kernel.vger.linux-clk,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
With COMPILE_TEST support, COMMON_CLK_DAVINCI can be enabled on
architectures without DaVinci support, where COMMON_CLK_DAVINCI_DA850
is not set. pll.c and psc.c unconditionally reference da850 init
functions and init data that are only built with the DA850 option,
resulting in undefined reference link errors.

Guard the da850 entries in the match tables and the CLK_OF_DECLARE
with CONFIG_COMMON_CLK_DAVINCI_DA850.

Reported-by: kernel test robot <[email protected]>
Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Fixes: 34aeb6853fe2 ("clk: davinci: add COMPILE_TEST support")
Assisted-by: opencode:deepseek-v4-flash-free
Signed-off-by: Rosen Penev <[email protected]>
---
 drivers/clk/davinci/pll.c | 6 ++++++
 drivers/clk/davinci/psc.c | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/clk/davinci/pll.c b/drivers/clk/davinci/pll.c
index f73b0ac5d8a0..af95dc27f840 100644
--- a/drivers/clk/davinci/pll.c
+++ b/drivers/clk/davinci/pll.c
@@ -841,17 +841,23 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
 	return 0;
 }
 
+#ifdef CONFIG_COMMON_CLK_DAVINCI_DA850
 /* needed in early boot for clocksource/clockevent */
 CLK_OF_DECLARE(da850_pll0, "ti,da850-pll0", of_da850_pll0_init);
+#endif
 
 static const struct of_device_id davinci_pll_of_match[] = {
+#ifdef CONFIG_COMMON_CLK_DAVINCI_DA850
 	{ .compatible = "ti,da850-pll1", .data = of_da850_pll1_init },
+#endif
 	{ }
 };
 
 static const struct platform_device_id davinci_pll_id_table[] = {
+#ifdef CONFIG_COMMON_CLK_DAVINCI_DA850
 	{ .name = "da850-pll0",  .driver_data = (kernel_ulong_t)da850_pll0_init  },
 	{ .name = "da850-pll1",  .driver_data = (kernel_ulong_t)da850_pll1_init  },
+#endif
 	{ }
 };
 
diff --git a/drivers/clk/davinci/psc.c b/drivers/clk/davinci/psc.c
index ff603520d56f..318c389eb96f 100644
--- a/drivers/clk/davinci/psc.c
+++ b/drivers/clk/davinci/psc.c
@@ -499,14 +499,18 @@ int of_davinci_psc_clk_init(struct device *dev,
 }
 
 static const struct of_device_id davinci_psc_of_match[] = {
+#ifdef CONFIG_COMMON_CLK_DAVINCI_DA850
 	{ .compatible = "ti,da850-psc0", .data = &of_da850_psc0_init_data },
 	{ .compatible = "ti,da850-psc1", .data = &of_da850_psc1_init_data },
+#endif
 	{ }
 };
 
 static const struct platform_device_id davinci_psc_id_table[] = {
+#ifdef CONFIG_COMMON_CLK_DAVINCI_DA850
 	{ .name = "da850-psc0", .driver_data = (kernel_ulong_t)&da850_psc0_init_data },
 	{ .name = "da850-psc1", .driver_data = (kernel_ulong_t)&da850_psc1_init_data },
+#endif
 	{ }
 };
 
-- 
2.55.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.