Re: [PATCH 2/5] scsi: ufs: qcom: Simplify handling of devm_phy_get()

Andrew Halaney
2022-04-22T16:51:19Z

On Fri, Apr 22, 2022 at 06:51:37PM +0530, 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 5db0fd922062..5f0a8f646eb5 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(dev, "Failed to get PHY: %d\n", err);

Risking sounding like a bad broken record, but I think this too could
use dev_err_probe().

Looks good to me otherwise!

> goto out_variant_clear;
> }
> }
> --
> 2.25.1
>