]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: stmmac: dwmac-socfpga: provide select_pcs() implementation
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 13 Jun 2024 10:36:21 +0000 (11:36 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 15 Jun 2024 02:06:41 +0000 (19:06 -0700)
Provide a .select_pcs() implementation which returns the phylink PCS
that was created in the .pcs_init() method.

Reviewed-by: Romain Gantois <romain.gantois@bootlin.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/E1sHhob-00FetN-Vp@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c

index b3d45f9dfb556f9e974e0bc611b21ced102626a2..fdb4c773ec98abb2975bece739233674d37a14f0 100644 (file)
@@ -429,6 +429,12 @@ static void socfpga_dwmac_pcs_exit(struct stmmac_priv *priv)
                lynx_pcs_destroy(priv->hw->phylink_pcs);
 }
 
+static struct phylink_pcs *socfpga_dwmac_select_pcs(struct stmmac_priv *priv,
+                                                   phy_interface_t interface)
+{
+       return priv->hw->phylink_pcs;
+}
+
 static int socfpga_dwmac_probe(struct platform_device *pdev)
 {
        struct plat_stmmacenet_data *plat_dat;
@@ -478,6 +484,7 @@ static int socfpga_dwmac_probe(struct platform_device *pdev)
        plat_dat->fix_mac_speed = socfpga_dwmac_fix_mac_speed;
        plat_dat->pcs_init = socfpga_dwmac_pcs_init;
        plat_dat->pcs_exit = socfpga_dwmac_pcs_exit;
+       plat_dat->select_pcs = socfpga_dwmac_select_pcs;
 
        ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
        if (ret)