Re: [PATCH v1] phy/qcom-qmp-combo: propagate correct return value at phy_power_on()

2024-03-28 Thread Stephen Boyd
Quoting Kuogee Hsieh (2024-03-28 14:07:15)
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c 
> b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> index 36632fa..884973a 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> @@ -2754,6 +2754,7 @@ static int qmp_combo_dp_power_on(struct phy *phy)
> const struct qmp_phy_cfg *cfg = qmp->cfg;
> void __iomem *tx = qmp->dp_tx;
> void __iomem *tx2 = qmp->dp_tx2;
> +   int ret = 0;

Please don't initialize locals that are unused before being assigned
unconditionally.

>
> mutex_lock(&qmp->phy_mutex);
>
> @@ -2766,11 +2767,11 @@ static int qmp_combo_dp_power_on(struct phy *phy)
> cfg->configure_dp_tx(qmp);
>
> /* Configure link rate, swing, etc. */
> -   cfg->configure_dp_phy(qmp);
> +   ret = cfg->configure_dp_phy(qmp);
>
> mutex_unlock(&qmp->phy_mutex);
>
> -   return 0;
> +   return ret;
>  }


Re: [PATCH v1] phy/qcom-qmp-combo: propagate correct return value at phy_power_on()

2024-03-28 Thread Dmitry Baryshkov
On Thu, 28 Mar 2024 at 23:36, Abhinav Kumar  wrote:
>
>
>
> On 3/28/2024 2:07 PM, Kuogee Hsieh wrote:
> > Currently qmp_combo_dp_power_on() always return 0 in regardless of
> > return value of cfg->configure_dp_phy(). This patch propagate
> > return value of cfg->configure_dp_phy() all the way back to caller.
> >
>
> This is good. But I am also thinking if we should add some prints in
> this driver like it doesnt even tell where it failed like here
>
>
>  ret = qmp_v456_configure_dp_phy(qmp);
>  if (ret < 0)
>  return ret;
>
> > Signed-off-by: Kuogee Hsieh 
> > ---
> >   drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 5 +++--
> >   1 file changed, 3 insertions(+), 2 deletions(-)
> >
>
> Also, I think we should have
>
> Fixes: 94a407cc17a4 ("phy: qcom-qmp: create copies of QMP PHY driver")
>
> If there is a better fixes tag for this, please let me know.

Fixes: 52e013d0bffa ("phy: qcom-qmp: Add support for DP in USB3+DP combo phy")

Otherwise LGTM

>
> > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c 
> > b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> > index 36632fa..884973a 100644
> > --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> > @@ -2754,6 +2754,7 @@ static int qmp_combo_dp_power_on(struct phy *phy)
> >   const struct qmp_phy_cfg *cfg = qmp->cfg;
> >   void __iomem *tx = qmp->dp_tx;
> >   void __iomem *tx2 = qmp->dp_tx2;
> > + int ret = 0;
> >
> >   mutex_lock(&qmp->phy_mutex);
> >
> > @@ -2766,11 +2767,11 @@ static int qmp_combo_dp_power_on(struct phy *phy)
> >   cfg->configure_dp_tx(qmp);
> >
> >   /* Configure link rate, swing, etc. */
> > - cfg->configure_dp_phy(qmp);
> > + ret = cfg->configure_dp_phy(qmp);
> >
> >   mutex_unlock(&qmp->phy_mutex);
> >
> > - return 0;
> > + return ret;
> >   }
> >
> >   static int qmp_combo_dp_power_off(struct phy *phy)



-- 
With best wishes
Dmitry


Re: [PATCH v1] phy/qcom-qmp-combo: propagate correct return value at phy_power_on()

2024-03-28 Thread Abhinav Kumar




On 3/28/2024 2:07 PM, Kuogee Hsieh wrote:

Currently qmp_combo_dp_power_on() always return 0 in regardless of
return value of cfg->configure_dp_phy(). This patch propagate
return value of cfg->configure_dp_phy() all the way back to caller.



This is good. But I am also thinking if we should add some prints in 
this driver like it doesnt even tell where it failed like here



ret = qmp_v456_configure_dp_phy(qmp);
if (ret < 0)
return ret;


Signed-off-by: Kuogee Hsieh 
---
  drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)



Also, I think we should have

Fixes: 94a407cc17a4 ("phy: qcom-qmp: create copies of QMP PHY driver")

If there is a better fixes tag for this, please let me know.


diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c 
b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
index 36632fa..884973a 100644
--- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
@@ -2754,6 +2754,7 @@ static int qmp_combo_dp_power_on(struct phy *phy)
const struct qmp_phy_cfg *cfg = qmp->cfg;
void __iomem *tx = qmp->dp_tx;
void __iomem *tx2 = qmp->dp_tx2;
+   int ret = 0;
  
  	mutex_lock(&qmp->phy_mutex);
  
@@ -2766,11 +2767,11 @@ static int qmp_combo_dp_power_on(struct phy *phy)

cfg->configure_dp_tx(qmp);
  
  	/* Configure link rate, swing, etc. */

-   cfg->configure_dp_phy(qmp);
+   ret = cfg->configure_dp_phy(qmp);
  
  	mutex_unlock(&qmp->phy_mutex);
  
-	return 0;

+   return ret;
  }
  
  static int qmp_combo_dp_power_off(struct phy *phy)


[PATCH v1] phy/qcom-qmp-combo: propagate correct return value at phy_power_on()

2024-03-28 Thread Kuogee Hsieh
Currently qmp_combo_dp_power_on() always return 0 in regardless of
return value of cfg->configure_dp_phy(). This patch propagate
return value of cfg->configure_dp_phy() all the way back to caller.

Signed-off-by: Kuogee Hsieh 
---
 drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c 
b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
index 36632fa..884973a 100644
--- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
@@ -2754,6 +2754,7 @@ static int qmp_combo_dp_power_on(struct phy *phy)
const struct qmp_phy_cfg *cfg = qmp->cfg;
void __iomem *tx = qmp->dp_tx;
void __iomem *tx2 = qmp->dp_tx2;
+   int ret = 0;
 
mutex_lock(&qmp->phy_mutex);
 
@@ -2766,11 +2767,11 @@ static int qmp_combo_dp_power_on(struct phy *phy)
cfg->configure_dp_tx(qmp);
 
/* Configure link rate, swing, etc. */
-   cfg->configure_dp_phy(qmp);
+   ret = cfg->configure_dp_phy(qmp);
 
mutex_unlock(&qmp->phy_mutex);
 
-   return 0;
+   return ret;
 }
 
 static int qmp_combo_dp_power_off(struct phy *phy)
-- 
2.7.4