* [PATCH] [net-next] net: dsa: netc: fix enetc dependencies
@ 2026-05-26 10:26 Arnd Bergmann
2026-05-26 11:03 ` Wei Fang
0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2026-05-26 10:26 UTC (permalink / raw)
To: Wei Fang, Claudiu Manoil, Clark Wang, Christophe Leroy (CS GROUP)
Cc: Arnd Bergmann, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, imx, netdev,
linux-kernel, linuxppc-dev, linux-arm-kernel
From: Arnd Bergmann <arnd@arndb.de>
The newly added netc dsa support has incorrect Kconfig dependencies,
leading to Kconfig and link failures:
WARNING: unmet direct dependencies detected for FSL_ENETC_MDIO
Depends on [n]: NETDEVICES [=y] && ETHERNET [=n] && NET_VENDOR_FREESCALE [=n] && PCI [=y] && PHYLIB [=y]
Selected by [y]:
- NET_DSA_NETC_SWITCH [=y] && NETDEVICES [=y] && (ARM64 || COMPILE_TEST [=y]) && NET_DSA [=y] && PCI [=y]
WARNING: unmet direct dependencies detected for NXP_NTMP
Depends on [n]: NETDEVICES [=y] && ETHERNET [=n] && NET_VENDOR_FREESCALE [=n]
Selected by [m]:
- NET_DSA_NETC_SWITCH [=m] && NETDEVICES [=y] && (ARM64 || COMPILE_TEST [=y]) && NET_DSA [=m] && PCI [=y]
ERROR: modpost: "enetc_mdio_read_c22" [drivers/net/dsa/netc/nxp-netc-switch.ko] undefined!
ERROR: modpost: "ntmp_fdbt_delete_entry" [drivers/net/dsa/netc/nxp-netc-switch.ko] undefined!
ERROR: modpost: "enetc_mdio_read_c45" [drivers/net/dsa/netc/nxp-netc-switch.ko] undefined!
Add the required 'NET_VENDOR_FREESCALE' dependency to make it possible
to select both the PHY and NTMP library modules. Originally this was
meant to be done through an 'IS_REACHABLE' check in the header file,
but that did not work because the drivers/net/ethernet/freescale
directory is not even entered in this case. IS_REACHABLE() is generally
counterproductive because even when it works as intended, it turns
a helpful link-time error into a silent runtime failure that is
harder to debug. In this case, it clearly did not even do anything.
Fixes: 187fbae024c8 ("net: dsa: netc: introduce NXP NETC switch driver for i.MX94")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/net/dsa/netc/Kconfig | 1 +
include/linux/fsl/enetc_mdio.h | 22 ----------------------
2 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/drivers/net/dsa/netc/Kconfig b/drivers/net/dsa/netc/Kconfig
index d2f78d74ac23..eaad3cb5babe 100644
--- a/drivers/net/dsa/netc/Kconfig
+++ b/drivers/net/dsa/netc/Kconfig
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config NET_DSA_NETC_SWITCH
tristate "NXP NETC Ethernet switch support"
+ depends on NET_VENDOR_FREESCALE
depends on ARM64 || COMPILE_TEST
depends on NET_DSA && PCI
select NET_DSA_TAG_NETC
diff --git a/include/linux/fsl/enetc_mdio.h b/include/linux/fsl/enetc_mdio.h
index 623ccfcbf39c..7cd5be694cc4 100644
--- a/include/linux/fsl/enetc_mdio.h
+++ b/include/linux/fsl/enetc_mdio.h
@@ -35,8 +35,6 @@ struct enetc_mdio_priv {
int mdio_base;
};
-#if IS_REACHABLE(CONFIG_FSL_ENETC_MDIO)
-
int enetc_mdio_read_c22(struct mii_bus *bus, int phy_id, int regnum);
int enetc_mdio_write_c22(struct mii_bus *bus, int phy_id, int regnum,
u16 value);
@@ -45,24 +43,4 @@ int enetc_mdio_write_c45(struct mii_bus *bus, int phy_id, int devad, int regnum,
u16 value);
struct enetc_hw *enetc_hw_alloc(struct device *dev, void __iomem *port_regs);
-#else
-
-static inline int enetc_mdio_read_c22(struct mii_bus *bus, int phy_id,
- int regnum)
-{ return -EINVAL; }
-static inline int enetc_mdio_write_c22(struct mii_bus *bus, int phy_id,
- int regnum, u16 value)
-{ return -EINVAL; }
-static inline int enetc_mdio_read_c45(struct mii_bus *bus, int phy_id,
- int devad, int regnum)
-{ return -EINVAL; }
-static inline int enetc_mdio_write_c45(struct mii_bus *bus, int phy_id,
- int devad, int regnum, u16 value)
-{ return -EINVAL; }
-static inline struct enetc_hw *enetc_hw_alloc(struct device *dev,
- void __iomem *port_regs)
-{ return ERR_PTR(-EINVAL); }
-
-#endif
-
#endif
--
2.39.5
^ permalink raw reply related [flat|nested] 3+ messages in thread* RE: [PATCH] [net-next] net: dsa: netc: fix enetc dependencies
2026-05-26 10:26 [PATCH] [net-next] net: dsa: netc: fix enetc dependencies Arnd Bergmann
@ 2026-05-26 11:03 ` Wei Fang
2026-05-26 12:39 ` Arnd Bergmann
0 siblings, 1 reply; 3+ messages in thread
From: Wei Fang @ 2026-05-26 11:03 UTC (permalink / raw)
To: Arnd Bergmann, Claudiu Manoil, Clark Wang,
Christophe Leroy (CS GROUP)
Cc: Arnd Bergmann, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, imx@lists.linux.dev,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
> Add the required 'NET_VENDOR_FREESCALE' dependency to make it possible
> to select both the PHY and NTMP library modules. Originally this was
> meant to be done through an 'IS_REACHABLE' check in the header file,
> but that did not work because the drivers/net/ethernet/freescale
> directory is not even entered in this case. IS_REACHABLE() is generally
> counterproductive because even when it works as intended, it turns
> a helpful link-time error into a silent runtime failure that is
> harder to debug. In this case, it clearly did not even do anything.
>
Hi Arnd,
Thanks for fix this issue, I have sent a patch last Sunday.
Link: https://lore.kernel.org/netdev/20260524070310.2429819-1-wei.fang@nxp.com/
I think the solution should simply be to add
"depends on NET_VENDOR_FREESCALE", right? The changes in
enetc_mdio.h seem more like improvements to me.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] [net-next] net: dsa: netc: fix enetc dependencies
2026-05-26 11:03 ` Wei Fang
@ 2026-05-26 12:39 ` Arnd Bergmann
0 siblings, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2026-05-26 12:39 UTC (permalink / raw)
To: Wei Fang, Arnd Bergmann, Claudiu Manoil, Clark Wang,
Christophe Leroy
Cc: Andrew Lunn, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, imx@lists.linux.dev, Netdev,
linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
On Tue, May 26, 2026, at 13:03, Wei Fang wrote:
>
> Thanks for fix this issue, I have sent a patch last Sunday.
> Link: https://lore.kernel.org/netdev/20260524070310.2429819-1-wei.fang@nxp.com/
>
> I think the solution should simply be to add
> "depends on NET_VENDOR_FREESCALE", right? The changes in
> enetc_mdio.h seem more like improvements to me.
Yes, the added dependency is sufficient. I removed the other
change only because that was intended as a workaround
for the same problem but was incorrect.
Arnd
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-26 12:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-26 10:26 [PATCH] [net-next] net: dsa: netc: fix enetc dependencies Arnd Bergmann
2026-05-26 11:03 ` Wei Fang
2026-05-26 12:39 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox