Hello.

On 12/16/2015 2:25 AM, Mans Rullgard wrote:

This adds support for powering on an optional PHY when activating the
device.

Signed-off-by: Mans Rullgard <m...@mansr.com>
[...]
diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c
index 9985749..d07aae1 100644
--- a/drivers/ata/sata_dwc_460ex.c
+++ b/drivers/ata/sata_dwc_460ex.c
[...]
@@ -1318,6 +1320,21 @@ static int sata_dwc_probe(struct platform_device *ofdev)
        }
  #endif

+       hsdev->phy = devm_phy_optional_get(hsdev->dev, "sata-phy");
+       if (IS_ERR(hsdev->phy)) {
+               err = PTR_ERR(hsdev->phy);
+               hsdev->phy = NULL;
+               goto error_out;
+       }
+
+       err = phy_init(hsdev->phy);
+       if (err)
+               goto error_out;

   If phy_init() fails, do we really need to call phy_exit()?

+
+       err = phy_power_on(hsdev->phy);
+       if (err)
+               goto error_out;
+
        /*
         * Now, register with libATA core, this will also initiate the
         * device discovery process, invoking our port_start() handler &
@@ -1331,6 +1348,7 @@ static int sata_dwc_probe(struct platform_device *ofdev)
        return 0;

  error_out:
+       phy_exit(hsdev->phy);
        iounmap(base);
        return err;
  }
[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to