summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Niebel <[email protected]>2025-11-21 18:34:45 +0100
committerFabio Estevam <[email protected]>2025-11-29 17:06:26 -0300
commitfc199c481c6a0737d4020ea0cbbab84a2d87b1fd (patch)
treee20566f382a20e911c0d50ca74aefc9e748d3f98
parentaafdd856941f1ab390db4bbf3105c5480f03397b (diff)
net: fec_mxc: rewrite fallback MDIO Bus allocation
The code should only be executed if MDIO bus is not assigned. Otherwise the already assigned / allocated bus will be overwritten. Add condition check and simplify the code to make it more readable. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Alexander Stein <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
-rw-r--r--drivers/net/fec_mxc.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 69a76e879b1..af6a799e167 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1373,14 +1373,18 @@ static int fecmxc_probe(struct udevice *dev)
if (!bus)
bus = fec_get_miibus(dev, (ulong)priv->eth, dev_seq(dev));
#else
+ if (!bus) {
+ ulong regs = (ulong)priv->eth;
- dm_mii_bus = false;
-#ifdef CONFIG_FEC_MXC_MDIO_BASE
- bus = fec_get_miibus(dev, (ulong)CONFIG_FEC_MXC_MDIO_BASE, dev_seq(dev));
-#else
- bus = fec_get_miibus(dev, (ulong)priv->eth, dev_seq(dev));
+ dm_mii_bus = false;
+
+#if defined(CONFIG_FEC_MXC_MDIO_BASE)
+ regs = CONFIG_FEC_MXC_MDIO_BASE;
#endif
+ bus = fec_get_miibus(dev, regs, dev_seq(dev));
+ }
+
#endif /* CONFIG_DM_ETH_PHY */
if (!bus) {
ret = -ENOMEM;