History

nfit: add sysfs dimm 'family' and 'dsm_mask' attributes

Communicate the command format and supported functions to userspace tooling.

Dan Williams committed 10 years ago

Commit a94e3fb1 parent 6634fb01 file · +26 −0Browse files

Unified · Split

drivers/acpi/nfit.c+26−0
@@ -897,6 +897,30 @@ static ssize_t serial_show(struct device *dev, · 896 unmodified lines
897897 }
898898 static DEVICE_ATTR_RO(serial);
899899
900+static ssize_t family_show(struct device *dev,
901+ struct device_attribute *attr, char *buf)
902+{
903+ struct nvdimm *nvdimm = to_nvdimm(dev);
904+ struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
905+
906+ if (nfit_mem->family < 0)
907+ return -ENXIO;
908+ return sprintf(buf, "%d\n", nfit_mem->family);
909+}
910+static DEVICE_ATTR_RO(family);
911+
912+static ssize_t dsm_mask_show(struct device *dev,
913+ struct device_attribute *attr, char *buf)
914+{
915+ struct nvdimm *nvdimm = to_nvdimm(dev);
916+ struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);
917+
918+ if (nfit_mem->family < 0)
919+ return -ENXIO;
920+ return sprintf(buf, "%#lx\n", nfit_mem->dsm_mask);
921+}
922+static DEVICE_ATTR_RO(dsm_mask);
923+
900924 static ssize_t flags_show(struct device *dev,
901925 struct device_attribute *attr, char *buf)
902926 {
@@ -920,6 +944,8 @@ static struct attribute *acpi_nfit_dimm_attributes[] = { · 17 unmodified lines
920944 &dev_attr_serial.attr,
921945 &dev_attr_rev_id.attr,
922946 &dev_attr_flags.attr,
947+ &dev_attr_family.attr,
948+ &dev_attr_dsm_mask.attr,
923949 NULL,
924950 };
925951