]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
fdt: Drop #ifdefs with MULTI_DTB_FIT
authorSimon Glass <sjg@chromium.org>
Fri, 17 Dec 2021 03:59:25 +0000 (20:59 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 23 Dec 2021 15:24:39 +0000 (10:24 -0500)
Refactor the code to drop the #ifdefs for this feature.

Signed-off-by: Simon Glass <sjg@chromium.org>
dts/Kconfig
include/asm-generic/global_data.h
lib/fdtdec.c

index 6ebbac2a649916be3af0d22fb64f3b898f04af63..5dcc79d5192083c1f01ddab8f3fa4d96b79adcdc 100644 (file)
@@ -177,7 +177,6 @@ endchoice
 
 config MULTI_DTB_FIT_UNCOMPRESS_SZ
        hex "Size of memory reserved to uncompress the DTBs"
-       depends on (MULTI_DTB_FIT_GZIP || MULTI_DTB_FIT_LZO)
        default 0x8000
        help
           This is the size of this area where the DTBs are uncompressed.
index 16fd305a65c1cd760202cd81b23563445469034c..99daa20c765ae8289af8ee953c928fd10b43135f 100644 (file)
@@ -512,6 +512,14 @@ static_assert(sizeof(struct global_data) == GD_SIZE);
 #define gd_acpi_ctx()          NULL
 #endif
 
+#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
+#define gd_multi_dtb_fit()     gd->multi_dtb_fit
+#define gd_set_multi_dtb_fit(_dtb)     gd->multi_dtb_fit = _dtb
+#else
+#define gd_multi_dtb_fit()     NULL
+#define gd_set_multi_dtb_fit(_dtb)
+#endif
+
 /**
  * enum gd_flags - global data flags
  *
index e0ce2532f952cd802e7dba0b33c55193a1b887dd..4967ab87075d0e19ff08647e2173087f68a87207 100644 (file)
@@ -1146,11 +1146,10 @@ int fdtdec_setup_mem_size_base_lowest(void)
        return 0;
 }
 
-#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
-# if CONFIG_IS_ENABLED(MULTI_DTB_FIT_GZIP) ||\
-       CONFIG_IS_ENABLED(MULTI_DTB_FIT_LZO)
 static int uncompress_blob(const void *src, ulong sz_src, void **dstp)
 {
+#if CONFIG_IS_ENABLED(MULTI_DTB_FIT_GZIP) ||\
+       CONFIG_IS_ENABLED(MULTI_DTB_FIT_LZO)
        size_t sz_out = CONFIG_VAL(MULTI_DTB_FIT_UNCOMPRESS_SZ);
        bool gzip = 0, lzo = 0;
        ulong sz_in = sz_src;
@@ -1175,11 +1174,11 @@ static int uncompress_blob(const void *src, ulong sz_src, void **dstp)
                        return -ENOMEM;
                }
        } else  {
-#  if CONFIG_IS_ENABLED(MULTI_DTB_FIT_USER_DEFINED_AREA)
+# if CONFIG_IS_ENABLED(MULTI_DTB_FIT_USER_DEFINED_AREA)
                dst = (void *)CONFIG_VAL(MULTI_DTB_FIT_USER_DEF_ADDR);
-#  else
+# else
                return -ENOTSUPP;
-#  endif
+# endif
        }
 
        if (CONFIG_IS_ENABLED(GZIP) && gzip)
@@ -1197,16 +1196,12 @@ static int uncompress_blob(const void *src, ulong sz_src, void **dstp)
                return -EBADMSG;
        }
        *dstp = dst;
-       return 0;
-}
-# else
-static int uncompress_blob(const void *src, ulong sz_src, void **dstp)
-{
+#else
+       *dstp = (void *)src;
        *dstp = (void *)src;
+#endif
        return 0;
 }
-# endif
-#endif
 
 #if defined(CONFIG_OF_BOARD) || defined(CONFIG_OF_SEPARATE)
 /*
@@ -1606,7 +1601,6 @@ __weak int fdtdec_board_setup(const void *fdt_blob)
  */
 static void setup_multi_dtb_fit(void)
 {
-# if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
        void *blob;
 
        /*
@@ -1624,10 +1618,9 @@ static void setup_multi_dtb_fit(void)
         */
        blob = locate_dtb_in_fit(gd->fdt_blob);
        if (blob) {
-               gd->multi_dtb_fit = gd->fdt_blob;
+               gd_set_multi_dtb_fit(gd->fdt_blob);
                gd->fdt_blob = blob;
        }
-#endif /* # MULTI_DTB_FIT */
 }
 
 int fdtdec_setup(void)
@@ -1664,7 +1657,6 @@ int fdtdec_setup(void)
        return ret;
 }
 
-#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
 int fdtdec_resetup(int *rescan)
 {
        void *fdt_blob;
@@ -1675,8 +1667,8 @@ int fdtdec_resetup(int *rescan)
         * FIT image stillpresent there. Save the time and space
         * required to uncompress it again.
         */
-       if (gd->multi_dtb_fit) {
-               fdt_blob = locate_dtb_in_fit(gd->multi_dtb_fit);
+       if (gd_multi_dtb_fit()) {
+               fdt_blob = locate_dtb_in_fit(gd_multi_dtb_fit());
 
                if (fdt_blob == gd->fdt_blob) {
                        /*
@@ -1700,7 +1692,6 @@ int fdtdec_resetup(int *rescan)
        *rescan = 0;
        return 0;
 }
-#endif
 
 int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id,
                           phys_addr_t *basep, phys_size_t *sizep,