[PATCH 1/4] net: fec_imx: reverse registration order of mdiobus and edev
Ahmad Fatoum
a.fatoum at pengutronix.de
Sun Dec 24 01:27:04 PST 2023
Hello Alvin,
On 22.12.23 03:07, Alvin Šipraga wrote:
> From: Alvin Šipraga <alsi at bang-olufsen.dk>
>
> This is necessary so that on systems with MDIO-connected Etheret
> switches, DSA can find the master edev during switch registration.
> Otherwise the switch setup will fail.
On the other hand, systems, where the PHY supplies a clock to the MAC
need the MDIO bus controller to be registered first, so the PHYs can
probe. In the special case of the FEC driver:
- there's no struct eth_device::init function
- struct eth_device::get_ethaddr doesn't do hardware access
and operations in struct eth_device are only invoked when ->open is initially
called, which won't happen at driver probe time.
I thus think the change is ok, even if not generally applicable to all drivers.
Acked-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
Thanks,
Ahmad
>
> Signed-off-by: Alvin Šipraga <alsi at bang-olufsen.dk>
> ---
> drivers/net/fec_imx.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
> index 203a2a8aa191..75a65962820b 100644
> --- a/drivers/net/fec_imx.c
> +++ b/drivers/net/fec_imx.c
> @@ -895,18 +895,18 @@ static int fec_probe(struct device *dev)
> fec->miibus.priv = fec;
> fec->miibus.parent = dev;
>
> - ret = mdiobus_register(&fec->miibus);
> + ret = eth_register(edev);
> if (ret)
> goto free_receive_packets;
>
> - ret = eth_register(edev);
> + ret = mdiobus_register(&fec->miibus);
> if (ret)
> - goto unregister_mdio;
> + goto unregister_eth;
>
> return 0;
>
> -unregister_mdio:
> - mdiobus_unregister(&fec->miibus);
> +unregister_eth:
> + eth_unregister(edev);
> free_receive_packets:
> fec_free_receive_packets(fec, FEC_RBD_NUM, FEC_MAX_PKT_SIZE);
> free_xbd:
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list