From 6b3abc048228bb4336dd0cc761993353a4efb206 Mon Sep 17 00:00:00 2001 From: Alex Marginean Date: Thu, 25 Jul 2019 12:33:17 +0300 Subject: [PATCH] net: mdio-uclass: name MDIO according to device-name property if preset Use the optional property device-name to name the MDIO bus. This works around limitations with using the DT node name on devices such as Armada-8040, which integrates two cp100 cores, both featuring MDIOs at the same relative offsets and with the same DT node names. The concept was originally proposed by Marvell as a custom property called mdio-name specific to Marvell driver. This patch uses the more generic property device-name and moves this into MDIO class code so other can use it as well. Signed-off-by: Alex Marginean Acked-by: Joe Hershberger Reviewed-by: Bin Meng --- net/mdio-uclass.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/net/mdio-uclass.c b/net/mdio-uclass.c index 1c0d25272a..6f922e80b6 100644 --- a/net/mdio-uclass.c +++ b/net/mdio-uclass.c @@ -23,6 +23,17 @@ void dm_mdio_probe_devices(void) static int dm_mdio_post_bind(struct udevice *dev) { + const char *dt_name; + + /* set a custom name for the MDIO device, if present in DT */ + if (ofnode_valid(dev->node)) { + dt_name = ofnode_read_string(dev->node, "device-name"); + if (dt_name) { + debug("renaming dev %s to %s\n", dev->name, dt_name); + device_set_name(dev, dt_name); + } + } + /* * MDIO command doesn't like spaces in names, don't allow them to keep * it happy -- 2.39.5