diff mbox

[RFC,4/4] fwts: Add OPAL firmware type

Message ID 1398327504.318383.901055301099.4.gpush@pablo
State Rejected
Headers show

Commit Message

Jeremy Kerr April 24, 2014, 8:18 a.m. UTC
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

---
 src/lib/include/fwts_firmware.h |    1 +
 src/lib/src/fwts_firmware.c     |   11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/src/lib/include/fwts_firmware.h b/src/lib/include/fwts_firmware.h
index 1ef5e73..4dc4c96 100644
--- a/src/lib/include/fwts_firmware.h
+++ b/src/lib/include/fwts_firmware.h
@@ -25,6 +25,7 @@  enum firmware_type {
 	FWTS_FIRMWARE_UNKNOWN = 0,
 	FWTS_FIRMWARE_BIOS = 1,
 	FWTS_FIRMWARE_UEFI = 2,
+	FWTS_FIRMWARE_OPAL = 3,
 	FWTS_FIRMWARE_OTHER = 100,
 };
 
diff --git a/src/lib/src/fwts_firmware.c b/src/lib/src/fwts_firmware.c
index cca0615..867c4bc 100644
--- a/src/lib/src/fwts_firmware.c
+++ b/src/lib/src/fwts_firmware.c
@@ -37,11 +37,14 @@  int fwts_firmware_detect(void)
 	if (firmware_type_valid)
 		return firmware_type;
 
-	if (stat("/sys/firmware/efi", &statbuf)) {
-		/* No UEFI, Assume BIOS */
-		firmware_type = FWTS_FIRMWARE_BIOS;
-	} else {
+	if (!stat("/sys/firmware/efi", &statbuf)) {
 		firmware_type = FWTS_FIRMWARE_UEFI;
+
+	} else if (!stat("/sys/firmware/opal", &statbuf)) {
+		firmware_type = FWTS_FIRMWARE_OPAL;
+
+	} else {
+		firmware_type = FWTS_FIRMWARE_BIOS;
 	}
 
 	firmware_type_valid = true;