netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ixgbe / mdio dependancy error
@ 2019-01-02 15:48 Dave Jones
  2019-01-02 16:16 ` Jeff Kirsher
  2019-01-02 17:19 ` Jeff Kirsher
  0 siblings, 2 replies; 7+ messages in thread
From: Dave Jones @ 2019-01-02 15:48 UTC (permalink / raw)
  To: netdev
  Cc: Stephen Douthit, Andrew Lunn, Florian Fainelli, Andrew Bowers,
	Jeff Kirsher

If you build IXGBE=y, and MDIO_BUS=y, we currently fail the build like so:

  MODPOST vmlinux.o
drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function `ixgbe_mdio_read':
/mnt/data/src/kernel/git-trees/linux-dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8801: undefined reference to `mdiobus_read'
drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function `ixgbe_remove':
/mnt/data/src/kernel/git-trees/linux-dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:11198: undefined reference to `mdiobus_unregister'
drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function `ixgbe_mdio_write':
/mnt/data/src/kernel/git-trees/linux-dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8824: undefined reference to `mdiobus_write'
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o: In function `devm_mdiobus_alloc':
/mnt/data/src/kernel/git-trees/linux-dj/./include/linux/phy.h:264: undefined reference to `devm_mdiobus_alloc_size'
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o: In function `ixgbe_mii_bus_init':
/mnt/data/src/kernel/git-trees/linux-dj/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c:955: undefined reference to `devm_mdiobus_free'
/mnt/data/src/kernel/git-trees/linux-dj/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c:952: undefined reference to `__mdiobus_register'
Makefile:1027: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1


full .config is at http://paste.debian.net/1058334/

	Dave

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ixgbe / mdio dependancy error
  2019-01-02 15:48 ixgbe / mdio dependancy error Dave Jones
@ 2019-01-02 16:16 ` Jeff Kirsher
  2019-01-02 17:19 ` Jeff Kirsher
  1 sibling, 0 replies; 7+ messages in thread
From: Jeff Kirsher @ 2019-01-02 16:16 UTC (permalink / raw)
  To: Dave Jones, netdev
  Cc: Stephen Douthit, Andrew Lunn, Florian Fainelli, Andrew Bowers

[-- Attachment #1: Type: text/plain, Size: 1715 bytes --]

On Wed, 2019-01-02 at 10:48 -0500, Dave Jones wrote:
> If you build IXGBE=y, and MDIO_BUS=y, we currently fail the build
> like so:
> 
>   MODPOST vmlinux.o
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function
> `ixgbe_mdio_read':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8801: undefined
> reference to `mdiobus_read'
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function
> `ixgbe_remove':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:11198: undefined
> reference to `mdiobus_unregister'
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function
> `ixgbe_mdio_write':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8824: undefined
> reference to `mdiobus_write'
> drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o: In function
> `devm_mdiobus_alloc':
> /mnt/data/src/kernel/git-trees/linux-dj/./include/linux/phy.h:264:
> undefined reference to `devm_mdiobus_alloc_size'
> drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o: In function
> `ixgbe_mii_bus_init':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c:955: undefined
> reference to `devm_mdiobus_free'
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c:952: undefined
> reference to `__mdiobus_register'
> Makefile:1027: recipe for target 'vmlinux' failed
> make: *** [vmlinux] Error 1
> 
> 
> full .config is at http://paste.debian.net/1058334/

