Skip to content

Commit

Permalink
Revert "stmmac: Fix 'eth0: No PHY found' regression"
Browse files Browse the repository at this point in the history
This reverts commit 88f8b1b.
due to problems on GeekBox and Banana Pi M1 board when
connected to a real transceiver instead of a switch via
fixed-link.

Signed-off-by: Giuseppe Cavallaro <[email protected]>
Cc: Gabriel Fernandez <[email protected]>
Cc: Andreas Färber <[email protected]>
Cc: Frank Schäfer <[email protected]>
Cc: Dinh Nguyen <[email protected]>
Cc: David S. Miller <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Giuseppe CAVALLARO authored and davem330 committed Apr 1, 2016
1 parent a00e3ab commit d7e944c
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
11 changes: 10 additions & 1 deletion drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -199,12 +199,21 @@ int stmmac_mdio_register(struct net_device *ndev)
struct stmmac_priv *priv = netdev_priv(ndev);
struct stmmac_mdio_bus_data *mdio_bus_data = priv->plat->mdio_bus_data;
int addr, found;
struct device_node *mdio_node = priv->plat->mdio_node;
struct device_node *mdio_node = NULL;
struct device_node *child_node = NULL;

if (!mdio_bus_data)
return 0;

if (IS_ENABLED(CONFIG_OF)) {
for_each_child_of_node(priv->device->of_node, child_node) {
if (of_device_is_compatible(child_node,
"snps,dwmac-mdio")) {
mdio_node = child_node;
break;
}
}

if (mdio_node) {
netdev_dbg(ndev, "FOUND MDIO subnode\n");
} else {
Expand Down
9 changes: 1 addition & 8 deletions drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
struct device_node *np = pdev->dev.of_node;
struct plat_stmmacenet_data *plat;
struct stmmac_dma_cfg *dma_cfg;
struct device_node *child_node = NULL;

plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL);
if (!plat)
Expand Down Expand Up @@ -177,19 +176,13 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
plat->phy_node = of_node_get(np);
}

for_each_child_of_node(np, child_node)
if (of_device_is_compatible(child_node, "snps,dwmac-mdio")) {
plat->mdio_node = child_node;
break;
}

/* "snps,phy-addr" is not a standard property. Mark it as deprecated
* and warn of its use. Remove this when phy node support is added.
*/
if (of_property_read_u32(np, "snps,phy-addr", &plat->phy_addr) == 0)
dev_warn(&pdev->dev, "snps,phy-addr property is deprecated\n");

if ((plat->phy_node && !of_phy_is_fixed_link(np)) || !plat->mdio_node)
if ((plat->phy_node && !of_phy_is_fixed_link(np)) || plat->phy_bus_name)
plat->mdio_bus_data = NULL;
else
plat->mdio_bus_data =
Expand Down
1 change: 0 additions & 1 deletion include/linux/stmmac.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ struct plat_stmmacenet_data {
int interface;
struct stmmac_mdio_bus_data *mdio_bus_data;
struct device_node *phy_node;
struct device_node *mdio_node;
struct stmmac_dma_cfg *dma_cfg;
int clk_csr;
int has_gmac;
Expand Down

0 comments on commit d7e944c

Please sign in to comment.