RE: Re: [PATCH] scsi: ufs: Refactor ufshcd_is_intr_aggr_allowed()
From: Keoseong Park <hidden>
Date: 2021-06-24 06:48:07
Also in:
lkml
On 21/06/21 11:51 am, Keoseong Park wrote:quoted
Change conditional compilation to IS_ENABLED macro, and simplify if else statement to return statement. No functional change. Signed-off-by: Keoseong Park <redacted> --- drivers/scsi/ufs/ufshcd.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-)diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index c98d540ac044..6d239a855753 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h@@ -893,16 +893,15 @@ static inline bool ufshcd_is_rpm_autosuspend_allowed(struct ufs_hba *hba) static inline bool ufshcd_is_intr_aggr_allowed(struct ufs_hba *hba) { -/* DWC UFS Core has the Interrupt aggregation feature but is not detectable*/ -#ifndef CONFIG_SCSI_UFS_DWC - if ((hba->caps & UFSHCD_CAP_INTR_AGGR) && - !(hba->quirks & UFSHCD_QUIRK_BROKEN_INTR_AGGR)) + /* + * DWC UFS Core has the Interrupt aggregation feature + * but is not detectable. + */ + if (IS_ENABLED(CONFIG_SCSI_UFS_DWC))Why is this needed? It seems like you could just set UFSHCD_CAP_INTR_AGGR and clear UFSHCD_QUIRK_BROKEN_INTR_AGGR instead?
Hello Adrian, Sorry for late reply. The code that returns true when CONFIG_SCSI_UFS_DWC is set in the original code is only changed using the IS_ENABLED macro. (Linux kernel coding style, 21) Conditional Compilation) When CONFIG_SCSI_UFS_DWC is not defined, the code for checking quirk and caps has been moved to the newly added return statement below. Thanks, Keoseong
quoted
return true; - else - return false; -#else -return true; -#endif + + return (hba->caps & UFSHCD_CAP_INTR_AGGR) && + !(hba->quirks & UFSHCD_QUIRK_BROKEN_INTR_AGGR); } static inline bool ufshcd_can_aggressive_pc(struct ufs_hba *hba)