On 5/16/24 01:58, Alexander Lobakin wrote: > From: Florian Fainelli > Date: Wed, 15 May 2024 20:33:45 -0700 > >> Stephen reported that he was unable to get the dsa_loop driver to get >> probed, and the reason ended up being because he had CONFIG_FIXED_PHY=y >> in his kernel configuration. As Masahiro explained it: >> >> "obj-m += dsa/" means everything under dsa/ must be modular. >> >> If there is a built-in object under dsa/ with CONFIG_NET_DSA=m, >> you cannot do "obj-$(CONFIG_NET_DSA) += dsa/". >> >> You need to change it back to "obj-y += dsa/". >> >> This was the case here whereby CONFIG_NET_DSA=m, and so the >> obj-$(CONFIG_FIXED_PHY) += dsa_loop_bdinfo.o rule is not executed and >> the DSA loop mdio_board info structure is not registered with the >> kernel, and eventually the device is simply not found. >> >> Fixes: 227d72063fcc ("dsa: simplify Kconfig symbols and dependencies") >> Reported-by: Stephen Langstaff >> Signed-off-by: Florian Fainelli >> --- >> drivers/net/Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/Makefile b/drivers/net/Makefile >> index 9c053673d6b2..0f6f0f091e0e 100644 >> --- a/drivers/net/Makefile >> +++ b/drivers/net/Makefile >> @@ -49,7 +49,7 @@ obj-$(CONFIG_MHI_NET) += mhi_net.o >> obj-$(CONFIG_ARCNET) += arcnet/ >> obj-$(CONFIG_CAIF) += caif/ >> obj-$(CONFIG_CAN) += can/ >> -obj-$(CONFIG_NET_DSA) += dsa/ >> +obj-y += dsa/ > > obj-$(CONFIG_NET_DSA:m=y) += dsa/ > > ? > > or > > ifdef CONFIG_NET_DSA > obj-y += dsa/ > endif > > I don't like always adding folders even if nothing will be built there > as we then have a lot of folders with just empty built-in.a. Sounds good, I prefer the second version which is clearer IMHO, will spin a v2 in the next few hours. Thanks! -- Florian