From: Simon Horman <simon.horman@corigine.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Tom Rix <trix@redhat.com>,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, steen.hegelund@microchip.com,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net: lan743x: LAN743X selects FIXED_PHY to resolve a link error
Date: Mon, 20 Feb 2023 07:46:13 +0100 [thread overview]
Message-ID: <Y/MXNWKrrI3aRju+@corigine.com> (raw)
In-Reply-To: <Y/LKpsjteUAXVIb0@lunn.ch>
On Mon, Feb 20, 2023 at 02:19:34AM +0100, Andrew Lunn wrote:
> On Sun, Feb 19, 2023 at 07:16:07PM +0100, Simon Horman wrote:
> > On Sun, Feb 19, 2023 at 10:03:21AM -0500, Tom Rix wrote:
> > > A rand config causes this link error
> > > drivers/net/ethernet/microchip/lan743x_main.o: In function `lan743x_netdev_open':
> > > drivers/net/ethernet/microchip/lan743x_main.c:1512: undefined reference to `fixed_phy_register'
> > >
> > > lan743x_netdev_open is controlled by LAN743X
> > > fixed_phy_register is controlled by FIXED_PHY
> > >
> > > So LAN743X should also select FIXED_PHY
> > >
> > > Signed-off-by: Tom Rix <trix@redhat.com>
> >
> > Hi Tom,
> >
> > I am a little confused by this.
> >
> > I did manage to cook up a config with LAN743X=m and FIXED_PHY not set.
> > But I do not see a build failure, and I believe that is because
> > when FIXED_PHY is not set then a stub version of fixed_phy_register(),
> > defined as static inline in include/linux/phy_fixed.h, is used.
> >
> > Ref: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/include/linux/phy_fixed.h?h=main&id=675f176b4dcc2b75adbcea7ba0e9a649527f53bd#n42
>
> I'n guessing, but it could be that LAN743X is built in, and FIXED_PHY
> is a module? What might be needed is
>
> depends on FIXED_PHY || FIXED_PHY=n
Thanks Andrew,
LAN743X=y and FIXED_PHY=m does indeed produce the problem that Tom
describes. And his patch does appear to resolve the problem.
Unfortunately your proposed solution seems to run foul of a complex
dependency situation.
$ make
...
drivers/net/ethernet/microchip/Kconfig:45:error: recursive dependency detected!
drivers/net/ethernet/microchip/Kconfig:45: symbol LAN743X depends on FIXED_PHY
drivers/net/phy/Kconfig:48: symbol FIXED_PHY depends on PHYLIB
drivers/net/phy/Kconfig:16: symbol PHYLIB is selected by LAN743X
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"
next prev parent reply other threads:[~2023-02-20 6:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-19 15:03 [PATCH] net: lan743x: LAN743X selects FIXED_PHY to resolve a link error Tom Rix
2023-02-19 18:16 ` Simon Horman
2023-02-20 1:19 ` Andrew Lunn
2023-02-20 6:46 ` Simon Horman [this message]
2023-02-21 2:29 ` Andrew Lunn
2023-02-21 16:20 ` Simon Horman
2023-02-26 15:15 ` Tom Rix
2023-02-27 8:37 ` Arnd Bergmann
2023-02-27 12:05 ` Simon Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y/MXNWKrrI3aRju+@corigine.com \
--to=simon.horman@corigine.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=steen.hegelund@microchip.com \
--cc=trix@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.