Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> writes: > 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 <mans@xxxxxxxxx> > [...] >> 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()? No, but it doesn't hurt either, and it makes the code slightly simpler. I can change it though. >> + >> + 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 > -- Måns Rullgård -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html