diff options
| author | Vincent Jardin <vjardin@free.fr> | 2026-09-30 22:15:48 +0200 |
|---|---|---|
| committer | Christophe Leroy (CS GROUP) <chleroy@kernel.org> | 2026-10-09 10:15:19 +0200 |
| commit | 4258e8f44462463d618f6b4f24a46b35f36cfd0f (patch) | |
| tree | 6ccbdfaee4307c1c72bda5481cfd5ac57ab7a3e4 /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | 46201d760c48e771fa2febfcb0787f22c3b71387 (diff) | |
bus: fsl-mc: drop the fwnode links of the dpmacs nodes
A DPMAC node under dpmacs/ is never the fwnode of any device:
the fsl-mc bus creates dpmac.N objects without one,
then dpaa2-mac finds its node in dpmacs/ at connect time.
fw_devlink therefore attaches the supplier links of those nodes (phys, ...)
to the nearest ancestor device, the fsl-mc bus, as SYNC_STATE_ONLY proxies.
device_link_add() refuses such a link once the consumer has probed, and
fw_devlink logs the refusal as an error.
On an LX2160A board with 4x25G DPMACs for which phys = <&serdes_1 N>,
the Serdes PHY binds after the bus and then at every boot it shows:
fsl_mc_bus 80c000000.fsl-mc: Failed to create device link (0x180) with supplier 1ea0000.phy for /soc/fsl-mc@80c000000/dpmacs/ethernet@3
once per port!
To fix it, when the root MC bus probes, purge the fwnode links of every
child of its dpmacs node, so fw_devlink has no supplier link left to
proxy to the bus and no longer tries to create those device links.
Signed-off-by: Vincent Jardin <vjardin@free.fr>
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> # LX2160ARDB
Link: https://lore.kernel.org/r/20260930-for-upstream-fsl-mc-dpmac-fwnode-links-v2-1-13f7b6ef000f@free.fr
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions
