From: "Marek Behún" <kabel@kernel.org>
To: Stefan Roese <sr@denx.de>
Cc: u-boot@lists.denx.de, pali@kernel.org,
"Marek Behún" <marek.behun@nic.cz>
Subject: [PATCH u-boot-marvell 09/12] arm: mvebu: turris_omnia: Overwrite ethaddr only if invalid
Date: Sat, 9 Oct 2021 19:33:43 +0200 [thread overview]
Message-ID: <20211009173346.7859-10-kabel@kernel.org> (raw)
In-Reply-To: <20211009173346.7859-1-kabel@kernel.org>
From: Marek Behún <marek.behun@nic.cz>
Currently we always overwrite ethaddrs with those from EEPROM.
In order to allow user to use a cloned MAC address in U-Boot, change the
code so that it sets ethaddr variables only if they aren't set or are
invalid.
Signed-off-by: Marek Behún <marek.behun@nic.cz>
---
board/CZ.NIC/turris_omnia/turris_omnia.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
index a48e1f5c30..7a86111890 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -518,6 +518,15 @@ static void increment_mac(u8 *mac)
}
}
+static void set_mac_if_invalid(int i, u8 *mac)
+{
+ u8 oldmac[6];
+
+ if (is_valid_ethaddr(mac) &&
+ !eth_env_get_enetaddr_by_index("eth", i, oldmac))
+ eth_env_set_enetaddr_by_index("eth", i, mac);
+}
+
int misc_init_r(void)
{
int err;
@@ -550,18 +559,11 @@ int misc_init_r(void)
mac[4] = mac1[2];
mac[5] = mac1[3];
- if (is_valid_ethaddr(mac))
- eth_env_set_enetaddr("eth1addr", mac);
-
+ set_mac_if_invalid(1, mac);
increment_mac(mac);
-
- if (is_valid_ethaddr(mac))
- eth_env_set_enetaddr("eth2addr", mac);
-
+ set_mac_if_invalid(2, mac);
increment_mac(mac);
-
- if (is_valid_ethaddr(mac))
- eth_env_set_enetaddr("ethaddr", mac);
+ set_mac_if_invalid(0, mac);
out:
return 0;
--
2.32.0
next prev parent reply other threads:[~2021-10-09 17:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-09 17:33 [PATCH u-boot-marvell 00/12] Small Turris MOX and Omnia changes Marek Behún
2021-10-09 17:33 ` [PATCH u-boot-marvell 01/12] arm: mvebu: turris_mox: Drop SF_DEFAULT_MODE from defconfig Marek Behún
2021-10-21 5:30 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 02/12] arm: mvebu: turris_mox: Move options to defconfig Marek Behún
2021-10-21 5:31 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 03/12] arm: mvebu: a3720: Create Kconfig option for I2C_MV Marek Behún
2021-10-21 5:31 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 04/12] arm: kirkwood, mvebu: Remove CONFIG_SYS_RESET_ADDRESS option Marek Behún
2021-10-21 5:31 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 05/12] arm: mvebu: turris_mox: Cosmetic update for board config header Marek Behún
2021-10-21 5:32 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 06/12] arm: mvebu: turris_mox: Use show_board_info() Marek Behún
2021-10-21 5:32 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 07/12] arm: mvebu: turris_mox: Always handle reset button Marek Behún
2021-10-21 5:32 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 08/12] arm: mvebu: turris_mox: Better check for valid ethernet addresses in env Marek Behún
2021-10-21 5:33 ` Stefan Roese
2021-10-09 17:33 ` Marek Behún [this message]
2021-10-21 5:33 ` [PATCH u-boot-marvell 09/12] arm: mvebu: turris_omnia: Overwrite ethaddr only if invalid Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 10/12] arm: mvebu: turris_omnia: Use show_board_info() Marek Behún
2021-10-21 5:34 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 11/12] arm: mvebu: turris_omnia: Move SPL's SYS_MALLOC_SIMPLE to Kconfig Marek Behún
2021-10-21 5:34 ` Stefan Roese
2021-10-09 17:33 ` [PATCH u-boot-marvell 12/12] arm: mvebu: turris_omnia: Move CONFIG_SPL_DRIVERS_MISC " Marek Behún
2021-10-21 5:34 ` Stefan Roese
2021-10-21 7:47 ` [PATCH u-boot-marvell 00/12] Small Turris MOX and Omnia changes Stefan Roese
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211009173346.7859-10-kabel@kernel.org \
--to=kabel@kernel.org \
--cc=marek.behun@nic.cz \
--cc=pali@kernel.org \
--cc=sr@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.