Hmm, did not see this in our compile testing.  I am having our
validation team look further into this, to see if there is gap in our
testing.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ixgbe / mdio dependancy error
  2019-01-02 15:48 ixgbe / mdio dependancy error Dave Jones
  2019-01-02 16:16 ` Jeff Kirsher
@ 2019-01-02 17:19 ` Jeff Kirsher
  2019-01-02 23:30   ` Steve Douthit
  1 sibling, 1 reply; 7+ messages in thread
From: Jeff Kirsher @ 2019-01-02 17:19 UTC (permalink / raw)
  To: Dave Jones, netdev
  Cc: Stephen Douthit, Andrew Lunn, Florian Fainelli, Andrew Bowers

[-- Attachment #1: Type: text/plain, Size: 1730 bytes --]

On Wed, 2019-01-02 at 10:48 -0500, Dave Jones wrote:
> If you build IXGBE=y, and MDIO_BUS=y, we currently fail the build
> like so:
> 
>   MODPOST vmlinux.o
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function
> `ixgbe_mdio_read':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8801: undefined
> reference to `mdiobus_read'
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function
> `ixgbe_remove':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:11198: undefined
> reference to `mdiobus_unregister'
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.o: In function
> `ixgbe_mdio_write':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:8824: undefined
> reference to `mdiobus_write'
> drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o: In function
> `devm_mdiobus_alloc':
> /mnt/data/src/kernel/git-trees/linux-dj/./include/linux/phy.h:264:
> undefined reference to `devm_mdiobus_alloc_size'
> drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o: In function
> `ixgbe_mii_bus_init':
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c:955: undefined
> reference to `devm_mdiobus_free'
> /mnt/data/src/kernel/git-trees/linux-
> dj/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c:952: undefined
> reference to `__mdiobus_register'
> Makefile:1027: recipe for target 'vmlinux' failed
> make: *** [vmlinux] Error 1
> 
> 
> full .config is at http://paste.debian.net/1058334/

This is because PHYLIB=m which forces MDIO_BUS=m.  If you have IXGBE=y,
then PHYLIB and MDIO_BUS can't be modules.  Working on a patch to
correct the issue.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ixgbe / mdio dependancy error
  2019-01-02 17:19 ` Jeff Kirsher
@ 2019-01-02 23:30   ` Steve Douthit
  2019-01-02 23:38     ` Jeff Kirsher
  2019-01-02 23:42     ` Florian Fainelli
  0 siblings, 2 replies; 7+ messages in thread
From: Steve Douthit @ 2019-01-02 23:30 UTC (permalink / raw)
  To: jeffrey.t.kirsher@intel.com, Dave Jones, netdev@vger.kernel.org
  Cc: Andrew Lunn, Florian Fainelli, Andrew Bowers

> This is because PHYLIB=m which forces MDIO_BUS=m.  If you have IXGBE=y,
> then PHYLIB and MDIO_BUS can't be modules.  Working on a patch to
> correct the issue.

There was a review comment to select MDIO_DEVICE instead of PHYLIB.
PHYLIB seems correct to me now that I'm looking at this again though.  I
came up empty looking for any other drivers that select MDIO_DEVICE.

