RE: [PATCH v3 2/2] scsi: ufs: remove wrapper function ufshcd_setup_clocks()

From: Alim Akhtar
Date: Thu Jun 11 2020 - 12:00:21 EST


Hi Bean,

> -----Original Message-----
> From: Winkler, Tomas <tomas.winkler@xxxxxxxxx>
> Sent: 07 June 2020 04:58
> To: Bean Huo <huobean@xxxxxxxxx>; alim.akhtar@xxxxxxxxxxx;
> avri.altman@xxxxxxx; asutoshd@xxxxxxxxxxxxxx; jejb@xxxxxxxxxxxxx;
> martin.petersen@xxxxxxxxxx; stanley.chu@xxxxxxxxxxxx;
> beanhuo@xxxxxxxxxx; bvanassche@xxxxxxx; cang@xxxxxxxxxxxxxx;
> ebiggers@xxxxxxxxxx
> Cc: linux-scsi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: RE: [PATCH v3 2/2] scsi: ufs: remove wrapper function
> ufshcd_setup_clocks()
>
>
> >
> > From: Bean Huo <beanhuo@xxxxxxxxxx>
> >
> > The static function ufshcd_setup_clocks() is just a wrapper around
> > __ufshcd_setup_clocks(), remove it. Rename original function wrapped
> > __ufshcd_setup_clocks() to new ufshcd_setup_clocks().
>
> Not sure about this change, we have only one call with skip_ref_clock set
to
> true, the original code actually make sense from readability stand point.
>
I do agree with Tomas, it easy to read and understand the original code.
Thanks

> >
> > Signed-off-by: Bean Huo <beanhuo@xxxxxxxxxx>
> > ---
> > drivers/scsi/ufs/ufshcd.c | 32 ++++++++++++--------------------
> > 1 file changed, 12 insertions(+), 20 deletions(-)
> >
> > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> > index ec4f55211648..531d0b7878db 100644
> > --- a/drivers/scsi/ufs/ufshcd.c
> > +++ b/drivers/scsi/ufs/ufshcd.c
> > @@ -215,9 +215,7 @@ static int ufshcd_eh_host_reset_handler(struct
> > scsi_cmnd *cmd); static int ufshcd_clear_tm_cmd(struct ufs_hba *hba,
> > int tag); static void ufshcd_hba_exit(struct ufs_hba *hba); static
> > int ufshcd_probe_hba(struct ufs_hba *hba, bool async); -static int
> > __ufshcd_setup_clocks(struct ufs_hba *hba, bool on,
> > - bool skip_ref_clk);
> > -static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on);
> > +static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on, bool
> > +skip_ref_clk);
> > static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba); static
> > inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba);
> > static int ufshcd_host_reset_and_restore(struct ufs_hba *hba); @@
> > -1497,7 +1495,7 @@ static void ufshcd_ungate_work(struct work_struct
> *work)
> > }
> >
> > spin_unlock_irqrestore(hba->host->host_lock, flags);
> > - ufshcd_setup_clocks(hba, true);
> > + ufshcd_setup_clocks(hba, true, false);
> >
> > ufshcd_enable_irq(hba);
> >
> > @@ -1655,10 +1653,10 @@ static void ufshcd_gate_work(struct
> > work_struct
> > *work)
> > ufshcd_disable_irq(hba);
> >
> > if (!ufshcd_is_link_active(hba))
> > - ufshcd_setup_clocks(hba, false);
> > + ufshcd_setup_clocks(hba, false, false);
> > else
> > /* If link is active, device ref_clk can't be switched off
*/
> > - __ufshcd_setup_clocks(hba, false, true);
> > + ufshcd_setup_clocks(hba, false, true);
> >
> > /*
> > * In case you are here to cancel this work the gating state @@ -
> > 7683,8 +7681,7 @@ static int ufshcd_init_hba_vreg(struct ufs_hba *hba)
> > return 0;
> > }
> >
> > -static int __ufshcd_setup_clocks(struct ufs_hba *hba, bool on,
> > - bool skip_ref_clk)
> > +static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on, bool
> > +skip_ref_clk)
> > {
> > int ret = 0;
> > struct ufs_clk_info *clki;
> > @@ -7747,11 +7744,6 @@ static int __ufshcd_setup_clocks(struct ufs_hba
> > *hba, bool on,
> > return ret;
> > }
> >
> > -static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on) -{
> > - return __ufshcd_setup_clocks(hba, on, false);
> > -}
> > -
> > static int ufshcd_init_clocks(struct ufs_hba *hba) {
> > int ret = 0;
> > @@ -7858,7 +7850,7 @@ static int ufshcd_hba_init(struct ufs_hba *hba)
> > if (err)
> > goto out_disable_hba_vreg;
> >
> > - err = ufshcd_setup_clocks(hba, true);
> > + err = ufshcd_setup_clocks(hba, true, false);
> > if (err)
> > goto out_disable_hba_vreg;
> >
> > @@ -7880,7 +7872,7 @@ static int ufshcd_hba_init(struct ufs_hba *hba)
> > out_disable_vreg:
> > ufshcd_setup_vreg(hba, false);
> > out_disable_clks:
> > - ufshcd_setup_clocks(hba, false);
> > + ufshcd_setup_clocks(hba, false, false);
> > out_disable_hba_vreg:
> > ufshcd_setup_hba_vreg(hba, false);
> > out:
> > @@ -7896,7 +7888,7 @@ static void ufshcd_hba_exit(struct ufs_hba *hba)
> > if (ufshcd_is_clkscaling_supported(hba))
> > if (hba->devfreq)
> > ufshcd_suspend_clkscaling(hba);
> > - ufshcd_setup_clocks(hba, false);
> > + ufshcd_setup_clocks(hba, false, false);
> > ufshcd_setup_hba_vreg(hba, false);
> > hba->is_powered = false;
> > ufs_put_device_desc(hba);
> > @@ -8259,10 +8251,10 @@ static int ufshcd_suspend(struct ufs_hba *hba,
> > enum ufs_pm_op pm_op)
> > ufshcd_disable_irq(hba);
> >
> > if (!ufshcd_is_link_active(hba))
> > - ufshcd_setup_clocks(hba, false);
> > + ufshcd_setup_clocks(hba, false, false);
> > else
> > /* If link is active, device ref_clk can't be switched off
*/
> > - __ufshcd_setup_clocks(hba, false, true);
> > + ufshcd_setup_clocks(hba, false, true);
> >
> > hba->clk_gating.state = CLKS_OFF;
> > trace_ufshcd_clk_gating(dev_name(hba->dev), hba-
> > >clk_gating.state); @@ -8321,7 +8313,7 @@ static int
> > >ufshcd_resume(struct
> > ufs_hba *hba, enum ufs_pm_op pm_op)
> >
> > ufshcd_hba_vreg_set_hpm(hba);
> > /* Make sure clocks are enabled before accessing controller */
> > - ret = ufshcd_setup_clocks(hba, true);
> > + ret = ufshcd_setup_clocks(hba, true, false);
> > if (ret)
> > goto out;
> >
> > @@ -8404,7 +8396,7 @@ static int ufshcd_resume(struct ufs_hba *hba,
> > enum ufs_pm_op pm_op)
> > ufshcd_disable_irq(hba);
> > if (hba->clk_scaling.is_allowed)
> > ufshcd_suspend_clkscaling(hba);
> > - ufshcd_setup_clocks(hba, false);
> > + ufshcd_setup_clocks(hba, false, false);
> > out:
> > hba->pm_op_in_progress = 0;
> > if (ret)
> > --
> > 2.17.1