acpi/nfit: Update nfit driver to comply with ACPI 6.1
ACPI 6.1, Table 5-133, updates NVDIMM Control Region Structure as follows. - Valid Fields, Manufacturing Location, and Manufacturing Date are added from reserved range. No change in the structure size. - IDs (SPD values) are stored as arrays of bytes (i.e. big-endian format). The spec clarifies that they need to be represented as arrays of bytes as well. This patch makes the following changes to support this update. - Change the NFIT driver to show SPD ID values in big-endian format. - Change sprintf format to use "0x" instead of "#" since "%#02x" does not prepend '0'. link: http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf 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
							
								
									8804f2525a
								
							
						
					
					
						commit
						5ad9a7fde0
					
				| @ -816,7 +816,7 @@ static ssize_t vendor_show(struct device *dev, | |||||||
| { | { | ||||||
| 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | ||||||
| 
 | 
 | ||||||
| 	return sprintf(buf, "%#x\n", dcr->vendor_id); | 	return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->vendor_id)); | ||||||
| } | } | ||||||
| static DEVICE_ATTR_RO(vendor); | static DEVICE_ATTR_RO(vendor); | ||||||
| 
 | 
 | ||||||
| @ -825,7 +825,7 @@ static ssize_t rev_id_show(struct device *dev, | |||||||
| { | { | ||||||
| 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | ||||||
| 
 | 
 | ||||||
| 	return sprintf(buf, "%#x\n", dcr->revision_id); | 	return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->revision_id)); | ||||||
| } | } | ||||||
| static DEVICE_ATTR_RO(rev_id); | static DEVICE_ATTR_RO(rev_id); | ||||||
| 
 | 
 | ||||||
| @ -834,7 +834,7 @@ static ssize_t device_show(struct device *dev, | |||||||
| { | { | ||||||
| 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | ||||||
| 
 | 
 | ||||||
| 	return sprintf(buf, "%#x\n", dcr->device_id); | 	return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->device_id)); | ||||||
| } | } | ||||||
| static DEVICE_ATTR_RO(device); | static DEVICE_ATTR_RO(device); | ||||||
| 
 | 
 | ||||||
| @ -843,7 +843,7 @@ static ssize_t format_show(struct device *dev, | |||||||
| { | { | ||||||
| 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | ||||||
| 
 | 
 | ||||||
| 	return sprintf(buf, "%#x\n", dcr->code); | 	return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->code)); | ||||||
| } | } | ||||||
| static DEVICE_ATTR_RO(format); | static DEVICE_ATTR_RO(format); | ||||||
| 
 | 
 | ||||||
| @ -852,7 +852,7 @@ static ssize_t serial_show(struct device *dev, | |||||||
| { | { | ||||||
| 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | 	struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); | ||||||
| 
 | 
 | ||||||
| 	return sprintf(buf, "%#x\n", dcr->serial_number); | 	return sprintf(buf, "0x%08x\n", be32_to_cpu(dcr->serial_number)); | ||||||
| } | } | ||||||
| static DEVICE_ATTR_RO(serial); | static DEVICE_ATTR_RO(serial); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user