The objection was that DSA devices wouldn't need the PHYLIB API, so why
force it to be built-in.  NET_DSA selects PHYLINK which selects PHYLIB.
I think we're ok going back to select PHYLIB if that was the only
problem.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ixgbe / mdio dependancy error
  2019-01-02 23:30   ` Steve Douthit
@ 2019-01-02 23:38     ` Jeff Kirsher
  2019-01-02 23:42     ` Florian Fainelli
  1 sibling, 0 replies; 7+ messages in thread
From: Jeff Kirsher @ 2019-01-02 23:38 UTC (permalink / raw)
  To: Steve Douthit, Dave Jones, netdev@vger.kernel.org
  Cc: Andrew Lunn, Florian Fainelli, Andrew Bowers

[-- Attachment #1: Type: text/plain, Size: 1075 bytes --]

On Wed, 2019-01-02 at 23:30 +0000, Steve Douthit wrote:
> > This is because PHYLIB=m which forces MDIO_BUS=m.  If you have
> > IXGBE=y,
> > then PHYLIB and MDIO_BUS can't be modules.  Working on a patch to
> > correct the issue.
> 
> There was a review comment to select MDIO_DEVICE instead of PHYLIB.
> PHYLIB seems correct to me now that I'm looking at this again
> though.  I
> came up empty looking for any other drivers that select MDIO_DEVICE.
> 
> The objection was that DSA devices wouldn't need the PHYLIB API, so
> why
> force it to be built-in.  NET_DSA selects PHYLINK which selects
> PHYLIB.
> I think we're ok going back to select PHYLIB if that was the only
> problem.

Unfortunately, we get into a recursive dependency issue when IPSec gets
involved, and IPSec is enabled by default.

I am looking at making MDIO_BUS support for ixgbe an option like IPSec,
DCB, DCA and HWMON.  Where a user can select the option to have
MDIO_BUS support for DSA devices, that way we can add the requirement
that it requires !(IXGBE=y && MDIO_BUS=m).

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ixgbe / mdio dependancy error
  2019-01-02 23:30   ` Steve Douthit
  2019-01-02 23:38     ` Jeff Kirsher
@ 2019-01-02 23:42     ` Florian Fainelli
  2019-01-02 23:46       ` Jeff Kirsher
  1 sibling, 1 reply; 7+ messages in thread
From: Florian Fainelli @ 2019-01-02 23:42 UTC (permalink / raw)
  To: Steve Douthit, jeffrey.t.kirsher@intel.com, Dave Jones,
	netdev@vger.kernel.org
  Cc: Andrew Lunn, Andrew Bowers

On 1/2/19 3:30 PM, Steve Douthit wrote:
>> This is because PHYLIB=m which forces MDIO_BUS=m.  If you have IXGBE=y,
>> then PHYLIB and MDIO_BUS can't be modules.  Working on a patch to
>> correct the issue.
> 
> There was a review comment to select MDIO_DEVICE instead of PHYLIB.
> PHYLIB seems correct to me now that I'm looking at this again though.  I
> came up empty looking for any other drivers that select MDIO_DEVICE.
> 
> The objection was that DSA devices wouldn't need the PHYLIB API, so why
> force it to be built-in.  NET_DSA selects PHYLINK which selects PHYLIB.
> I think we're ok going back to select PHYLIB if that was the only
> problem.

Apologies if this was a slightly misguided recommendation, I have to
admit, I did not consider a case where ixgbe would not be modular while
everything else it would now depend on is.

There is a similar pattern with any driver that e.g: has a HWMON
capability in that you must add something like:

depends on !FOO=y && DEPS=m or something like that.
-- 
Florian

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: ixgbe / mdio dependancy error
  2019-01-02 23:42     ` Florian Fainelli
@ 2019-01-02 23:46       ` Jeff Kirsher
  0 siblings, 0 replies; 7+ messages in thread
From: Jeff Kirsher @ 2019-01-02 23:46 UTC (permalink / raw)
  To: Florian Fainelli, Steve Douthit, Dave Jones,
	netdev@vger.kernel.org
  Cc: Andrew Lunn, Andrew Bowers

[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]

On Wed, 2019-01-02 at 15:42 -0800, Florian Fainelli wrote:
> On 1/2/19 3:30 PM, Steve Douthit wrote:
> > > This is because PHYLIB=m which forces MDIO_BUS=m.  If you have
> > > IXGBE=y,
> > > then PHYLIB and MDIO_BUS can't be modules.  Working on a patch to
> > > correct the issue.
> > 
> > There was a review comment to select MDIO_DEVICE instead of PHYLIB.
> > PHYLIB seems correct to me now that I'm looking at this again
> > though.  I
> > came up empty looking for any other drivers that select
> > MDIO_DEVICE.
> > 
> > The objection was that DSA devices wouldn't need the PHYLIB API, so
> > why
> > force it to be built-in.  NET_DSA selects PHYLINK which selects
> > PHYLIB.
> > I think we're ok going back to select PHYLIB if that was the only
> > problem.
> 
> Apologies if this was a slightly misguided recommendation, I have to
> admit, I did not consider a case where ixgbe would not be modular
> while
> everything else it would now depend on is.
> 
> There is a similar pattern with any driver that e.g: has a HWMON
> capability in that you must add something like:
> 
> depends on !FOO=y && DEPS=m or something like that.

Yes, and DCA has that same format, which is what I am working on.  Just
means that all the code added by Steve will need to be wrapped with the
config option.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-01-02 23:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-02 15:48 ixgbe / mdio dependancy error Dave Jones
2019-01-02 16:16 ` Jeff Kirsher
2019-01-02 17:19 ` Jeff Kirsher
2019-01-02 23:30   ` Steve Douthit
2019-01-02 23:38     ` Jeff Kirsher
2019-01-02 23:42     ` Florian Fainelli
2019-01-02 23:46       ` Jeff Kirsher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).