[PATCH 0/2] Populate of_node for i.MX netdevs
Primoz Fiser
primoz.fiser at norik.com
Thu Jul 17 02:00:35 PDT 2025
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 at 0/bus at 42800000/ethernet at 428a0000'/
$ ls -l /sys/class/net/end0/of_node
/sys/class/net/end0/of_node ->
'../../../../../../../firmware/devicetree/base/soc at 0/bus at 42800000/ethernet at 42890000'/
$ udevadm info /sys/class/net/end0
P: /devices/platform/soc at 0/42800000.bus/42890000.ethernet/net/end0
M: end0
R: 0
U: net
I: 2
E: DEVPATH=/devices/platform/soc at 0/42800000.bus/42890000.ethernet/net/end0
E: SUBSYSTEM=net
E: OF_NAME=ethernet
E: OF_FULLNAME=/soc at 0/bus at 42800000/ethernet at 42890000
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 at 0/42800000.bus/428a0000.ethernet/net/end1
M: end1
R: 1
U: net
I: 3
E: DEVPATH=/devices/platform/soc at 0/42800000.bus/428a0000.ethernet/net/end1
E: SUBSYSTEM=net
E: OF_NAME=ethernet
E: OF_FULLNAME=/soc at 0/bus at 42800000/ethernet at 428a0000
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
More information about the linux-arm-kernel
mailing list