aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-04-28 21:18:05 -0400
committerDan Williams <dan.j.williams@intel.com>2016-05-05 22:02:45 -0400
commita94e3fbe4d53d4e512c4ea88a475e605b8d8dccb (patch)
tree374034ce7235e2eca188f5f36f09a0322595f984 /drivers/acpi
parent6634fb06906f52a3a3125e88681a7fa6e353f31d (diff)
nfit: add sysfs dimm 'family' and 'dsm_mask' attributes
Communicate the command format and supported functions to userspace tooling. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/nfit.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c
index ad4fc869fbb7..bf2d7a20d9d7 100644
--- a/drivers/acpi/nfit.c
+++ b/drivers/acpi/nfit.c
@@ -897,6 +897,30 @@ static ssize_t serial_show(struct device *dev,
897} 897}
898static DEVICE_ATTR_RO(serial); 898static DEVICE_ATTR_RO(serial);
899 899
900static 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}
910static DEVICE_ATTR_RO(family);
911
912static 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}
922static DEVICE_ATTR_RO(dsm_mask);
923
900static ssize_t flags_show(struct device *dev, 924static ssize_t flags_show(struct device *dev,
901 struct device_attribute *attr, char *buf) 925 struct device_attribute *attr, char *buf)
902{ 926{
@@ -920,6 +944,8 @@ static struct attribute *acpi_nfit_dimm_attributes[] = {
920 &dev_attr_serial.attr, 944 &dev_attr_serial.attr,
921 &dev_attr_rev_id.attr, 945 &dev_attr_rev_id.attr,
922 &dev_attr_flags.attr, 946 &dev_attr_flags.attr,
947 &dev_attr_family.attr,
948 &dev_attr_dsm_mask.attr,
923 NULL, 949 NULL,
924}; 950};
925 951