ata: sata_mv: Fix probe failures with optional phys
authorAndrew Lunn <andrew@lunn.ch>
Tue, 4 Feb 2014 17:33:13 +0000 (18:33 +0100)
committerJason Cooper <jason@lakedaemon.net>
Wed, 5 Feb 2014 05:48:58 +0000 (05:48 +0000)
Make use of devm_phy_optional_get() in order to fix probe failures on
Armada 370, XP and others, when there is no phy driver available.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/ata/sata_mv.c

index 20a7517..52b8181 100644 (file)
@@ -4126,12 +4126,14 @@ static int mv_platform_probe(struct platform_device *pdev)
                        clk_prepare_enable(hpriv->port_clks[port]);
 
                sprintf(port_number, "port%d", port);
-               hpriv->port_phys[port] = devm_phy_get(&pdev->dev, port_number);
+               hpriv->port_phys[port] = devm_phy_optional_get(&pdev->dev,
+                                                              port_number);
                if (IS_ERR(hpriv->port_phys[port])) {
                        rc = PTR_ERR(hpriv->port_phys[port]);
                        hpriv->port_phys[port] = NULL;
-                       if ((rc != -EPROBE_DEFER) && (rc != -ENODEV))
-                               dev_warn(&pdev->dev, "error getting phy");
+                       if (rc != -EPROBE_DEFER)
+                               dev_warn(&pdev->dev, "error getting phy %d",
+                                       rc);
                        goto err;
                } else
                        phy_power_on(hpriv->port_phys[port]);