[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