]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: rk: add SoC specific ->init() method
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 28 Jan 2026 10:58:49 +0000 (10:58 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 30 Jan 2026 02:31:25 +0000 (18:31 -0800)
Add a SoC specific init method.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vl3G5-00000006v3X-2zfD@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

index 976d42fd90df76e0ffd3bedcdc7b61942c534221..ea01c5965cbb8fe2ee8b9a21fe27a4f2f37cd158 100644 (file)
@@ -35,6 +35,7 @@ struct rk_reg_speed_data {
 };
 
 struct rk_gmac_ops {
+       int (*init)(struct rk_priv_data *bsp_priv);
        void (*set_to_rgmii)(struct rk_priv_data *bsp_priv,
                             int tx_delay, int rx_delay);
        void (*set_to_rmii)(struct rk_priv_data *bsp_priv);
@@ -1618,6 +1619,15 @@ static struct rk_priv_data *rk_gmac_setup(struct platform_device *pdev,
 
        bsp_priv->dev = dev;
 
+       if (ops->init) {
+               ret = ops->init(bsp_priv);
+               if (ret) {
+                       reset_control_put(bsp_priv->phy_reset);
+                       dev_err_probe(dev, ret, "failed to init BSP\n");
+                       return ERR_PTR(ret);
+               }
+       }
+
        return bsp_priv;
 }