Subject: Re: [PATCH] net: stmmac: Fix stmmac_mdio_unregister() build errors

From: Maciej Fijalkowski <[email-masked]>
Date: Wed, 7 Jun 2023 13:55:41 +0200

On Wed, Jun 07, 2023 at 05:34:40PM +0800, Feiyang Chen wrote:
> When CONFIG_PCS_LYNX is not set, lynx_pcs_destroy() will not be
> exported. Add #ifdef CONFIG_PCS_LYNX around that code to avoid
> build errors like these:
> 
> ld: drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.o: in function `stmmac_mdio_unregister':
> stmmac_mdio.c:(.text+0x1440): undefined reference to `lynx_pcs_destroy'
> 
> Reported-by: Yanteng Si <[email-masked]>
> Fixes: 5d1f3fe7d2d5 ("net: stmmac: dwmac-sogfpga: use the lynx pcs driver")
> Signed-off-by: Feiyang Chen <[email-masked]>
> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> index c784a6731f08..c1a23846a01c 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> @@ -665,8 +665,10 @@ int stmmac_mdio_unregister(struct net_device *ndev)
>  	if (priv->hw->xpcs)
>  		xpcs_destroy(priv->hw->xpcs);
>  
> +#ifdef CONFIG_PCS_LYNX

wouldn't it be better to provide a stub of lynx_pcs_destroy() for
!CONFIG_PCS_LYNX ? otherwise all of the users will have to surrounded with
this ifdef.

>  	if (priv->hw->lynx_pcs)
>  		lynx_pcs_destroy(priv->hw->lynx_pcs);
> +#endif
>  
>  	mdiobus_unregister(priv->mii);
>  	priv->mii->priv = NULL;
> -- 
> 2.39.3
> 
>