Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a94e3fbe authored by Dan Williams's avatar Dan Williams
Browse files

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



Communicate the command format and supported functions to userspace
tooling.

Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 6634fb06
Loading
Loading
Loading
Loading
+26 −0
Original line number Original line Diff line number Diff line
@@ -897,6 +897,30 @@ static ssize_t serial_show(struct device *dev,
}
}
static DEVICE_ATTR_RO(serial);
static DEVICE_ATTR_RO(serial);


static ssize_t family_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{
	struct nvdimm *nvdimm = to_nvdimm(dev);
	struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);

	if (nfit_mem->family < 0)
		return -ENXIO;
	return sprintf(buf, "%d\n", nfit_mem->family);
}
static DEVICE_ATTR_RO(family);

static ssize_t dsm_mask_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{
	struct nvdimm *nvdimm = to_nvdimm(dev);
	struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm);

	if (nfit_mem->family < 0)
		return -ENXIO;
	return sprintf(buf, "%#lx\n", nfit_mem->dsm_mask);
}
static DEVICE_ATTR_RO(dsm_mask);

static ssize_t flags_show(struct device *dev,
static ssize_t flags_show(struct device *dev,
		struct device_attribute *attr, char *buf)
		struct device_attribute *attr, char *buf)
{
{
@@ -920,6 +944,8 @@ static struct attribute *acpi_nfit_dimm_attributes[] = {
	&dev_attr_serial.attr,
	&dev_attr_serial.attr,
	&dev_attr_rev_id.attr,
	&dev_attr_rev_id.attr,
	&dev_attr_flags.attr,
	&dev_attr_flags.attr,
	&dev_attr_family.attr,
	&dev_attr_dsm_mask.attr,
	NULL,
	NULL,
};
};