Merge tag 'dm-pull-22aug20' of https://gitlab.denx.de/u-boot/custodians/u-boot-dm
[platform/kernel/u-boot.git] / lib / display_options.c
index cff20f3..ea9977c 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <compiler.h>
 #include <console.h>
 #include <div64.h>
 #include <version.h>
@@ -137,19 +138,13 @@ int print_buffer(ulong addr, const void *data, uint width, uint count,
 {
        /* linebuf as a union causes proper alignment */
        union linebuf {
-#ifdef CONFIG_SYS_SUPPORT_64BIT_DATA
                uint64_t uq[MAX_LINE_LENGTH_BYTES/sizeof(uint64_t) + 1];
-#endif
                uint32_t ui[MAX_LINE_LENGTH_BYTES/sizeof(uint32_t) + 1];
                uint16_t us[MAX_LINE_LENGTH_BYTES/sizeof(uint16_t) + 1];
                uint8_t  uc[MAX_LINE_LENGTH_BYTES/sizeof(uint8_t) + 1];
        } lb;
        int i;
-#ifdef CONFIG_SYS_SUPPORT_64BIT_DATA
-       uint64_t __maybe_unused x;
-#else
-       uint32_t __maybe_unused x;
-#endif
+       ulong x;
 
        if (linelen*width > MAX_LINE_LENGTH_BYTES)
                linelen = MAX_LINE_LENGTH_BYTES / width;
@@ -168,20 +163,16 @@ int print_buffer(ulong addr, const void *data, uint width, uint count,
                for (i = 0; i < thislinelen; i++) {
                        if (width == 4)
                                x = lb.ui[i] = *(volatile uint32_t *)data;
-#ifdef CONFIG_SYS_SUPPORT_64BIT_DATA
-                       else if (width == 8)
-                               x = lb.uq[i] = *(volatile uint64_t *)data;
-#endif
+                       else if (MEM_SUPPORT_64BIT_DATA && width == 8)
+                               x = lb.uq[i] = *(volatile ulong *)data;
                        else if (width == 2)
                                x = lb.us[i] = *(volatile uint16_t *)data;
                        else
                                x = lb.uc[i] = *(volatile uint8_t *)data;
 #if defined(CONFIG_SPL_BUILD)
                        printf(" %x", (uint)x);
-#elif defined(CONFIG_SYS_SUPPORT_64BIT_DATA)
-                       printf(" %0*llx", width * 2, (long long)x);
 #else
-                       printf(" %0*x", width * 2, x);
+                       printf(" %0*lx", width * 2, x);
 #endif
                        data += width;
                }
@@ -205,8 +196,10 @@ int print_buffer(ulong addr, const void *data, uint width, uint count,
                addr += thislinelen * width;
                count -= thislinelen;
 
+#ifndef CONFIG_SPL_BUILD
                if (ctrlc())
                        return -1;
+#endif
        }
 
        return 0;