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.