[PATCH 04/11] version: Move version_string[] from version.h to version_string.h

Pali Rohár
2021-08-02T13:20:51Z

More C files do not use compile time timestamp macros and do not have to be
recompiled every time when SOURCE_DATE_EPOCH changes.

This patch moves version_string[] from version.h to version_string.h and
updates other C files which only needs version_string[] string to include
version_string.h instead of version.h. After applying this patch these
files are not recompiled every time when SOURCE_DATE_EPOCH changes.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
board/ge/b1x5v2/b1x5v2.c | 2 +-
board/ge/bx50v3/bx50v3.c | 2 +-
board/ge/mx53ppd/mx53ppd.c | 2 +-
cmd/version.c | 1 +
common/main.c | 2 +-
drivers/video/cfb_console.c | 3 +--
include/version.h | 3 ---
include/version_string.h | 8 ++++++++
lib/display_options.c | 2 +-
lib/efi_loader/efi_tcg2.c | 2 +-
test/print_ut.c | 2 +-
11 files changed, 17 insertions(+), 12 deletions(-)
create mode 100644 include/version_string.h

diff --git a/board/ge/b1x5v2/b1x5v2.c b/board/ge/b1x5v2/b1x5v2.c
index de4cb0d5afaa..a2cbd1512e92 100644
--- a/board/ge/b1x5v2/b1x5v2.c
+++ b/board/ge/b1x5v2/b1x5v2.c
@@ -30,7 +30,7 @@
#include <panel.h>
#include <rtc.h>
#include <spi_flash.h>
-#include <version.h>
+#include <version_string.h>

#include "../common/vpd_reader.h"

diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c
index 7fcebba02600..ed700f4e1da5 100644
--- a/board/ge/bx50v3/bx50v3.c
+++ b/board/ge/bx50v3/bx50v3.c
@@ -34,7 +34,7 @@
#include <power/pmic.h>
#include <input.h>
#include <pwm.h>
-#include <version.h>
+#include <version_string.h>
#include <stdlib.h>
#include <dm/root.h>
#include "../common/ge_rtc.h"
diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index 6174125e728a..f540fe1f3668 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -33,7 +33,7 @@
#include <fsl_pmic.h>
#include <linux/fb.h>
#include <ipu_pixfmt.h>
-#include <version.h>
+#include <version_string.h>
#include <watchdog.h>
#include "ppd_gpio.h"
#include <stdlib.h>
diff --git a/cmd/version.c b/cmd/version.c
index 685b458ce262..965ac2e2144d 100644
--- a/cmd/version.c
+++ b/cmd/version.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <command.h>
#include <version.h>
+#include <version_string.h>
#include <linux/compiler.h>
#ifdef CONFIG_SYS_COREBOOT
#include <asm/cb_sysinfo.h>
diff --git a/common/main.c b/common/main.c
index ae5bcdb32f8b..3f5214fd44b8 100644
--- a/common/main.c
+++ b/common/main.c
@@ -15,7 +15,7 @@
#include <env.h>
#include <init.h>
#include <net.h>
-#include <version.h>
+#include <version_string.h>
#include <efi_loader.h>

static void run_preboot_environment_command(void)
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 1f491a48d6a7..a19c96755681 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -71,7 +71,7 @@
#include <fdtdec.h>
#include <gzip.h>
#include <log.h>
-#include <version.h>
+#include <version_string.h>
#include <malloc.h>
#include <video.h>
#include <asm/global_data.h>
@@ -108,7 +108,6 @@
* Console device
*/

-#include <version.h>
#include <linux/types.h>
#include <stdio_dev.h>
#include <video_font.h>
diff --git a/include/version.h b/include/version.h
index 2d24451569d5..0a3b29adb89a 100644
--- a/include/version.h
+++ b/include/version.h
@@ -16,7 +16,4 @@
#define U_BOOT_VERSION_STRING U_BOOT_VERSION " (" U_BOOT_DATE " - " \
U_BOOT_TIME " " U_BOOT_TZ ")" CONFIG_IDENT_STRING

-#ifndef __ASSEMBLY__
-extern const char version_string[];
-#endif /* __ASSEMBLY__ */
#endif /* __VERSION_H__ */
diff --git a/include/version_string.h b/include/version_string.h
new file mode 100644
index 000000000000..a89a6e43705e
--- /dev/null
+++ b/include/version_string.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+
+#ifndef __VERSION_STRING_H__
+#define __VERSION_STRING_H__
+
+extern const char version_string[];
+
+#endif /* __VERSION_STRING_H__ */
diff --git a/lib/display_options.c b/lib/display_options.c
index c08a87e31629..e096ef8f4e45 100644
--- a/lib/display_options.c
+++ b/lib/display_options.c
@@ -8,7 +8,7 @@
#include <compiler.h>
#include <console.h>
#include <div64.h>
-#include <version.h>
+#include <version_string.h>
#include <linux/ctype.h>
#include <asm/io.h>

diff --git a/lib/efi_loader/efi_tcg2.c b/lib/efi_loader/efi_tcg2.c
index 14353ae71c9b..b845e5531280 100644
--- a/lib/efi_loader/efi_tcg2.c
+++ b/lib/efi_loader/efi_tcg2.c
@@ -14,7 +14,7 @@
#include <efi_tcg2.h>
#include <log.h>
#include <malloc.h>
-#include <version.h>
+#include <version_string.h>
#include <tpm-v2.h>
#include <u-boot/hash-checksum.h>
#include <u-boot/sha1.h>
diff --git a/test/print_ut.c b/test/print_ut.c
index e2bcfbef0078..11d8580e55c5 100644
--- a/test/print_ut.c
+++ b/test/print_ut.c
@@ -9,7 +9,7 @@
#include <display_options.h>
#include <log.h>
#include <mapmem.h>
-#include <version.h>
+#include <version_string.h>
#include <test/suites.h>
#include <test/test.h>
#include <test/ut.h>
--
2.20.1