From 603848cad86538061c245004a39e0d5c77cc05d2 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Sun, 12 Sep 2021 23:00:51 +0200 Subject: [PATCH] ipq40xx: net: ethernet: edma: update of_get_phy_mode() for 5.10 In kernel v5.5 of_get_phy_mode had its API changed, so its now returning 0 or errors instead of phymode. Phymode is now returning by passing a pointer to phy_interface_t where it will be stored. Signed-off-by: Robert Marko --- .../drivers/net/ethernet/qualcomm/essedma/edma_axi.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c index b5ca99598d..e6739261c3 100644 --- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c +++ b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "edma.h" #include "ess_edma.h" @@ -1184,10 +1185,17 @@ static int edma_axi_probe(struct platform_device *pdev) for (i = 0; i < edma_cinfo->num_gmac; i++) { if (adapter[i]->poll_required) { - int phy_mode = of_get_phy_mode(np); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0) + phy_interface_t phy_mode; + err = of_get_phy_mode(np, &phy_mode); + if (err) + phy_mode = PHY_INTERFACE_MODE_SGMII; +#else + int phy_mode = of_get_phy_mode(np); if (phy_mode < 0) phy_mode = PHY_INTERFACE_MODE_SGMII; +#endif adapter[i]->phydev = phy_connect(edma_netdev[i], (const char *)adapter[i]->phy_id, -- 2.30.2