summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-09-25 07:03:17 -0600
committerTom Rini <trini@konsulko.com>2021-10-08 15:53:26 -0400
commit5d3248a688c2368be54aaa9407be30adfa994abc (patch)
tree5f91893da368e86ff51ec69efdf42f849e2b01eb
parent3d2a47f11c1e77e79aa4f04dc787b25054822267 (diff)
downloadu-boot-5d3248a688c2368be54aaa9407be30adfa994abc.tar.gz
u-boot-5d3248a688c2368be54aaa9407be30adfa994abc.tar.bz2
u-boot-5d3248a688c2368be54aaa9407be30adfa994abc.zip
image: Split host code out into its own file
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>
-rw-r--r--common/image-board.c17
-rw-r--r--common/image-host.c27
-rw-r--r--common/image.c38
-rw-r--r--tools/Makefile1
4 files changed, 46 insertions, 37 deletions
diff --git a/common/image-board.c b/common/image-board.c
index 835751e07c..898f0a2b7b 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 0000000000..20a9521948
--- /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@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 ed7f188b59..3eb6a7fca1 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>
@@ -528,41 +527,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 4a86321f64..999fd46531 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -113,6 +113,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 \