forked from Minki/linux
acpi/nfit: Add sysfs "id" for NVDIMM ID
ACPI 6.1, section 5.2.25.9, defines an identifier for an NVDIMM. Change the NFIT driver to add a new sysfs file "id" under nfit directory. Signed-off-by: Toshi Kani <toshi.kani@hpe.com> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Robert Moore <robert.moore@intel.com> Cc: Robert Elliott <elliott@hpe.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
5ad9a7fde0
commit
38a879ba9c
@ -870,6 +870,24 @@ static ssize_t flags_show(struct device *dev,
|
||||
}
|
||||
static DEVICE_ATTR_RO(flags);
|
||||
|
||||
static ssize_t id_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev);
|
||||
|
||||
if (dcr->valid_fields & ACPI_NFIT_CONTROL_MFG_INFO_VALID)
|
||||
return sprintf(buf, "%04x-%02x-%04x-%08x\n",
|
||||
be16_to_cpu(dcr->vendor_id),
|
||||
dcr->manufacturing_location,
|
||||
be16_to_cpu(dcr->manufacturing_date),
|
||||
be32_to_cpu(dcr->serial_number));
|
||||
else
|
||||
return sprintf(buf, "%04x-%08x\n",
|
||||
be16_to_cpu(dcr->vendor_id),
|
||||
be32_to_cpu(dcr->serial_number));
|
||||
}
|
||||
static DEVICE_ATTR_RO(id);
|
||||
|
||||
static struct attribute *acpi_nfit_dimm_attributes[] = {
|
||||
&dev_attr_handle.attr,
|
||||
&dev_attr_phys_id.attr,
|
||||
@ -879,6 +897,7 @@ static struct attribute *acpi_nfit_dimm_attributes[] = {
|
||||
&dev_attr_serial.attr,
|
||||
&dev_attr_rev_id.attr,
|
||||
&dev_attr_flags.attr,
|
||||
&dev_attr_id.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user