diff mbox series

[v5,20/26] fdt: Drop #ifdefs with MULTI_DTB_FIT

Message ID 20211026002344.405160-21-sjg@chromium.org
State Changes Requested
Delegated to: Tom Rini
Headers show
Series fdt: Make OF_BOARD a boolean option | expand

Commit Message

Simon Glass Oct. 26, 2021, 12:23 a.m. UTC
Refactor the code to drop the #ifdefs for this feature.

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

(no changes since v1)

 dts/Kconfig                       |  1 -
 include/asm-generic/global_data.h |  8 ++++++++
 lib/fdtdec.c                      | 31 +++++++++++--------------------
 3 files changed, 19 insertions(+), 21 deletions(-)

Comments

Ilias Apalodimas Oct. 29, 2021, 5:55 a.m. UTC | #1
Hi Simon,

likewise, since this is a pretty big patchset split it of in
refactoring/new code patchsets so we can actually review it.

Thanks
/Ilias
On Mon, Oct 25, 2021 at 06:23:38PM -0600, Simon Glass wrote:
> Refactor the code to drop the #ifdefs for this feature.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> (no changes since v1)
> 
>  dts/Kconfig                       |  1 -
>  include/asm-generic/global_data.h |  8 ++++++++
>  lib/fdtdec.c                      | 31 +++++++++++--------------------
>  3 files changed, 19 insertions(+), 21 deletions(-)
> 
> diff --git a/dts/Kconfig b/dts/Kconfig
> index 20ddc534a61..0f7e3ad7db7 100644
> --- a/dts/Kconfig
> +++ b/dts/Kconfig
> @@ -176,7 +176,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.
> diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
> index 16fd305a65c..99daa20c765 100644
> --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -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
>   *
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 58ea8f70cfe..15a990e5b98 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -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)
>  /*
> @@ -1603,7 +1598,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;
>  
>  	/*
> @@ -1621,10 +1615,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)
> @@ -1659,7 +1652,6 @@ int fdtdec_setup(void)
>  	return ret;
>  }
>  
> -#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
>  int fdtdec_resetup(int *rescan)
>  {
>  	void *fdt_blob;
> @@ -1670,8 +1662,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) {
>  			/*
> @@ -1695,7 +1687,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,
> -- 
> 2.33.0.1079.g6e70778dc9-goog
>
diff mbox series

Patch

diff --git a/dts/Kconfig b/dts/Kconfig
index 20ddc534a61..0f7e3ad7db7 100644
--- a/dts/Kconfig
+++ b/dts/Kconfig
@@ -176,7 +176,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.
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index 16fd305a65c..99daa20c765 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -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
  *
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 58ea8f70cfe..15a990e5b98 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -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)
 /*
@@ -1603,7 +1598,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;
 
 	/*
@@ -1621,10 +1615,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)
@@ -1659,7 +1652,6 @@  int fdtdec_setup(void)
 	return ret;
 }
 
-#if CONFIG_IS_ENABLED(MULTI_DTB_FIT)
 int fdtdec_resetup(int *rescan)
 {
 	void *fdt_blob;
@@ -1670,8 +1662,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) {
 			/*
@@ -1695,7 +1687,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,