Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-net
- Two fixes from Marek for designware and mdio.
This commit is contained in:
@@ -1045,16 +1045,10 @@ static int eqos_start(struct udevice *dev)
|
||||
eqos->tx_desc_idx = 0;
|
||||
eqos->rx_desc_idx = 0;
|
||||
|
||||
ret = eqos->config->ops->eqos_start_clks(dev);
|
||||
if (ret < 0) {
|
||||
pr_err("eqos_start_clks() failed: %d", ret);
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = eqos->config->ops->eqos_start_resets(dev);
|
||||
if (ret < 0) {
|
||||
pr_err("eqos_start_resets() failed: %d", ret);
|
||||
goto err_stop_clks;
|
||||
goto err;
|
||||
}
|
||||
|
||||
udelay(10);
|
||||
@@ -1360,8 +1354,6 @@ err_shutdown_phy:
|
||||
phy_shutdown(eqos->phy);
|
||||
err_stop_resets:
|
||||
eqos->config->ops->eqos_stop_resets(dev);
|
||||
err_stop_clks:
|
||||
eqos->config->ops->eqos_stop_clks(dev);
|
||||
err:
|
||||
pr_err("FAILED: %d", ret);
|
||||
return ret;
|
||||
@@ -1416,7 +1408,6 @@ static void eqos_stop(struct udevice *dev)
|
||||
phy_shutdown(eqos->phy);
|
||||
}
|
||||
eqos->config->ops->eqos_stop_resets(dev);
|
||||
eqos->config->ops->eqos_stop_clks(dev);
|
||||
|
||||
debug("%s: OK\n", __func__);
|
||||
}
|
||||
@@ -1862,6 +1853,12 @@ static int eqos_probe(struct udevice *dev)
|
||||
goto err_remove_resources_core;
|
||||
}
|
||||
|
||||
ret = eqos->config->ops->eqos_start_clks(dev);
|
||||
if (ret < 0) {
|
||||
pr_err("eqos_start_clks() failed: %d", ret);
|
||||
goto err_remove_resources_tegra;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DM_ETH_PHY
|
||||
eqos->mii = eth_phy_get_mdio_bus(dev);
|
||||
#endif
|
||||
@@ -1870,7 +1867,7 @@ static int eqos_probe(struct udevice *dev)
|
||||
if (!eqos->mii) {
|
||||
pr_err("mdio_alloc() failed");
|
||||
ret = -ENOMEM;
|
||||
goto err_remove_resources_tegra;
|
||||
goto err_stop_clks;
|
||||
}
|
||||
eqos->mii->read = eqos_mdio_read;
|
||||
eqos->mii->write = eqos_mdio_write;
|
||||
@@ -1893,6 +1890,8 @@ static int eqos_probe(struct udevice *dev)
|
||||
|
||||
err_free_mdio:
|
||||
mdio_free(eqos->mii);
|
||||
err_stop_clks:
|
||||
eqos->config->ops->eqos_stop_clks(dev);
|
||||
err_remove_resources_tegra:
|
||||
eqos->config->ops->eqos_remove_resources(dev);
|
||||
err_remove_resources_core:
|
||||
@@ -1910,6 +1909,7 @@ static int eqos_remove(struct udevice *dev)
|
||||
|
||||
mdio_unregister(eqos->mii);
|
||||
mdio_free(eqos->mii);
|
||||
eqos->config->ops->eqos_stop_clks(dev);
|
||||
eqos->config->ops->eqos_remove_resources(dev);
|
||||
|
||||
eqos_probe_resources_core(dev);
|
||||
|
||||
@@ -138,7 +138,7 @@ static int eth_phy_of_to_plat(struct udevice *dev)
|
||||
ret = gpio_request_by_name(dev, "reset-gpios", 0,
|
||||
&uc_priv->reset_gpio,
|
||||
GPIOD_IS_OUT);
|
||||
if (ret != -ENOENT)
|
||||
if (ret && ret != -ENOENT)
|
||||
return ret;
|
||||
|
||||
uc_priv->reset_assert_delay = dev_read_u32_default(dev, "reset-assert-us", 0);
|
||||
|
||||
Reference in New Issue
Block a user