Blame SOURCES/0009-dmidecode-Adding-firmware-revision-support-to-s-opti.patch

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