]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:29:36 +0000 (10:29 +0200)
[ Upstream commit 29e96fe9e0ec0f0fe1dd306a4ccb7b8983eae67a ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/cadence/macb_main.c

index 61284baa0496ecef02de133435964e88debab07c..ed7c2c2c44011101b4cc7291a7641fa5b687218b 100644 (file)
@@ -4594,7 +4594,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);