diff options
author | Andrew Lunn <andrew@lunn.ch> | 2014-02-04 18:33:13 +0100 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-02-05 06:48:58 +0100 |
commit | 90aa2997029fa623fe9e3ec3a469a00a34130237 (patch) | |
tree | 2da9ff5ee00061ae2c39cccaea0905f60d317273 | |
parent | drivers: phy: Add support for optional phys (diff) | |
download | linux-90aa2997029fa623fe9e3ec3a469a00a34130237.tar.xz linux-90aa2997029fa623fe9e3ec3a469a00a34130237.zip |
ata: sata_mv: Fix probe failures with optional phys
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>
-rw-r--r-- | drivers/ata/sata_mv.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 20a7517bd339..52b8181ddafd 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -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]); |