Hi Bean, On Fri, 2020-12-11 at 15:00 +0100, Bean Huo wrote: > From: Bean Huo <beanhuo@xxxxxxxxxx> > > UFS device-related flags should be grouped in ufs_dev_info. Take > wb_enabled and wb_buf_flush_enabled out from the struct ufs_hba, > group them to struct ufs_dev_info, and align the names of the structure > members vertically > > Signed-off-by: Bean Huo <beanhuo@xxxxxxxxxx> > --- > drivers/scsi/ufs/ufs-sysfs.c | 2 +- > drivers/scsi/ufs/ufs.h | 33 +++++++++++++++++++-------------- > drivers/scsi/ufs/ufshcd.c | 16 ++++++++-------- > drivers/scsi/ufs/ufshcd.h | 2 -- > 4 files changed, 28 insertions(+), 25 deletions(-) > > diff --git a/drivers/scsi/ufs/ufs-sysfs.c b/drivers/scsi/ufs/ufs-sysfs.c > index 2b4e9fe935cc..4bd7e18bb486 100644 > --- a/drivers/scsi/ufs/ufs-sysfs.c > +++ b/drivers/scsi/ufs/ufs-sysfs.c > @@ -194,7 +194,7 @@ static ssize_t wb_on_show(struct device *dev, struct device_attribute *attr, > { > struct ufs_hba *hba = dev_get_drvdata(dev); > > - return scnprintf(buf, PAGE_SIZE, "%d\n", hba->wb_enabled); > + return scnprintf(buf, PAGE_SIZE, "%d\n", hba->dev_info.wb_enabled); > } > > static ssize_t wb_on_store(struct device *dev, struct device_attribute *attr, > diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h > index 14dfda735adf..45bebca29fdd 100644 > --- a/drivers/scsi/ufs/ufs.h > +++ b/drivers/scsi/ufs/ufs.h > @@ -527,22 +527,27 @@ struct ufs_vreg_info { > }; > > struct ufs_dev_info { > - bool f_power_on_wp_en; > + bool f_power_on_wp_en; > /* Keeps information if any of the LU is power on write protected */ > - bool is_lu_power_on_wp; > + bool is_lu_power_on_wp; > /* Maximum number of general LU supported by the UFS device */ > - u8 max_lu_supported; > - u8 wb_dedicated_lu; > - u16 wmanufacturerid; > - /*UFS device Product Name */ > - u8 *model; > - u16 wspecversion; > - u32 clk_gating_wait_us; > - u32 d_ext_ufs_feature_sup; > - u8 b_wb_buffer_type; > - u32 d_wb_alloc_units; > - bool b_rpm_dev_flush_capable; > - u8 b_presrv_uspc_en; > + u8 max_lu_supported; > + u16 wmanufacturerid; > + /* UFS device Product Name */ > + u8 *model; > + u16 wspecversion; > + u32 clk_gating_wait_us; > + u32 d_ext_ufs_feature_sup; > + > + /* UFS WB related flags */ > + bool wb_enabled; > + bool wb_buf_flush_enabled; > + u8 wb_dedicated_lu; > + u8 b_wb_buffer_type; > + u32 d_wb_alloc_units; > + > + bool b_rpm_dev_flush_capable; > + u8 b_presrv_uspc_en; Perhaps we could unify the style of these WB related stuff to wb_* ? Besides, I am not sure if using tab instead space between the type and name in this struct is a good idea. Thanks, Stanley Chu > }; > > /** > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 6a5532b752aa..528c257df48c 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -589,8 +589,8 @@ static void ufshcd_device_reset(struct ufs_hba *hba) > if (!err) { > ufshcd_set_ufs_dev_active(hba); > if (ufshcd_is_wb_allowed(hba)) { > - hba->wb_enabled = false; > - hba->wb_buf_flush_enabled = false; > + hba->dev_info.wb_enabled = false; > + hba->dev_info.wb_buf_flush_enabled = false; > } > } > if (err != -EOPNOTSUPP) > @@ -5359,7 +5359,7 @@ int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable) > if (!ufshcd_is_wb_allowed(hba)) > return 0; > > - if (!(enable ^ hba->wb_enabled)) > + if (!(enable ^ hba->dev_info.wb_enabled)) > return 0; > if (enable) > opcode = UPIU_QUERY_OPCODE_SET_FLAG; > @@ -5375,7 +5375,7 @@ int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable) > return ret; > } > > - hba->wb_enabled = enable; > + hba->dev_info.wb_enabled = enable; > dev_dbg(hba->dev, "%s write booster %s %d\n", > __func__, enable ? "enable" : "disable", ret); > > @@ -5415,7 +5415,7 @@ static int ufshcd_wb_buf_flush_enable(struct ufs_hba *hba) > int ret; > u8 index; > > - if (!ufshcd_is_wb_allowed(hba) || hba->wb_buf_flush_enabled) > + if (!ufshcd_is_wb_allowed(hba) || hba->dev_info.wb_buf_flush_enabled) > return 0; > > index = ufshcd_wb_get_query_index(hba); > @@ -5426,7 +5426,7 @@ static int ufshcd_wb_buf_flush_enable(struct ufs_hba *hba) > dev_err(hba->dev, "%s WB - buf flush enable failed %d\n", > __func__, ret); > else > - hba->wb_buf_flush_enabled = true; > + hba->dev_info.wb_buf_flush_enabled = true; > > dev_dbg(hba->dev, "WB - Flush enabled: %d\n", ret); > return ret; > @@ -5437,7 +5437,7 @@ static int ufshcd_wb_buf_flush_disable(struct ufs_hba *hba) > int ret; > u8 index; > > - if (!ufshcd_is_wb_allowed(hba) || !hba->wb_buf_flush_enabled) > + if (!ufshcd_is_wb_allowed(hba) || !hba->dev_info.wb_buf_flush_enabled) > return 0; > > index = ufshcd_wb_get_query_index(hba); > @@ -5448,7 +5448,7 @@ static int ufshcd_wb_buf_flush_disable(struct ufs_hba *hba) > dev_warn(hba->dev, "%s: WB - buf flush disable failed %d\n", > __func__, ret); > } else { > - hba->wb_buf_flush_enabled = false; > + hba->dev_info.wb_buf_flush_enabled = false; > dev_dbg(hba->dev, "WB - Flush disabled: %d\n", ret); > } > > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > index 2a97006a2c93..45c3eca88f0e 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -805,8 +805,6 @@ struct ufs_hba { > > struct device bsg_dev; > struct request_queue *bsg_queue; > - bool wb_buf_flush_enabled; > - bool wb_enabled; > struct delayed_work rpm_dev_flush_recheck_work; > > #ifdef CONFIG_SCSI_UFS_CRYPTO