[PATCH 2/3] acpi: Put the version numbers in a central place

Simon Glass sjg at chromium.org
Sun Apr 30 03:21:46 CEST 2023


At present two acpi files are built every time since they use a version
number from version.h

This is not necessary. Make use of the same technique as for the version
string, so that they are build only when they change.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 cmd/version.c            |  2 ++
 include/version_string.h |  2 ++
 lib/acpi/acpi_table.c    | 15 +++++++--------
 test/dm/acpi.c           | 16 +++++++---------
 4 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/cmd/version.c b/cmd/version.c
index 190ef6a9061a..87e1fa4159c1 100644
--- a/cmd/version.c
+++ b/cmd/version.c
@@ -19,6 +19,8 @@
 	U_BOOT_TIME " " U_BOOT_TZ ")" CONFIG_IDENT_STRING
 
 const char version_string[] = U_BOOT_VERSION_STRING;
+const unsigned short version_num = U_BOOT_VERSION_NUM;
+const unsigned char version_num_patch = U_BOOT_VERSION_NUM_PATCH;
 
 static int do_version(struct cmd_tbl *cmdtp, int flag, int argc,
 		      char *const argv[])
diff --git a/include/version_string.h b/include/version_string.h
index a89a6e43705e..a7d07e4cc7ca 100644
--- a/include/version_string.h
+++ b/include/version_string.h
@@ -4,5 +4,7 @@
 #define	__VERSION_STRING_H__
 
 extern const char version_string[];
+extern const unsigned short version_num;
+extern const unsigned char version_num_patch;
 
 #endif	/* __VERSION_STRING_H__ */
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c
index 7c4189e2434b..a8d4b470001d 100644
--- a/lib/acpi/acpi_table.c
+++ b/lib/acpi/acpi_table.c
@@ -11,8 +11,7 @@
 #include <log.h>
 #include <mapmem.h>
 #include <tables_csum.h>
-#include <timestamp.h>
-#include <version.h>
+#include <version_string.h>
 #include <acpi/acpi_table.h>
 #include <asm/global_data.h>
 #include <dm/acpi.h>
@@ -25,12 +24,12 @@
  * to have valid date. So for U-Boot version 2021.04 OEM_REVISION is set to
  * value 0x20210401.
  */
-#define OEM_REVISION ((((U_BOOT_VERSION_NUM / 1000) % 10) << 28) | \
-		      (((U_BOOT_VERSION_NUM / 100) % 10) << 24) | \
-		      (((U_BOOT_VERSION_NUM / 10) % 10) << 20) | \
-		      ((U_BOOT_VERSION_NUM % 10) << 16) | \
-		      (((U_BOOT_VERSION_NUM_PATCH / 10) % 10) << 12) | \
-		      ((U_BOOT_VERSION_NUM_PATCH % 10) << 8) | \
+#define OEM_REVISION ((((version_num / 1000) % 10) << 28) | \
+		      (((version_num / 100) % 10) << 24) | \
+		      (((version_num / 10) % 10) << 20) | \
+		      ((version_num % 10) << 16) | \
+		      (((version_num_patch / 10) % 10) << 12) | \
+		      ((version_num_patch % 10) << 8) | \
 		      0x01)
 
 int acpi_create_dmar(struct acpi_dmar *dmar, enum dmar_flags flags)
diff --git a/test/dm/acpi.c b/test/dm/acpi.c
index 9634fc2e9002..818f71572c7c 100644
--- a/test/dm/acpi.c
+++ b/test/dm/acpi.c
@@ -11,10 +11,8 @@
 #include <dm.h>
 #include <malloc.h>
 #include <mapmem.h>
-#include <timestamp.h>
-#include <version.h>
 #include <tables_csum.h>
-#include <version.h>
+#include <version_string.h>
 #include <acpi/acpigen.h>
 #include <acpi/acpi_device.h>
 #include <acpi/acpi_table.h>
@@ -26,12 +24,12 @@
 
 #define BUF_SIZE		4096
 
-#define OEM_REVISION ((((U_BOOT_VERSION_NUM / 1000) % 10) << 28) | \
-		      (((U_BOOT_VERSION_NUM / 100) % 10) << 24) | \
-		      (((U_BOOT_VERSION_NUM / 10) % 10) << 20) | \
-		      ((U_BOOT_VERSION_NUM % 10) << 16) | \
-		      (((U_BOOT_VERSION_NUM_PATCH / 10) % 10) << 12) | \
-		      ((U_BOOT_VERSION_NUM_PATCH % 10) << 8) | \
+#define OEM_REVISION ((((version_num / 1000) % 10) << 28) | \
+		      (((version_num / 100) % 10) << 24) | \
+		      (((version_num / 10) % 10) << 20) | \
+		      ((version_num % 10) << 16) | \
+		      (((version_num_patch / 10) % 10) << 12) | \
+		      ((version_num_patch % 10) << 8) | \
 		      0x01)
 
 /**
-- 
2.40.1.495.gc816e09b53d-goog



More information about the U-Boot mailing list