summaryrefslogtreecommitdiff
path: root/net/eth.c
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2015-10-15 15:34:14 +0200
committerStefano Babic <sbabic@denx.de>2015-10-15 15:34:14 +0200
commitf74dc51bcab924a30e41b33981a4f96af3f9dd57 (patch)
tree560eead1ca9984554be3a5c9a5332b531c102cb0 /net/eth.c
parentcf04ad3219260c3c39ec3dbfe2427e3463e8dbd5 (diff)
parent297faccca2235e359012118495b9b73451d54bb9 (diff)
downloadu-boot-imx-f74dc51bcab924a30e41b33981a4f96af3f9dd57.zip
u-boot-imx-f74dc51bcab924a30e41b33981a4f96af3f9dd57.tar.gz
u-boot-imx-f74dc51bcab924a30e41b33981a4f96af3f9dd57.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot
Diffstat (limited to 'net/eth.c')
-rw-r--r--net/eth.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/net/eth.c b/net/eth.c
index 26520d3..2e24b55 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -389,6 +389,17 @@ void eth_halt(void)
priv->state = ETH_STATE_PASSIVE;
}
+int eth_is_active(struct udevice *dev)
+{
+ struct eth_device_priv *priv;
+
+ if (!dev || !device_active(dev))
+ return 0;
+
+ priv = dev_get_uclass_priv(dev);
+ return priv->state == ETH_STATE_ACTIVE;
+}
+
int eth_send(void *packet, int length)
{
struct udevice *current;
@@ -580,7 +591,7 @@ UCLASS_DRIVER(eth) = {
.per_device_auto_alloc_size = sizeof(struct eth_device_priv),
.flags = DM_UC_FLAG_SEQ_ALIAS,
};
-#endif
+#endif /* #ifdef CONFIG_DM_ETH */
#ifndef CONFIG_DM_ETH
@@ -918,6 +929,11 @@ void eth_halt(void)
eth_current->state = ETH_STATE_PASSIVE;
}
+int eth_is_active(struct eth_device *dev)
+{
+ return dev && dev->state == ETH_STATE_ACTIVE;
+}
+
int eth_send(void *packet, int length)
{
if (!eth_current)