Blame 0014-dmidecode-Adding-firmware-revision-support-to-s-opti.patch

Anton Arapov 48d35d
From 3a455213068eb3a3572908c77fafae35e5360998 Mon Sep 17 00:00:00 2001
Anton Arapov 48d35d
From: Erwan Velu <e.velu@criteo.com>
Anton Arapov 48d35d
Date: Mon, 7 Oct 2019 15:36:47 +0200
Anton Arapov 48d35d
Subject: [PATCH 14/18] dmidecode: Adding firmware-revision support to -s
Anton Arapov 48d35d
 option
Anton Arapov 48d35d
Anton Arapov 48d35d
Most of servers like HPe, QCT, report the BMC version via the
Anton Arapov 48d35d
Firmware Revision field. Add an option to the -s to export this
Anton Arapov 48d35d
information directly.
Anton Arapov 48d35d
Anton Arapov 48d35d
A typical usage of this feature looks like:
Anton Arapov 48d35d
Anton Arapov 48d35d
	[root@host ~]$ dmidecode -s firmware-revision
Anton Arapov 48d35d
	3.93
Anton Arapov 48d35d
Anton Arapov 48d35d
Signed-off-by: Erwan Velu <e.velu@criteo.com>
Anton Arapov 48d35d
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Anton Arapov 48d35d
---
Anton Arapov 48d35d
 dmidecode.c     | 4 ++++
Anton Arapov 48d35d
 dmiopt.c        | 1 +
Anton Arapov 48d35d
 man/dmidecode.8 | 2 +-
Anton Arapov 48d35d
 3 files changed, 6 insertions(+), 1 deletion(-)
Anton Arapov 48d35d
Anton Arapov 48d35d
diff --git a/dmidecode.c b/dmidecode.c
Anton Arapov 48d35d
index e4cd6d8..aef18f8 100644
Anton Arapov 48d35d
--- a/dmidecode.c
Anton Arapov 48d35d
+++ b/dmidecode.c
Anton Arapov 48d35d
@@ -5086,6 +5086,10 @@ static void dmi_table_string(const struct dmi_header *h, const u8 *data, u16 ver
Anton Arapov 48d35d
 			if (data[key - 1] != 0xFF && data[key] != 0xFF)
Anton Arapov 48d35d
 				printf("%u.%u\n", data[key - 1], data[key]);
Anton Arapov 48d35d
 			break;
Anton Arapov 48d35d
+		case 0x017: /* -s firmware-revision */
Anton Arapov 48d35d
+			if (data[key - 1] != 0xFF && data[key] != 0xFF)
Anton Arapov 48d35d
+				printf("%u.%u\n", data[key - 1], data[key]);
Anton Arapov 48d35d
+			break;
Anton Arapov 48d35d
 		case 0x108:
Anton Arapov 48d35d
 			dmi_system_uuid(data + offset, ver);
Anton Arapov 48d35d
 			printf("\n");
Anton Arapov 48d35d
diff --git a/dmiopt.c b/dmiopt.c
Anton Arapov 48d35d
index 9ceb35a..1c3b760 100644
Anton Arapov 48d35d
--- a/dmiopt.c
Anton Arapov 48d35d
+++ b/dmiopt.c
Anton Arapov 48d35d
@@ -152,6 +152,7 @@ static const struct string_keyword opt_string_keyword[] = {
Anton Arapov 48d35d
 	{ "bios-version", 0, 0x05 },
Anton Arapov 48d35d
 	{ "bios-release-date", 0, 0x08 },
Anton Arapov 48d35d
 	{ "bios-revision", 0, 0x15 },		/* 0x14 and 0x15 */
Anton Arapov 48d35d
+	{ "firmware-revision", 0, 0x17 },	/* 0x16 and 0x17 */
Anton Arapov 48d35d
 	{ "system-manufacturer", 1, 0x04 },
Anton Arapov 48d35d
 	{ "system-product-name", 1, 0x05 },
Anton Arapov 48d35d
 	{ "system-version", 1, 0x06 },
Anton Arapov 48d35d
diff --git a/man/dmidecode.8 b/man/dmidecode.8
Anton Arapov 48d35d
index c3f8713..4602088 100644
Anton Arapov 48d35d
--- a/man/dmidecode.8
Anton Arapov 48d35d
+++ b/man/dmidecode.8
Anton Arapov 48d35d
@@ -74,7 +74,7 @@ displayed. Meta-data and handle references are hidden.
Anton Arapov 48d35d
 Only display the value of the \s-1DMI\s0 string identified by \fBKEYWORD\fR.
Anton Arapov 48d35d
 \fBKEYWORD\fR must be a keyword from the following list: \fBbios-vendor\fR,
Anton Arapov 48d35d
 \fBbios-version\fR, \fBbios-release-date\fR,
Anton Arapov 48d35d
-\fBbios-revision\fR,
Anton Arapov 48d35d
+\fBbios-revision\fR, \fBfirmware-revision\fR,
Anton Arapov 48d35d
 \fBsystem-manufacturer\fR, \fBsystem-product-name\fR,
Anton Arapov 48d35d
 \fBsystem-version\fR, \fBsystem-serial-number\fR,
Anton Arapov 48d35d
 \fBsystem-uuid\fR, \fBsystem-family\fR,
Anton Arapov 48d35d
-- 
Anton Arapov 48d35d
2.24.0
Anton Arapov 48d35d