[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250717090037.4097520-1-primoz.fiser@norik.com>
Date: Thu, 17 Jul 2025 11:00:35 +0200
From: Primoz Fiser <primoz.fiser@...ik.com>
To: Wei Fang <wei.fang@....com>,
Shenwei Wang <shenwei.wang@....com>,
Clark Wang <xiaoning.wang@....com>,
Andrew Lunn <andrew+netdev@...n.ch>,
davem@...emloft.net,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>
Cc: imx@...ts.linux.dev,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org,
upstream@...ts.phytec.de
Subject: [PATCH 0/2] Populate of_node for i.MX netdevs
Recently when working on predictable network names for i.MX SoCs, it
was discovered that of_node sysfs properties are missing for FEC and
EQOS interfaces.
Without this, udev is unable to expose the OF_* properties (OF_NAME,
OF_FULLNAME, OF_COMPATIBLE, OF_ALIAS, etc.) and thus we cannot identify
interface based on those properties.
Fix this by populating netdev of_node in respective drivers.
Result:
$ ls -l /sys/class/net/end1/of_node
/sys/class/net/end1/of_node ->
'../../../../../../../firmware/devicetree/base/soc@...us@...00000/ethernet@...a0000'/
$ ls -l /sys/class/net/end0/of_node
/sys/class/net/end0/of_node ->
'../../../../../../../firmware/devicetree/base/soc@...us@...00000/ethernet@...90000'/
$ udevadm info /sys/class/net/end0
P: /devices/platform/soc@...2800000.bus/42890000.ethernet/net/end0
M: end0
R: 0
U: net
I: 2
E: DEVPATH=/devices/platform/soc@...2800000.bus/42890000.ethernet/net/end0
E: SUBSYSTEM=net
E: OF_NAME=ethernet
E: OF_FULLNAME=/soc@...us@...00000/ethernet@...90000
E: OF_COMPATIBLE_0=fsl,imx93-fec
E: OF_COMPATIBLE_1=fsl,imx8mq-fec
E: OF_COMPATIBLE_2=fsl,imx6sx-fec
E: OF_COMPATIBLE_N=3
E: OF_ALIAS_0=ethernet0
E: INTERFACE=end0
E: IFINDEX=2
E: USEC_INITIALIZED=5227083
E: ID_NET_DRIVER=fec
E: ID_NET_NAMING_SCHEME=latest
E: ID_NET_NAME_MAC=enx502df44dbd5e
E: ID_NET_NAME_ONBOARD=end0
E: ID_PATH=platform-42890000.ethernet
E: ID_PATH_TAG=platform-42890000_ethernet
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/end0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:
$ udevadm info /sys/class/net/end1
P: /devices/platform/soc@...2800000.bus/428a0000.ethernet/net/end1
M: end1
R: 1
U: net
I: 3
E: DEVPATH=/devices/platform/soc@...2800000.bus/428a0000.ethernet/net/end1
E: SUBSYSTEM=net
E: OF_NAME=ethernet
E: OF_FULLNAME=/soc@...us@...00000/ethernet@...a0000
E: OF_COMPATIBLE_0=nxp,imx93-dwmac-eqos
E: OF_COMPATIBLE_1=snps,dwmac-5.10a
E: OF_COMPATIBLE_N=2
E: OF_ALIAS_0=ethernet1
E: INTERFACE=end1
E: IFINDEX=3
E: USEC_INITIALIZED=5370305
E: ID_NET_NAMING_SCHEME=latest
E: ID_NET_NAME_MAC=enx502df44dbd5f
E: ID_NET_NAME_ONBOARD=end1
E: ID_PATH=platform-428a0000.ethernet
E: ID_PATH_TAG=platform-428a0000_ethernet
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/end1
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:
Primoz Fiser (2):
net: fec: fec_probe(): Populate netdev of_node
net: stmmac: Populate netdev of_node
drivers/net/ethernet/freescale/fec_main.c | 1 +
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
2 files changed, 2 insertions(+)
--
2.34.1
Powered by blists - more mailing lists