aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/sandbox-raw.c
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2018-07-02 14:47:53 -0500
committerJoe Hershberger <joe.hershberger@ni.com>2018-07-26 14:08:18 -0500
commitb96ced9cdb6bbba1ef4e0087eec799127a22afab (patch)
tree671d97f0362c33f7b36ad9a244e1de68fbb93aef /drivers/net/sandbox-raw.c
parentc9e2caff8503b0dfa750b5ed08f882919fd3b510 (diff)
downloadu-boot-b96ced9cdb6bbba1ef4e0087eec799127a22afab.zip
u-boot-b96ced9cdb6bbba1ef4e0087eec799127a22afab.tar.gz
u-boot-b96ced9cdb6bbba1ef4e0087eec799127a22afab.tar.bz2
sandbox: eth-raw: Make random MAC addresses available to eth-raw
We don't necessarily know how many MAC addresses we'll need, so implement a ROM read so we always have something valid. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/net/sandbox-raw.c')
-rw-r--r--drivers/net/sandbox-raw.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/sandbox-raw.c b/drivers/net/sandbox-raw.c
index 0d1fd4d..09cc678 100644
--- a/drivers/net/sandbox-raw.c
+++ b/drivers/net/sandbox-raw.c
@@ -130,11 +130,21 @@ static void sb_eth_raw_stop(struct udevice *dev)
sandbox_eth_raw_os_stop(priv);
}
+static int sb_eth_raw_read_rom_hwaddr(struct udevice *dev)
+{
+ struct eth_pdata *pdata = dev_get_platdata(dev);
+
+ net_random_ethaddr(pdata->enetaddr);
+
+ return 0;
+}
+
static const struct eth_ops sb_eth_raw_ops = {
.start = sb_eth_raw_start,
.send = sb_eth_raw_send,
.recv = sb_eth_raw_recv,
.stop = sb_eth_raw_stop,
+ .read_rom_hwaddr = sb_eth_raw_read_rom_hwaddr,
};
static int sb_eth_raw_ofdata_to_platdata(struct udevice *dev)