Re: [PATCH v1 1/1] scsi: ufshcd: Allow zero value setting to Auto-Hibernate Timer

From: Bart Van Assche
Date: Fri Aug 28 2020 - 23:14:03 EST


On 2020-08-28 18:05, Bao D. Nguyen wrote:
> static ssize_t auto_hibern8_show(struct device *dev,
> struct device_attribute *attr, char *buf)
> {
> + u32 ahit;
> struct ufs_hba *hba = dev_get_drvdata(dev);

Although not strictly required for SCSI code, how about following the "reverse
christmas tree" convention and adding "u32 ahit" below the "hba" declaration?

> if (!ufshcd_is_auto_hibern8_supported(hba))
> return -EOPNOTSUPP;
>
> - return snprintf(buf, PAGE_SIZE, "%d\n", ufshcd_ahit_to_us(hba->ahit));
> + pm_runtime_get_sync(hba->dev);
> + ufshcd_hold(hba, false);
> + ahit = ufshcd_readl(hba, REG_AUTO_HIBERNATE_IDLE_TIMER);
> + ufshcd_release(hba);
> + pm_runtime_put_sync(hba->dev);
> +
> + return scnprintf(buf, PAGE_SIZE, "%d\n", ufshcd_ahit_to_us(ahit));
> }

Why the pm_runtime_get_sync()/pm_runtime_put_sync() and
ufshcd_hold()/ufshcd_release() calls? I don't think these are necessary here.

Thanks,

Bart.