From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: Re: [PATCH net-next 0/8] net: Extend availability of PHY statistics Date: Fri, 27 Apr 2018 10:27:38 -0700 Message-ID: <98af5159-e53d-72a3-c5ec-6c99c347d4ea@gmail.com> References: <20180425191254.3467-1-f.fainelli@gmail.com> <20180427.120002.755188410396902589.davem@davemloft.net> <20180427.121014.155526016617000480.davem@davemloft.net> <20180427.131307.1508236842102601104.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, cphealy@gmail.com, nikita.yoush@cogentembedded.com To: David Miller Return-path: Received: from mail-oi0-f68.google.com ([209.85.218.68]:43690 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758271AbeD0R1m (ORCPT ); Fri, 27 Apr 2018 13:27:42 -0400 Received: by mail-oi0-f68.google.com with SMTP id p62-v6so2239436oie.10 for ; Fri, 27 Apr 2018 10:27:42 -0700 (PDT) In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 04/27/2018 10:19 AM, Florian Fainelli wrote: > > > On 04/27/2018 10:13 AM, David Miller wrote: >> From: David Miller >> Date: Fri, 27 Apr 2018 12:10:14 -0400 (EDT) >> >>> Ugh, this breaks the allmodconfig build. >>> >>> You can't move interfaces to drivers/net/phy/phy.c which are >>> referenced in core networking like net/core/ethtool.c unless you make >>> PHYLIB 'bool' only. >>> >>> net/core/ethtool.o: In function `__ethtool_get_sset_count': >>> ethtool.c:(.text+0x1cd8): undefined reference to `phy_ethtool_get_sset_count' >>> net/core/ethtool.o: In function `dev_ethtool': >>> (.text+0x5407): undefined reference to `phy_ethtool_get_strings' >>> (.text+0x6869): undefined reference to `phy_ethtool_get_sset_count' >>> (.text+0x69b3): undefined reference to `phy_ethtool_get_stats' >>> >>> Please fix this somehow, thanks Florian. >> >> I'm applying this temporary fix to net-next so that I can get work >> down without having to revert all of your changes. > > I forgot to put a static keyword in front of the functions declared > within the else part of the #IS_ENABLED(CONFIG_PHYLIB) in > include/linux/phy.h, will submit a fix for that immediately, *sigh*. Still not enough coffee, what I am suggesting is actually to make the body of the functions be static inline functions within include/net/phy.h that way they get inlined into net/core/ethtool.c and we can keep PHYLIB modular, does that look acceptable? > >> >> ==================== >> [PATCH] phy: Temporary build fix after phylib changes. >> >> Make PHYLIB boolean, because we reference phylib provided symbols now >> from net/core/ethtool.c and therefore 'm' doesn't work. >> >> Signed-off-by: David S. Miller >> --- >> drivers/net/phy/Kconfig | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig >> index edb8b9ab827f..7c5e8c1e9370 100644 >> --- a/drivers/net/phy/Kconfig >> +++ b/drivers/net/phy/Kconfig >> @@ -9,7 +9,6 @@ menuconfig MDIO_DEVICE >> >> config MDIO_BUS >> tristate >> - default m if PHYLIB=m >> default MDIO_DEVICE >> help >> This internal symbol is used for link time dependencies and it >> @@ -171,7 +170,7 @@ config PHYLINK >> autonegotiation modes. >> >> menuconfig PHYLIB >> - tristate "PHY Device support and infrastructure" >> + bool "PHY Device support and infrastructure" >> depends on NETDEVICES >> select MDIO_DEVICE >> help >> > -- Florian