From: Russell King (Oracle) Date: Wed, 28 Jan 2026 10:58:49 +0000 (+0000) Subject: net: stmmac: rk: add SoC specific ->init() method X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1639ba67bfb53efe28ad2977025ff0566ddf0281;p=thirdparty%2Fkernel%2Flinux.git net: stmmac: rk: add SoC specific ->init() method Add a SoC specific init method. Signed-off-by: Russell King (Oracle) Link: https://patch.msgid.link/E1vl3G5-00000006v3X-2zfD@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index 976d42fd90df..ea01c5965cbb 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -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; }