Instead of reading a pseudo-rom mac address from the device tree, just use
whatever we get from write_hwaddr. This has the effect of using the mac
address from the environment (or from the device tree, if it is
specified).

Signed-off-by: Sean Anderson <sean.ander...@seco.com>
Reviewed-by: Simon Glass <s...@chromium.org>
Acked-by: Ramon Fried <rfried....@gmail.com>
---

(no changes since v1)

 arch/sandbox/dts/sandbox.dts   |  1 -
 arch/sandbox/dts/sandbox64.dts |  1 -
 arch/sandbox/dts/test.dts      |  6 ------
 drivers/net/sandbox.c          | 10 ++--------
 4 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
index 18fde1c8c6..21f00fcab5 100644
--- a/arch/sandbox/dts/sandbox.dts
+++ b/arch/sandbox/dts/sandbox.dts
@@ -63,7 +63,6 @@
        eth@10002000 {
                compatible = "sandbox,eth";
                reg = <0x10002000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 00];
        };
 
        host-fs {
diff --git a/arch/sandbox/dts/sandbox64.dts b/arch/sandbox/dts/sandbox64.dts
index ec53106af9..3eb0457089 100644
--- a/arch/sandbox/dts/sandbox64.dts
+++ b/arch/sandbox/dts/sandbox64.dts
@@ -58,7 +58,6 @@
        eth@10002000 {
                compatible = "sandbox,eth";
                reg = <0x0 0x10002000 0x0 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 00];
        };
 
        i2c_0: i2c@0 {
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index c0b1d76cdb..e486bdb531 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -527,31 +527,26 @@
        eth@10002000 {
                compatible = "sandbox,eth";
                reg = <0x10002000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 00];
        };
 
        eth_5: eth@10003000 {
                compatible = "sandbox,eth";
                reg = <0x10003000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 11];
        };
 
        eth_3: sbe5 {
                compatible = "sandbox,eth";
                reg = <0x10005000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 33];
        };
 
        eth@10004000 {
                compatible = "sandbox,eth";
                reg = <0x10004000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 22];
        };
 
        phy_eth0: phy-test-eth {
                compatible = "sandbox,eth";
                reg = <0x10007000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 77];
                phy-handle = <&ethphy1>;
                phy-mode = "2500base-x";
        };
@@ -559,7 +554,6 @@
        dsa_eth0: dsa-test-eth {
                compatible = "sandbox,eth";
                reg = <0x10006000 0x1000>;
-               fake-host-hwaddr = [00 00 66 44 22 66];
        };
 
        dsa-test {
diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c
index 37459dfa0a..13022addb6 100644
--- a/drivers/net/sandbox.c
+++ b/drivers/net/sandbox.c
@@ -395,9 +395,11 @@ static void sb_eth_stop(struct udevice *dev)
 static int sb_eth_write_hwaddr(struct udevice *dev)
 {
        struct eth_pdata *pdata = dev_get_plat(dev);
+       struct eth_sandbox_priv *priv = dev_get_priv(dev);
 
        debug("eth_sandbox %s: Write HW ADDR - %pM\n", dev->name,
              pdata->enetaddr);
+       memcpy(priv->fake_host_hwaddr, pdata->enetaddr, ARP_HLEN);
        return 0;
 }
 
@@ -419,16 +421,8 @@ static int sb_eth_of_to_plat(struct udevice *dev)
 {
        struct eth_pdata *pdata = dev_get_plat(dev);
        struct eth_sandbox_priv *priv = dev_get_priv(dev);
-       const u8 *mac;
 
        pdata->iobase = dev_read_addr(dev);
-
-       mac = dev_read_u8_array_ptr(dev, "fake-host-hwaddr", ARP_HLEN);
-       if (!mac) {
-               printf("'fake-host-hwaddr' is missing from the DT\n");
-               return -EINVAL;
-       }
-       memcpy(priv->fake_host_hwaddr, mac, ARP_HLEN);
        priv->disabled = false;
        priv->tx_handler = sb_default_handler;
 
-- 
2.35.1.1320.gc452695387.dirty

Reply via email to