| From foo@baz Fri Nov 2 10:04:04 CET 2018 |
| From: Niklas Cassel <niklas.cassel@linaro.org> |
| Date: Wed, 31 Oct 2018 16:08:10 +0100 |
| Subject: net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules |
| |
| From: Niklas Cassel <niklas.cassel@linaro.org> |
| |
| [ Upstream commit 30549aab146ccb1275230c3b4b4bc6b4181fd54e ] |
| |
| When building stmmac, it is only possible to select CONFIG_DWMAC_GENERIC, |
| or any of the glue drivers, when CONFIG_STMMAC_PLATFORM is set. |
| The only exception is CONFIG_STMMAC_PCI. |
| |
| When calling of_mdiobus_register(), it will call our ->reset() |
| callback, which is set to stmmac_mdio_reset(). |
| |
| Most of the code in stmmac_mdio_reset() is protected by a |
| "#if defined(CONFIG_STMMAC_PLATFORM)", which will evaluate |
| to false when CONFIG_STMMAC_PLATFORM=m. |
| |
| Because of this, the phy reset gpio will only be pulled when |
| stmmac is built as built-in, but not when built as modules. |
| |
| Fix this by using "#if IS_ENABLED()" instead of "#if defined()". |
| |
| Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c |
| +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c |
| @@ -216,7 +216,7 @@ static int stmmac_mdio_write_gmac4(struc |
| */ |
| int stmmac_mdio_reset(struct mii_bus *bus) |
| { |
| -#if defined(CONFIG_STMMAC_PLATFORM) |
| +#if IS_ENABLED(CONFIG_STMMAC_PLATFORM) |
| struct net_device *ndev = bus->priv; |
| struct stmmac_priv *priv = netdev_priv(ndev); |
| unsigned int mii_address = priv->hw->mii.addr; |