> On 7/31/24 5:20 AM, Avri Altman wrote: > > +static ssize_t capabilities_show(struct device *dev, > > + struct device_attribute *attr, char *buf) { > > + struct ufs_hba *hba = dev_get_drvdata(dev); > > + > > + return sysfs_emit(buf, "0x%x\n", hba->capabilities); } > > For every new sysfs entry that is added, documentation must be added in > Documentation/ABI/testing/sysfs-driver-ufs. Done. > > > +static ssize_t ext_capabilities_show(struct device *dev, > > + struct device_attribute *attr, char *buf) { > > + int ret; > > + u32 val; > > + struct ufs_hba *hba = dev_get_drvdata(dev); > > + > > + if (hba->ufs_version < ufshci_version(4, 0)) > > + return -EOPNOTSUPP; > > + > > + ret = ufshcd_read_hci_reg(hba, &val, > REG_EXT_CONTROLLER_CAPABILITIES); > > + if (ret) > > + return ret; > > + > > + return sysfs_emit(buf, "0x%x\n", val); } > > Host controller register reads must be protected by > ufshcd_rpm_get_sync(hba) / ufshcd_rpm_put_sync(hba). Done. I guess that those need to be added to auto_hibern8_show as well. Thanks, Avri > > Thanks, > > Bart.