[PATCH 11/49] image: Split host code out into its own file

Simon Glass
2021-05-03T23:10:58Z

To avoid having #ifdefs in a few functions which are completely different
in the board and host code, create a new image-host.c file.

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

(no changes since v1)

common/image-board.c | 17 +++++++++++++++++
common/image-host.c | 27 +++++++++++++++++++++++++++
common/image.c | 38 +-------------------------------------
tools/Makefile | 1 +
4 files changed, 46 insertions(+), 37 deletions(-)
create mode 100644 common/image-host.c

diff --git a/common/image-board.c b/common/image-board.c
index 5d3eafb5245..b46062c86b9 100644
--- a/common/image-board.c
+++ b/common/image-board.c
@@ -15,6 +15,7 @@
#include <fpga.h>
#include <image.h>
#include <mapmem.h>
+#include <rtc.h>
#include <watchdog.h>
#include <asm/cache.h>
#include <asm/global_data.h>
@@ -925,3 +926,19 @@ int image_setup_linux(bootm_headers_t *images)
return 0;
}
#endif /* CONFIG_LMB */
+
+void genimg_print_size(uint32_t size)
+{
+ printf("%d Bytes = ", size);
+ print_size(size, "\n");
+}
+
+void genimg_print_time(time_t timestamp)
+{
+ struct rtc_time tm;
+
+ rtc_to_tm(timestamp, &tm);
+ printf("%4d-%02d-%02d %2d:%02d:%02d UTC\n",
+ tm.tm_year, tm.tm_mon, tm.tm_mday,
+ tm.tm_hour, tm.tm_min, tm.tm_sec);
+}
diff --git a/common/image-host.c b/common/image-host.c
new file mode 100644
index 00000000000..20a9521948b
--- /dev/null
+++ b/common/image-host.c
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Image code used by host tools (and not boards)
+ *
+ * (C) Copyright 2008 Semihalf
+ *
+ * (C) Copyright 2000-2006
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ */
+
+#include <time.h>
+
+void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
+{
+ memmove(to, from, len);
+}
+
+void genimg_print_size(uint32_t size)
+{
+ printf("%d Bytes = %.2f KiB = %.2f MiB\n", size, (double)size / 1.024e3,
+ (double)size / 1.048576e6);
+}
+
+void genimg_print_time(time_t timestamp)
+{
+ printf("%s", ctime(&timestamp));
+}
diff --git a/common/image.c b/common/image.c
index e9658e3ab1b..0ef8f30fcfa 100644
--- a/common/image.c
+++ b/common/image.c
@@ -18,8 +18,6 @@
#include <status_led.h>
#endif

-#include <rtc.h>
-
#if IMAGE_ENABLE_FIT || IMAGE_ENABLE_OF_LIBFDT
#include <linux/libfdt.h>
#include <fdt_support.h>
@@ -60,6 +58,7 @@ DECLARE_GLOBAL_DATA_PTR;

#include <abuf.h>
#include <bzlib.h>
+#include <display_options.h>
#include <gzip.h>
#include <image.h>
#include <lz4.h>
@@ -526,41 +525,6 @@ int image_decomp(int comp, ulong load, ulong image_start, int type,
return 0;
}

-#ifdef USE_HOSTCC
-void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
-{
- memmove(to, from, len);
-}
-#endif /* !USE_HOSTCC */
-
-void genimg_print_size(uint32_t size)
-{
-#ifndef USE_HOSTCC
- printf("%d Bytes = ", size);
- print_size(size, "\n");
-#else
- printf("%d Bytes = %.2f KiB = %.2f MiB\n",
- size, (double)size / 1.024e3,
- (double)size / 1.048576e6);
-#endif
-}
-
-#if IMAGE_ENABLE_TIMESTAMP
-void genimg_print_time(time_t timestamp)
-{
-#ifndef USE_HOSTCC
- struct rtc_time tm;
-
- rtc_to_tm(timestamp, &tm);
- printf("%4d-%02d-%02d %2d:%02d:%02d UTC\n",
- tm.tm_year, tm.tm_mon, tm.tm_mday,
- tm.tm_hour, tm.tm_min, tm.tm_sec);
-#else
- printf("%s", ctime(&timestamp));
-#endif
-}
-#endif
-
const table_entry_t *get_table_entry(const table_entry_t *table, int id)
{
for (; table->id >= 0; ++table) {
diff --git a/tools/Makefile b/tools/Makefile
index d020c55d664..2b4bc547abd 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -94,6 +94,7 @@ dumpimage-mkimage-objs := aisimage.o \
lib/fdtdec_common.o \
lib/fdtdec.o \
common/image.o \
+ common/image-host.o \
imagetool.o \
imximage.o \
imx8image.o \
--
2.31.1.527.g47e6f16901-goog