[PATCH 1/1] efi_selftest: simplify endian conversion for FDT test

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Thu Nov 25 18:58:10 CET 2021


UEFI code is always little-endian. Remove a superfluous test.

Remove a superfluous type conversion.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 lib/efi_selftest/efi_selftest_fdt.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/lib/efi_selftest/efi_selftest_fdt.c b/lib/efi_selftest/efi_selftest_fdt.c
index eae98208f6..412ba286ea 100644
--- a/lib/efi_selftest/efi_selftest_fdt.c
+++ b/lib/efi_selftest/efi_selftest_fdt.c
@@ -23,23 +23,24 @@ static const char *fdt;
 static const efi_guid_t fdt_guid = EFI_FDT_GUID;
 static const efi_guid_t acpi_guid = EFI_ACPI_TABLE_GUID;
 
-/*
- * Convert FDT value to host endianness.
+/**
+ * f2h() - convert FDT value to host endianness.
  *
- * @val		FDT value
- * @return	converted value
+ * UEFI code is always low endian. The FDT is big endian.
+ *
+ * @val:	FDT value
+ * Return:	converted value
  */
 static uint32_t f2h(fdt32_t val)
 {
 	char *buf = (char *)&val;
 	char i;
 
-#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
 	/* Swap the bytes */
 	i = buf[0]; buf[0] = buf[3]; buf[3] = i;
 	i = buf[1]; buf[1] = buf[2]; buf[2] = i;
-#endif
-	return *(uint32_t *)buf;
+
+	return val;
 }
 
 /**
-- 
2.32.0



More information about the U-Boot mailing list