diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2018-07-02 14:47:53 -0500 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2018-07-26 14:08:18 -0500 |
commit | b96ced9cdb6bbba1ef4e0087eec799127a22afab (patch) | |
tree | 671d97f0362c33f7b36ad9a244e1de68fbb93aef | |
parent | c9e2caff8503b0dfa750b5ed08f882919fd3b510 (diff) | |
download | u-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>
-rw-r--r-- | drivers/net/sandbox-raw.c | 10 |
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) |