Message ID | 20200605200520.20831-3-huobean@gmail.com (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Series | scsi: ufs: cleanup UFS driver | expand |
> > From: Bean Huo <beanhuo@micron.com> > > 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. > > Signed-off-by: Bean Huo <beanhuo@micron.com> > --- > 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
Hi Bean, > -----Original Message----- > From: Winkler, Tomas <tomas.winkler@intel.com> > Sent: 07 June 2020 04:58 > To: Bean Huo <huobean@gmail.com>; alim.akhtar@samsung.com; > avri.altman@wdc.com; asutoshd@codeaurora.org; jejb@linux.ibm.com; > martin.petersen@oracle.com; stanley.chu@mediatek.com; > beanhuo@micron.com; bvanassche@acm.org; cang@codeaurora.org; > ebiggers@kernel.org > Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: RE: [PATCH v3 2/2] scsi: ufs: remove wrapper function > ufshcd_setup_clocks() > > > > > > From: Bean Huo <beanhuo@micron.com> > > > > 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@micron.com> > > --- > > 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
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)