diff options
author | Alex Marginean | 2019-07-25 12:33:17 +0300 |
---|---|---|
committer | Joe Hershberger | 2019-09-04 11:37:19 -0500 |
commit | 6b3abc048228bb4336dd0cc761993353a4efb206 (patch) | |
tree | fbee5d15f302e2cdb71788bfec93a3acd5162058 /net | |
parent | 259f7223f2f567afe077528539a43b26d0fef876 (diff) |
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 <alexm.osslist@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mdio-uclass.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/mdio-uclass.c b/net/mdio-uclass.c index 1c0d25272a3..6f922e80b6f 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 |