[PATCH] clk: renesas: rzv2h-cpg: Fix undefined reference to r9a09g057_cpg_info

From: Prabhakar
Date: Mon Aug 05 2024 - 05:59:04 EST


From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>

Address randconfig build issue where the linker reports an undefined
reference to `r9a09g057_cpg_info`. The error occurs when
CONFIG_CLK_R9A09G057 is not defined, leading to the inclusion of the
device match entry without the corresponding data. By adding a
preprocessor condition to the device match table, the entry for
r9a09g057 is included only when CONFIG_CLK_R9A09G057 is defined, thus
resolving the linker error.

Error message:
/usr/bin/ld: warning: .tmp_vmlinux1 has a LOAD segment with RWX permissions
>> /usr/bin/ld: drivers/clk/renesas/rzv2h-cpg.o:(.rodata+0xc0): undefined reference to `r9a09g057_cpg_info'
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202408040932.SqrqyXGU-lkp@xxxxxxxxx/
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
---
drivers/clk/renesas/rzv2h-cpg.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cpg.c
index a12720b4b498..504ee263919e 100644
--- a/drivers/clk/renesas/rzv2h-cpg.c
+++ b/drivers/clk/renesas/rzv2h-cpg.c
@@ -829,10 +829,12 @@ static int __init rzv2h_cpg_probe(struct platform_device *pdev)
}

static const struct of_device_id rzv2h_cpg_match[] = {
+#ifdef CONFIG_CLK_R9A09G057
{
.compatible = "renesas,r9a09g057-cpg",
.data = &r9a09g057_cpg_info,
},
+#endif
{ /* sentinel */ }
};

--
2.34.1