Re: [PATCH 2/2] scsi: ufs: Add HCI capabilities sysfs group

From: Bart Van Assche
Date: Wed Jul 31 2024 - 17:13:21 EST


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.

+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).

Thanks,

Bart.