Message ID | 20220423140245.394092-3-manivannan.sadhasivam@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Qcom UFS driver updates | expand |
On Sat 23 Apr 07:02 PDT 2022, Manivannan Sadhasivam wrote: > There is no need to call devm_phy_get() if ACPI is used, so skip it. > The "host->generic_phy" pointer should already be NULL due to the kzalloc, > so no need to set it NULL again. > > Also, don't print the error message in case of -EPROBE_DEFER and return > the error code directly. > > While at it, also remove the comment that has no relationship with > devm_phy_get(). > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > drivers/scsi/ufs/ufs-qcom.c | 26 +++++--------------------- > 1 file changed, 5 insertions(+), 21 deletions(-) > > diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c > index bee81b45299e..6ee33cc0ad09 100644 > --- a/drivers/scsi/ufs/ufs-qcom.c > +++ b/drivers/scsi/ufs/ufs-qcom.c > @@ -1022,28 +1022,12 @@ static int ufs_qcom_init(struct ufs_hba *hba) > err = 0; > } > > - /* > - * voting/devoting device ref_clk source is time consuming hence > - * skip devoting it during aggressive clock gating. This clock > - * will still be gated off during runtime suspend. > - */ > - host->generic_phy = devm_phy_get(dev, "ufsphy"); > - > - if (host->generic_phy == ERR_PTR(-EPROBE_DEFER)) { > - /* > - * UFS driver might be probed before the phy driver does. > - * In that case we would like to return EPROBE_DEFER code. > - */ > - err = -EPROBE_DEFER; > - dev_warn(dev, "%s: required phy device. hasn't probed yet. err = %d\n", > - __func__, err); > - goto out_variant_clear; > - } else if (IS_ERR(host->generic_phy)) { > - if (has_acpi_companion(dev)) { > - host->generic_phy = NULL; > - } else { > + if (!has_acpi_companion(dev)) { > + host->generic_phy = devm_phy_get(dev, "ufsphy"); > + if (IS_ERR(host->generic_phy)) { > err = PTR_ERR(host->generic_phy); > - dev_err(dev, "%s: PHY get failed %d\n", __func__, err); > + if (err != -EPROBE_DEFER) > + dev_err_probe(dev, err, "Failed to get PHY\n"); I believe the idiomatic form is: err = dev_err_probe(dev, PTR_ERR(host->generic_phy), "Failed to get PHY\n"); But as with the previous patch, please remove the condition and you have my: Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Regards, Bjorn > goto out_variant_clear; > } > } > -- > 2.25.1 >
On Sat, Apr 23, 2022 at 08:16:55AM -0700, Bjorn Andersson wrote: > On Sat 23 Apr 07:02 PDT 2022, Manivannan Sadhasivam wrote: > > > There is no need to call devm_phy_get() if ACPI is used, so skip it. > > The "host->generic_phy" pointer should already be NULL due to the kzalloc, > > so no need to set it NULL again. > > > > Also, don't print the error message in case of -EPROBE_DEFER and return > > the error code directly. > > > > While at it, also remove the comment that has no relationship with > > devm_phy_get(). > > > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > --- > > drivers/scsi/ufs/ufs-qcom.c | 26 +++++--------------------- > > 1 file changed, 5 insertions(+), 21 deletions(-) > > > > diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c > > index bee81b45299e..6ee33cc0ad09 100644 > > --- a/drivers/scsi/ufs/ufs-qcom.c > > +++ b/drivers/scsi/ufs/ufs-qcom.c > > @@ -1022,28 +1022,12 @@ static int ufs_qcom_init(struct ufs_hba *hba) > > err = 0; > > } > > > > - /* > > - * voting/devoting device ref_clk source is time consuming hence > > - * skip devoting it during aggressive clock gating. This clock > > - * will still be gated off during runtime suspend. > > - */ > > - host->generic_phy = devm_phy_get(dev, "ufsphy"); > > - > > - if (host->generic_phy == ERR_PTR(-EPROBE_DEFER)) { > > - /* > > - * UFS driver might be probed before the phy driver does. > > - * In that case we would like to return EPROBE_DEFER code. > > - */ > > - err = -EPROBE_DEFER; > > - dev_warn(dev, "%s: required phy device. hasn't probed yet. err = %d\n", > > - __func__, err); > > - goto out_variant_clear; > > - } else if (IS_ERR(host->generic_phy)) { > > - if (has_acpi_companion(dev)) { > > - host->generic_phy = NULL; > > - } else { > > + if (!has_acpi_companion(dev)) { > > + host->generic_phy = devm_phy_get(dev, "ufsphy"); > > + if (IS_ERR(host->generic_phy)) { > > err = PTR_ERR(host->generic_phy); > > - dev_err(dev, "%s: PHY get failed %d\n", __func__, err); > > + if (err != -EPROBE_DEFER) > > + dev_err_probe(dev, err, "Failed to get PHY\n"); > > I believe the idiomatic form is: > err = dev_err_probe(dev, PTR_ERR(host->generic_phy), "Failed to get PHY\n"); > > > But as with the previous patch, please remove the condition and you have > my: > > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > Regards, > Bjorn With the Bjorn's suggested change applied: Reviewed-by: Andrew Halaney <ahalaney@redhat.com> Thanks, Andrew > > > goto out_variant_clear; > > } > > } > > -- > > 2.25.1 > > >
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index bee81b45299e..6ee33cc0ad09 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -1022,28 +1022,12 @@ static int ufs_qcom_init(struct ufs_hba *hba) err = 0; } - /* - * voting/devoting device ref_clk source is time consuming hence - * skip devoting it during aggressive clock gating. This clock - * will still be gated off during runtime suspend. - */ - host->generic_phy = devm_phy_get(dev, "ufsphy"); - - if (host->generic_phy == ERR_PTR(-EPROBE_DEFER)) { - /* - * UFS driver might be probed before the phy driver does. - * In that case we would like to return EPROBE_DEFER code. - */ - err = -EPROBE_DEFER; - dev_warn(dev, "%s: required phy device. hasn't probed yet. err = %d\n", - __func__, err); - goto out_variant_clear; - } else if (IS_ERR(host->generic_phy)) { - if (has_acpi_companion(dev)) { - host->generic_phy = NULL; - } else { + if (!has_acpi_companion(dev)) { + host->generic_phy = devm_phy_get(dev, "ufsphy"); + if (IS_ERR(host->generic_phy)) { err = PTR_ERR(host->generic_phy); - dev_err(dev, "%s: PHY get failed %d\n", __func__, err); + if (err != -EPROBE_DEFER) + dev_err_probe(dev, err, "Failed to get PHY\n"); goto out_variant_clear; } }
There is no need to call devm_phy_get() if ACPI is used, so skip it. The "host->generic_phy" pointer should already be NULL due to the kzalloc, so no need to set it NULL again. Also, don't print the error message in case of -EPROBE_DEFER and return the error code directly. While at it, also remove the comment that has no relationship with devm_phy_get(). Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- drivers/scsi/ufs/ufs-qcom.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-)