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