2020-10-15 14:49:21

by Randy Dunlap

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

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


Full randconfig file is attached.

--
~Randy
Reported-by: Randy Dunlap <[email protected]>


Attachments:
config-r5641 (125.13 kB)

2020-10-15 15:10:15

by Jose Abreu

[permalink] [raw]
Subject: RE: linux-next: Tree for Oct 15 (drivers/net/pcs/pcs-xpcs.o)

From: Randy Dunlap <[email protected]>
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
>
>
> Full randconfig file is attached.
>
> --
> ~Randy
> Reported-by: Randy Dunlap <[email protected]>

++ Andrew Lunn

---
Thanks,
Jose Miguel Abreu

2020-10-15 18:34:41

by Ioana Ciornei

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

On Thu, Oct 15, 2020 at 03:06:42PM +0000, Jose Abreu wrote:
> From: Randy Dunlap <[email protected]>
> 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

2020-10-15 23:09:52

by Randy Dunlap

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

On 10/15/20 10:02 AM, Ioana Ciornei wrote:
> On Thu, Oct 15, 2020 at 03:06:42PM +0000, Jose Abreu wrote:
>> From: Randy Dunlap <[email protected]>
>> 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.

Hi,
Did you copy-paste this patch? It contains spaces instead of tabs
so it doesn't apply cleanly/easily, but I managed to apply and test it, so

Acked-by: Randy Dunlap <[email protected]> # build-tested

> 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

thanks.

--
~Randy