Re: [PATCH net-next v5 5/7] net: tn40xx: create swnode for mdio and aqr105 phy and add to mdiobus

From: Ratheesh Kannoth
Date: Sun Feb 23 2025 - 23:09:42 EST


On 2025-02-22 at 15:19:32, Hans-Frieder Vogt via B4 Relay (devnull+hfdevel.gmx.net@xxxxxxxxxx) wrote:
> From: Hans-Frieder Vogt <hfdevel@xxxxxxx>
> int tn40_mdiobus_init(struct tn40_priv *priv)
> {
> struct pci_dev *pdev = priv->pdev;
> @@ -129,14 +181,36 @@ int tn40_mdiobus_init(struct tn40_priv *priv)
>
> bus->read_c45 = tn40_mdio_read_c45;
> bus->write_c45 = tn40_mdio_write_c45;
> + priv->mdio = bus;
> +
> + /* provide swnodes for AQR105-based cards only */
> + if (pdev->device == 0x4025) {
> + ret = tn40_swnodes_register(priv);
> + if (ret) {
> + pr_err("swnodes failed\n");
> + return ret;
> + }
> +
> + ret = device_add_software_node(&bus->dev,
> + priv->nodes.group[SWNODE_MDIO]);
> + if (ret) {
> + dev_err(&pdev->dev,
> + "device_add_software_node failed: %d\n", ret);
No need to return on this error ?
> + }
> + }
>
> ret = devm_mdiobus_register(&pdev->dev, bus);
> if (ret) {
> dev_err(&pdev->dev, "failed to register mdiobus %d %u %u\n",
> ret, bus->state, MDIOBUS_UNREGISTERED);
> - return ret;
> + goto err_swnodes_cleanup;
> }
> tn40_mdio_set_speed(priv, TN40_MDIO_SPEED_6MHZ);
> - priv->mdio = bus;
> return 0;
> +
> +err_swnodes_cleanup:
No need to call device_remove_software_node() ?
> + tn40_swnodes_cleanup(priv);
> + return ret;
> }
> +
> +MODULE_FIRMWARE(AQR105_FIRMWARE);
>
> --
> 2.47.2
>
>