Re: [PATCH V5 07/11] phy: qcom-qmp-ufs: Remove qmp_ufs_exit() and Inline qmp_ufs_com_exit()

Nitin Rawat
2025-05-21T22:19:45Z

On 5/21/2025 7:19 PM, Manivannan Sadhasivam wrote:
> On Thu, May 15, 2025 at 09:57:18PM +0530, Nitin Rawat wrote:
>> qmp_ufs_exit() is a wrapper function. It only calls qmp_ufs_com_exit().
>> Remove it to simplify the ufs phy driver.
>>
>
> Okay, so you are doing it now...

Yes

>
>> Additonally partial Inline(dropping the reset assert) qmp_ufs_com_exit
>> into qmp_ufs_power_off function to avoid unnecessary function call.
>>
>
> Why are you dropping the reset_assert()?

This was not aligning to Phy programming guide .

>
>> Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
>> drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 19 +++++--------------
>> 1 file changed, 5 insertions(+), 14 deletions(-)
>>
>> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
>> index a5974a1fb5bb..fca47e5e8bf0 100644
>> --- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
>> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
>> @@ -1758,19 +1758,6 @@ static void qmp_ufs_init_registers(struct qmp_ufs *qmp, const struct qmp_phy_cfg
>> qmp_ufs_init_all(qmp, &cfg->tbls_hs_b);
>> }
>>
>> -static int qmp_ufs_com_exit(struct qmp_ufs *qmp)
>> -{
>> - const struct qmp_phy_cfg *cfg = qmp->cfg;
>> -
>> - reset_control_assert(qmp->ufs_reset);
>> -
>> - clk_bulk_disable_unprepare(qmp->num_clks, qmp->clks);
>> -
>> - regulator_bulk_disable(cfg->num_vregs, qmp->vregs);
>> -
>> - return 0;
>> -}
>> -
>> static int qmp_ufs_power_on(struct phy *phy)
>> {
>> struct qmp_ufs *qmp = phy_get_drvdata(phy);
>> @@ -1851,7 +1838,11 @@ static int qmp_ufs_power_off(struct phy *phy)
>> qphy_clrbits(qmp->pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL],
>> SW_PWRDN);
>>
>> - qmp_ufs_com_exit(qmp);
>> + /* Turn off all the phy clocks */
>
> You should drop this and below comment. They add no value.

Comments are actually provided for each operation within
qmp_ufs_power_off which actually facilitate understanding of all actions
performed by the function which may not be fully clear by code. Hence
I thought to keep the comments. But If you insist i'll remove.

Thanks.
Nitin

>
> - Mani
>