aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/designware.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2015-10-29 16:30:33 -0400
committerTom Rini <trini@konsulko.com>2015-10-29 16:30:33 -0400
commit0eb4cf9c14315e1976a116de75da6f420ac0e8dd (patch)
tree3933d354a6be71cbe66d583fec3f5b2479e596ee /drivers/net/designware.c
parent446d37c1acc76680770400fd90e6c502e49d72df (diff)
parentac1d31380618f3f68bf7f05b73b6ab0cdeab0e9f (diff)
Merge branch 'master' of git://git.denx.de/u-boot-net
Diffstat (limited to 'drivers/net/designware.c')
-rw-r--r--drivers/net/designware.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 6433896eec..a6c39c39ff 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -613,6 +613,17 @@ static int designware_eth_probe(struct udevice *dev)
return ret;
}
+static int designware_eth_remove(struct udevice *dev)
+{
+ struct dw_eth_dev *priv = dev_get_priv(dev);
+
+ free(priv->phydev);
+ mdio_unregister(priv->bus);
+ mdio_free(priv->bus);
+
+ return 0;
+}
+
static const struct eth_ops designware_eth_ops = {
.start = designware_eth_start,
.send = designware_eth_send,
@@ -653,6 +664,7 @@ U_BOOT_DRIVER(eth_designware) = {
.ofdata_to_platdata = designware_eth_ofdata_to_platdata,
.bind = designware_eth_bind,
.probe = designware_eth_probe,
+ .remove = designware_eth_remove,
.ops = &designware_eth_ops,
.priv_auto_alloc_size = sizeof(struct dw_eth_dev),
.platdata_auto_alloc_size = sizeof(struct eth_pdata),