net: macb: In ZynqMP initialization make SGMII phy configuration optional
authorRadhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Wed, 20 Apr 2022 11:03:10 +0000 (16:33 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 Apr 2022 11:52:27 +0000 (12:52 +0100)
In the macb binding documentation "phys" is an optional property. Make
implementation in line with it. This change allows the traditional flow
in which first stage bootloader does PS-GT configuration to work along
with newer use cases in which PS-GT configuration is managed by the
phy-zynqmp driver.

It fixes below macb probe failure when macb DT node doesn't have SGMII
phys handle.
"macb ff0b0000.ethernet: error -ENODEV: failed to get PS-GTR PHY"

Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb_main.c

index a5140d4d3baf6312f66a3685143deada799d30e8..6434e74c04f1949ff40dc584c2c47459e69d2d4d 100644 (file)
@@ -4588,7 +4588,7 @@ static int zynqmp_init(struct platform_device *pdev)
 
        if (bp->phy_interface == PHY_INTERFACE_MODE_SGMII) {
                /* Ensure PS-GTR PHY device used in SGMII mode is ready */
-               bp->sgmii_phy = devm_phy_get(&pdev->dev, "sgmii-phy");
+               bp->sgmii_phy = devm_phy_optional_get(&pdev->dev, NULL);
 
                if (IS_ERR(bp->sgmii_phy)) {
                        ret = PTR_ERR(bp->sgmii_phy);