There are 2 drivers that have arrays of packed structures that contain
pointers that end up at unaligned offsets.  These produce warnings in
the PowerPC allyesconfig build like this:

WARNING: 148 bad relocations
c00000000e56510b R_PPC64_UADDR64   .rodata+0x0000000001c72378
c00000000e565126 R_PPC64_UADDR64   .rodata+0x0000000001c723c0

They are not drivers that are used on PowerPC (I assume), so mark them
to not be built on PPC64 when CONFIG_RELOCATABLE is enabled.

Cc: Geert Uytterhoeven <geert+rene...@glider.be>
Cc: Michael Turquette <mturque...@baylibre.com>
Cc: Stephen Boyd <sb...@kernel.org>
Cc: Yisen Zhuang <yisen.zhu...@huawei.com>
Cc: Salil Mehta <salil.me...@huawei.com>
Cc: David S. Miller <da...@davemloft.net>
Cc: Jakub Kicinski <k...@kernel.org>
Cc: Nicholas Piggin  <npig...@gmail.com>
Cc: Daniel Axtens <d...@axtens.net>
Cc: Joel Stanley <j...@jms.id.au>
Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au>
---
 drivers/clk/renesas/Kconfig            | 4 ++++
 drivers/net/ethernet/hisilicon/Kconfig | 4 ++++
 2 files changed, 8 insertions(+)

It might be easiest to put this through the PowerPC (fixes?) tree, if
people woulf just sned ACKs, please?

diff --git a/drivers/clk/renesas/Kconfig b/drivers/clk/renesas/Kconfig
index 18915d668a30..53f24a0cad7a 100644
--- a/drivers/clk/renesas/Kconfig
+++ b/drivers/clk/renesas/Kconfig
@@ -151,6 +151,10 @@ config CLK_R8A779A0
        select CLK_RENESAS_CPG_MSSR
 
 config CLK_R9A06G032
+       # PPC64 RELOCATABLE kernels cannot handle relocations to
+       # unaligned locations that are produced by the array of
+       # packed structures in this driver.
+       depends on !(PPC64 && RELOCATABLE)
        bool "Renesas R9A06G032 clock driver"
        help
          This is a driver for R9A06G032 clocks
diff --git a/drivers/net/ethernet/hisilicon/Kconfig 
b/drivers/net/ethernet/hisilicon/Kconfig
index 44f9279cdde1..bf47e504b365 100644
--- a/drivers/net/ethernet/hisilicon/Kconfig
+++ b/drivers/net/ethernet/hisilicon/Kconfig
@@ -102,6 +102,10 @@ config HNS3_HCLGE
        tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility 
Layer Support"
        default m
        depends on PCI_MSI
+       # PPC64 RELOCATABLE kernels cannot handle relocations to
+       # unaligned locations that are produced by the array of
+       # packed structures in this driver.
+       depends on !(PPC64 && RELOCATABLE)
        help
          This selects the HNS3_HCLGE network acceleration engine & its hardware
          compatibility layer. The engine would be used in Hisilicon hip08 
family of
-- 
2.29.2

-- 
Cheers,
Stephen Rothwell

Attachment: pgpwymwT4Ao2z.pgp
Description: OpenPGP digital signature

Reply via email to