Re: [PATCH net v2] net: Always descend into dsa/ folder with CONFIG_NET_DSA enabled

From: Alexander Lobakin
Date: Fri May 17 2024 - 11:19:39 EST


From: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
Date: Thu, 16 May 2024 09:56:30 -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.
>
> To preserve the intention of the original commit of limiting the amount
> of folder descending, conditionally descend into drivers/net/dsa when
> CONFIG_NET_DSA is enabled.
>
> Fixes: 227d72063fcc ("dsa: simplify Kconfig symbols and dependencies")
> Reported-by: Stephen Langstaff <stephenlangstaff1@xxxxxxxxx>
> Signed-off-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>

Reviewed-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>

> ---
> Changes in v2:
>
> - conditionally descend into the dsa folder based upon CONFIG_NET_DSA
> - change subject a bit to reflect the change
>
> drivers/net/Makefile | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/Makefile b/drivers/net/Makefile
> index 9c053673d6b2..13743d0e83b5 100644
> --- a/drivers/net/Makefile
> +++ b/drivers/net/Makefile
> @@ -49,7 +49,9 @@ obj-$(CONFIG_MHI_NET) += mhi_net.o
> obj-$(CONFIG_ARCNET) += arcnet/
> obj-$(CONFIG_CAIF) += caif/
> obj-$(CONFIG_CAN) += can/
> -obj-$(CONFIG_NET_DSA) += dsa/
> +ifdef CONFIG_NET_DSA
> +obj-y += dsa/
> +endif
> obj-$(CONFIG_ETHERNET) += ethernet/
> obj-$(CONFIG_FDDI) += fddi/
> obj-$(CONFIG_HIPPI) += hippi/

Thanks,
Olek