From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: [PATCH v2 02/10] net: export list of registered ethernet addresses
Date: Wed, 28 May 2025 16:30:35 +0200 [thread overview]
Message-ID: <20250528143043.434446-3-a.fatoum@pengutronix.de> (raw)
In-Reply-To: <20250528143043.434446-1-a.fatoum@pengutronix.de>
Network stack keeps an ethaddr_list of Ethernet addresses that were
registered by drivers and board code.
The list currently lacks ethernet devices for which a net_device already
existed. If a net_device is added later on, the list is consulted, but
the element is not removed.
This means ethaddr_list is "the list of registered Ethernet addresses
that were added before the relevant device has been probed". Make it more
useful by genericising it to be "the list of registered Ethernet addresses".
This introduces no functional change (only consumer is fixup code that
handles both cases already), but it allows future board code to consult
the list to check which Ethernet addresses were actually assigned.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
include/net.h | 9 +++++++++
net/eth.c | 11 ++---------
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/include/net.h b/include/net.h
index 356f23d1d11d..b0fc8727a000 100644
--- a/include/net.h
+++ b/include/net.h
@@ -613,4 +613,13 @@ void ifdown_all(void);
extern struct class eth_class;
+struct eth_ethaddr {
+ struct list_head list;
+ u8 ethaddr[ETH_ALEN];
+ int ethid;
+ struct device_node *node;
+};
+
+extern struct list_head ethaddr_list;
+
#endif /* __NET_H__ */
diff --git a/net/eth.c b/net/eth.c
index fedccf33db07..857bd2ee70dd 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -23,14 +23,7 @@
DEFINE_DEV_CLASS(eth_class, "eth");
-struct eth_ethaddr {
- struct list_head list;
- u8 ethaddr[ETH_ALEN];
- int ethid;
- struct device_node *node;
-};
-
-static LIST_HEAD(ethaddr_list);
+LIST_HEAD(ethaddr_list);
int eth_set_promisc(struct eth_device *edev, bool enable)
{
@@ -102,7 +95,7 @@ void eth_register_ethaddr(int ethid, const char *ethaddr)
for_each_netdev(edev) {
if (edev->dev.id == ethid) {
register_preset_mac_address(edev, ethaddr);
- return;
+ break;
}
}
--
2.39.5
next prev parent reply other threads:[~2025-05-28 14:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-28 14:30 [PATCH v2 00/10] Add barebox TLV infrastructure Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 01/10] net: factor out eth_of_get_fixup_node Ahmad Fatoum
2025-05-28 14:30 ` Ahmad Fatoum [this message]
2025-05-28 14:30 ` [PATCH v2 03/10] common: add optional systemd.hostname generation Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 04/10] common: add barebox TLV support Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 05/10] commands: add TLV debugging command Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 06/10] scripts: add bareboxtlv host/target tool Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 07/10] boards: add decoder for LXA TLV v1 format Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 08/10] scripts: Add Barebox TLV Generator Tooling Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 09/10] doc: Add User-Documentation for Barebox TLV Ahmad Fatoum
2025-05-28 14:30 ` [PATCH v2 10/10] ARM: stm32mp: lxa: enable TLV support for TAC & FairyTux2 Ahmad Fatoum
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=20250528143043.434446-3-a.fatoum@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox