Commit 6ca72085 authored by Dan Williams's avatar Dan Williams

nfit: export subsystem ids as attributes

Similar to pci-sysfs export the subsystem information available in the
NFIT.  ACPI 6.1 clarifies that this data is copied as an array of bytes
from the DIMM SPD data.
Reported-by: default avatarRyon Jensen <ryon.jensen@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 30ec5fd4
...@@ -847,6 +847,34 @@ static ssize_t format_show(struct device *dev, ...@@ -847,6 +847,34 @@ static ssize_t format_show(struct device *dev,
} }
static DEVICE_ATTR_RO(format); static DEVICE_ATTR_RO(format);
static ssize_t subsystem_vendor_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev);
return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_vendor_id));
}
static DEVICE_ATTR_RO(subsystem_vendor);
static ssize_t subsystem_rev_id_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev);
return sprintf(buf, "0x%04x\n",
be16_to_cpu(dcr->subsystem_revision_id));
}
static DEVICE_ATTR_RO(subsystem_rev_id);
static ssize_t subsystem_device_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev);
return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_device_id));
}
static DEVICE_ATTR_RO(subsystem_device);
static ssize_t serial_show(struct device *dev, static ssize_t serial_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
...@@ -893,9 +921,12 @@ static struct attribute *acpi_nfit_dimm_attributes[] = { ...@@ -893,9 +921,12 @@ static struct attribute *acpi_nfit_dimm_attributes[] = {
&dev_attr_phys_id.attr, &dev_attr_phys_id.attr,
&dev_attr_vendor.attr, &dev_attr_vendor.attr,
&dev_attr_device.attr, &dev_attr_device.attr,
&dev_attr_rev_id.attr,
&dev_attr_subsystem_vendor.attr,
&dev_attr_subsystem_device.attr,
&dev_attr_subsystem_rev_id.attr,
&dev_attr_format.attr, &dev_attr_format.attr,
&dev_attr_serial.attr, &dev_attr_serial.attr,
&dev_attr_rev_id.attr,
&dev_attr_flags.attr, &dev_attr_flags.attr,
&dev_attr_id.attr, &dev_attr_id.attr,
NULL, NULL,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment