[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250520161218.3581272-1-arnd@kernel.org>
Date: Tue, 20 May 2025 18:12:09 +0200
From: Arnd Bergmann <arnd@...nel.org>
To: Claudiu Manoil <claudiu.manoil@....com>,
Vladimir Oltean <vladimir.oltean@....com>,
Wei Fang <wei.fang@....com>,
Clark Wang <xiaoning.wang@....com>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: Arnd Bergmann <arnd@...db.de>,
Heiner Kallweit <hkallweit1@...il.com>,
Frank Li <Frank.Li@....com>,
imx@...ts.linux.dev,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] net: enetc: fix NTMP build dependency
From: Arnd Bergmann <arnd@...db.de>
When the new library driver is in a loadable module, but the enetc
core driver is built-in, the kernel fails to link:
aarch64-linux-ld: drivers/net/ethernet/freescale/enetc/enetc_cbdr.o: in function `enetc4_teardown_cbdr':
enetc_cbdr.c:(.text+0x70): undefined reference to `ntmp_free_cbdr'
aarch64-linux-ld: drivers/net/ethernet/freescale/enetc/enetc_cbdr.o: in function `enetc4_get_rss_table':
enetc_cbdr.c:(.text+0x98): undefined reference to `ntmp_rsst_query_entry'
aarch64-linux-ld: drivers/net/ethernet/freescale/enetc/enetc_cbdr.o: in function `enetc4_set_rss_table':
enetc_cbdr.c:(.text+0xb8): undefined reference to `ntmp_rsst_update_entry'
aarch64-linux-ld: drivers/net/ethernet/freescale/enetc/enetc_cbdr.o: in function `enetc4_setup_cbdr':
enetc_cbdr.c:(.text+0x438): undefined reference to `ntmp_init_cbdr'
Move the ntmp code into the core module itself to avoid this link error.
Fixes: 4701073c3deb ("net: enetc: add initial netc-lib driver to support NTMP")
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
drivers/net/ethernet/freescale/enetc/Kconfig | 2 +-
drivers/net/ethernet/freescale/enetc/Makefile | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/freescale/enetc/Kconfig b/drivers/net/ethernet/freescale/enetc/Kconfig
index e917132d3714..90aa6f6dfd63 100644
--- a/drivers/net/ethernet/freescale/enetc/Kconfig
+++ b/drivers/net/ethernet/freescale/enetc/Kconfig
@@ -16,7 +16,7 @@ config NXP_ENETC_PF_COMMON
If compiled as module (M), the module name is nxp-enetc-pf-common.
config NXP_NETC_LIB
- tristate
+ bool
help
This module provides common functionalities for both ENETC and NETC
Switch, such as NETC Table Management Protocol (NTMP) 2.0, common tc
diff --git a/drivers/net/ethernet/freescale/enetc/Makefile b/drivers/net/ethernet/freescale/enetc/Makefile
index f1c5ad45fd76..0af59f97b7e7 100644
--- a/drivers/net/ethernet/freescale/enetc/Makefile
+++ b/drivers/net/ethernet/freescale/enetc/Makefile
@@ -6,8 +6,7 @@ fsl-enetc-core-y := enetc.o enetc_cbdr.o enetc_ethtool.o
obj-$(CONFIG_NXP_ENETC_PF_COMMON) += nxp-enetc-pf-common.o
nxp-enetc-pf-common-y := enetc_pf_common.o
-obj-$(CONFIG_NXP_NETC_LIB) += nxp-netc-lib.o
-nxp-netc-lib-y := ntmp.o
+fsl-enetc-core-$(CONFIG_NXP_NETC_LIB) += ntmp.o
obj-$(CONFIG_FSL_ENETC) += fsl-enetc.o
fsl-enetc-y := enetc_pf.o
--
2.39.5
Powered by blists - more mailing lists