Subject: Re: linux-next: Tree for Oct 15 (drivers/net/pcs/pcs-xpcs.o)

From: Ioana Ciornei <[email-masked]>
Date: Thu, 15 Oct 2020 17:02:05 +0000

On Thu, Oct 15, 2020 at 03:06:42PM +0000, Jose Abreu wrote:
> From: Randy Dunlap <[email-masked]>
> Date: Oct/15/2020, 15:45:57 (UTC+00:00)
> 
> > On 10/15/20 12:28 AM, Stephen Rothwell wrote:
> > > Hi all,
> > > 
> > > Since the merge window is open, please do not add any v5.11 material to
> > > your linux-next included branches until after v5.10-rc1 has been released.
> > > 
> > > News: there will be no linux-next releases next Monday or Tuesday.
> > > 
> > > Changes since 20201013:
> > > 
> > 
> > on i386:
> > 
> > ld: drivers/net/pcs/pcs-xpcs.o: in function `xpcs_read':
> > pcs-xpcs.c:(.text+0x29): undefined reference to `mdiobus_read'
> > ld: drivers/net/pcs/pcs-xpcs.o: in function `xpcs_soft_reset.constprop.7':
> > pcs-xpcs.c:(.text+0x80): undefined reference to `mdiobus_write'
> > ld: drivers/net/pcs/pcs-xpcs.o: in function `xpcs_config_aneg':
> > pcs-xpcs.c:(.text+0x318): undefined reference to `mdiobus_write'
> > ld: pcs-xpcs.c:(.text+0x38e): undefined reference to `mdiobus_write'
> > ld: pcs-xpcs.c:(.text+0x3eb): undefined reference to `mdiobus_write'
> > ld: pcs-xpcs.c:(.text+0x437): undefined reference to `mdiobus_write'
> > ld: drivers/net/pcs/pcs-xpcs.o:pcs-xpcs.c:(.text+0xb1e): more undefined references to `mdiobus_write' follow
> > 
> > 

I think this stems from the fact that PHYLIB is configured as a module
which leads to MDIO_BUS being a module as well while the XPCS is still
built-in. What should happen in this configuration is that PCS_XPCS
should be forced to build as module. However, that select only acts in
the opposite way so we should turn it into a depends.

Is the below patch acceptable? If it is, I can submit it properly.

diff --git a/drivers/net/pcs/Kconfig b/drivers/net/pcs/Kconfig
index 074fb3f5db18..22ba7b0b476d 100644
--- a/drivers/net/pcs/Kconfig
+++ b/drivers/net/pcs/Kconfig
@@ -7,8 +7,7 @@ menu "PCS device drivers"

 config PCS_XPCS
        tristate "Synopsys DesignWare XPCS controller"
-       select MDIO_BUS
-       depends on MDIO_DEVICE
+       depends on MDIO_DEVICE && MDIO_BUS
        help
          This module provides helper functions for Synopsys DesignWare XPCS
          controllers.

Ioana