Message ID | 20230607135638.1341101-1-arnd@kernel.org (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [1/2] stmmac: fix pcs_lynx link failure | expand |
On Wed, Jun 07, 2023 at 03:56:32PM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > The mdio code in stmmac now directly links into both the lynx_pcs and > the xpcs device drivers, but the lynx_pcs dependency is only enforced > for the altera variant of stmmac, which is the one that actually uses it. > > Building stmmac for a non-altera platform therefore causes a link > failure: > > arm-linux-gnueabi-ld: drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.o: in function `stmmac_mdio_unregister': > stmmac_mdio.c:(.text+0x1418): undefined reference to `lynx_pcs_destroy' > > I've tried to come up with a patch that moves this dependency back into > the dwmac-socfpga.c file, but there was no easy and obvious way to > do this. It also seems that this would not be a proper solution, but > instead there should be a real abstraction for pcs drivers that lets > device drivers handle this transparently. There is already a patch set on netdev fixing this properly.
On Wed, Jun 07, 2023 at 03:12:00PM +0100, Russell King (Oracle) wrote: > On Wed, Jun 07, 2023 at 03:56:32PM +0200, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > The mdio code in stmmac now directly links into both the lynx_pcs and > > the xpcs device drivers, but the lynx_pcs dependency is only enforced > > for the altera variant of stmmac, which is the one that actually uses it. > > > > Building stmmac for a non-altera platform therefore causes a link > > failure: > > > > arm-linux-gnueabi-ld: drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.o: in function `stmmac_mdio_unregister': > > stmmac_mdio.c:(.text+0x1418): undefined reference to `lynx_pcs_destroy' > > > > I've tried to come up with a patch that moves this dependency back into > > the dwmac-socfpga.c file, but there was no easy and obvious way to > > do this. It also seems that this would not be a proper solution, but > > instead there should be a real abstraction for pcs drivers that lets > > device drivers handle this transparently. > > There is already a patch set on netdev fixing this properly. Yes, let's focus on the solution proposed here: https://lore.kernel.org/netdev/20230607135941.407054-1-maxime.chevallier@bootlin.com/T/#t
diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig index 5583f0b055ec7..fa956f2081a53 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -5,6 +5,7 @@ config STMMAC_ETH depends on PTP_1588_CLOCK_OPTIONAL select MII select PCS_XPCS + select PCS_LYNX select PAGE_POOL select PHYLINK select CRC32 @@ -160,7 +161,6 @@ config DWMAC_SOCFPGA select MFD_SYSCON select MDIO_REGMAP select REGMAP_MMIO - select PCS_LYNX help Support for ethernet controller on Altera SOCFPGA