u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Alexandru Gagniuc <mr.nuke.me@gmail.com>,
	Andre Przywara <andre.przywara@arm.com>,
	Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
	Robert Marko <robert.marko@sartura.hr>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
	Joe Hershberger <joe.hershberger@ni.com>,
	Marek Vasut <marex@denx.de>
Subject: [PATCH v5 20/29] image: Drop unnecessary #ifdefs from image.h
Date: Sat, 25 Sep 2021 19:43:33 -0600	[thread overview]
Message-ID: <20210926014342.127913-14-sjg@chromium.org> (raw)
In-Reply-To: <20210926014342.127913-1-sjg@chromium.org>

This file has a lot of conditional code and much of it is unnecessary.
Clean this up to reduce the number of build combinations.

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

Changes in v5:
- Rebase to next

 include/image.h                | 39 ++++------------------------------
 include/u-boot/hash-checksum.h |  5 +++--
 lib/hash-checksum.c            |  2 +-
 3 files changed, 8 insertions(+), 38 deletions(-)

diff --git a/include/image.h b/include/image.h
index 0dd8481611e..4ba69a15bf0 100644
--- a/include/image.h
+++ b/include/image.h
@@ -40,11 +40,10 @@ struct fdt_region;
 
 #endif /* USE_HOSTCC */
 
-#if CONFIG_IS_ENABLED(FIT)
 #include <hash.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
-#endif /* FIT */
+#include <u-boot/hash-checksum.h>
 
 extern ulong image_load_addr;		/* Default Load Address */
 extern ulong image_save_addr;		/* Default Save Address */
@@ -504,8 +503,7 @@ int genimg_get_type_id(const char *name);
 int genimg_get_comp_id(const char *name);
 void genimg_print_size(uint32_t size);
 
-#if defined(CONFIG_TIMESTAMP) || defined(CONFIG_CMD_DATE) || \
-	defined(USE_HOSTCC)
+#if defined(CONFIG_TIMESTAMP) || defined(CONFIG_CMD_DATE) || defined(USE_HOSTCC)
 #define IMAGE_ENABLE_TIMESTAMP 1
 #else
 #define IMAGE_ENABLE_TIMESTAMP 0
@@ -523,12 +521,9 @@ enum fit_load_op {
 int boot_get_setup(bootm_headers_t *images, uint8_t arch, ulong *setup_start,
 		   ulong *setup_len);
 
-#ifndef USE_HOSTCC
 /* Image format types, returned by _get_format() routine */
 #define IMAGE_FORMAT_INVALID	0x00
-#if defined(CONFIG_LEGACY_IMAGE_FORMAT)
 #define IMAGE_FORMAT_LEGACY	0x01	/* legacy image_header based format */
-#endif
 #define IMAGE_FORMAT_FIT	0x02	/* new, libfdt based format */
 #define IMAGE_FORMAT_ANDROID	0x03	/* Android boot image */
 
@@ -567,7 +562,6 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
  */
 int boot_get_loadable(int argc, char *const argv[], bootm_headers_t *images,
 		      uint8_t arch, const ulong *ld_start, ulong *const ld_len);
-#endif /* !USE_HOSTCC */
 
 int boot_get_setup_fit(bootm_headers_t *images, uint8_t arch,
 		       ulong *setup_start, ulong *setup_len);
@@ -644,7 +638,6 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
  */
 int image_source_script(ulong addr, const char *fit_uname);
 
-#ifndef USE_HOSTCC
 /**
  * fit_get_node_from_config() - Look up an image a FIT by type
  *
@@ -684,10 +677,7 @@ int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size);
 int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len,
 		  ulong *initrd_start, ulong *initrd_end);
 int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end);
-#ifdef CONFIG_SYS_BOOT_GET_KBD
 int boot_get_kbd(struct lmb *lmb, struct bd_info **kbd);
-#endif /* CONFIG_SYS_BOOT_GET_KBD */
-#endif /* !USE_HOSTCC */
 
 /*******************************************************************/
 /* Legacy format specific code (prefixed with image_) */
@@ -802,11 +792,9 @@ static inline int image_check_type(const image_header_t *hdr, uint8_t type)
 }
 static inline int image_check_arch(const image_header_t *hdr, uint8_t arch)
 {
-#ifndef USE_HOSTCC
 	/* Let's assume that sandbox can load any architecture */
-	if (IS_ENABLED(CONFIG_SANDBOX))
+	if (!tools_build() && IS_ENABLED(CONFIG_SANDBOX))
 		return true;
-#endif
 	return (image_get_arch(hdr) == arch) ||
 		(image_get_arch(hdr) == IH_ARCH_ARM && arch == IH_ARCH_ARM64);
 }
@@ -954,7 +942,6 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
 
 #define FIT_MAX_HASH_LEN	HASH_MAX_DIGEST_SIZE
 
-#if CONFIG_IS_ENABLED(FIT)
 /* cmdline argument format parsing */
 int fit_parse_conf(const char *spec, ulong addr_curr,
 		ulong *addr, const char **conf_name);
@@ -1128,7 +1115,6 @@ int fit_conf_get_prop_node(const void *fit, int noffset,
 
 int fit_check_ramdisk(const void *fit, int os_noffset,
 		uint8_t arch, int verify);
-#endif /* FIT */
 
 int calculate_hash(const void *data, int data_len, const char *algo,
 			uint8_t *value, int *value_len);
@@ -1141,7 +1127,6 @@ int calculate_hash(const void *data, int data_len, const char *algo,
 #include <openssl/evp.h>
 #endif
 
-#if CONFIG_IS_ENABLED(FIT)
 #ifdef USE_HOSTCC
 void *image_get_host_blob(void);
 void image_set_host_blob(void *host_blob);
@@ -1150,8 +1135,6 @@ void image_set_host_blob(void *host_blob);
 # define gd_fdt_blob()		(gd->fdt_blob)
 #endif
 
-#endif /* IMAGE_ENABLE_FIT */
-
 /*
  * Information passed to the signing routines
  *
@@ -1188,9 +1171,6 @@ struct image_region {
 	int size;
 };
 
-#if CONFIG_IS_ENABLED(RSA_VERIFY)
-# include <u-boot/hash-checksum.h>
-#endif
 struct checksum_algo {
 	const char *name;
 	const int checksum_len;
@@ -1200,7 +1180,7 @@ struct checksum_algo {
 	const EVP_MD *(*calculate_sign)(void);
 #endif
 	int (*calculate)(const char *name,
-			 const struct image_region region[],
+			 const struct image_region *region,
 			 int region_count, uint8_t *checksum);
 };
 
@@ -1296,8 +1276,6 @@ struct crypto_algo *image_get_crypto_algo(const char *full_name);
  */
 struct padding_algo *image_get_padding_algo(const char *name);
 
-#if CONFIG_IS_ENABLED(FIT)
-
 /**
  * fit_image_verify_required_sigs() - Verify signatures marked as 'required'
  *
@@ -1413,10 +1391,6 @@ int fit_image_cipher_get_algo(const void *fit, int noffset, char **algo);
 
 struct cipher_algo *image_get_cipher_algo(const char *full_name);
 
-#endif /* CONFIG_FIT */
-
-#if !defined(USE_HOSTCC)
-#if defined(CONFIG_ANDROID_BOOT_IMAGE)
 struct andr_img_hdr;
 int android_image_check_header(const struct andr_img_hdr *hdr);
 int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify,
@@ -1432,12 +1406,7 @@ ulong android_image_get_end(const struct andr_img_hdr *hdr);
 ulong android_image_get_kload(const struct andr_img_hdr *hdr);
 ulong android_image_get_kcomp(const struct andr_img_hdr *hdr);
 void android_print_contents(const struct andr_img_hdr *hdr);
-#if !defined(CONFIG_SPL_BUILD)
 bool android_image_print_dtb_contents(ulong hdr_addr);
-#endif
-
-#endif /* CONFIG_ANDROID_BOOT_IMAGE */
-#endif /* !USE_HOSTCC */
 
 /**
  * board_fit_config_name_match() - Check for a matching board name
diff --git a/include/u-boot/hash-checksum.h b/include/u-boot/hash-checksum.h
index 54e6a73744e..7f16b37a9ab 100644
--- a/include/u-boot/hash-checksum.h
+++ b/include/u-boot/hash-checksum.h
@@ -7,11 +7,12 @@
 #define _RSA_CHECKSUM_H
 
 #include <errno.h>
-#include <image.h>
 #include <u-boot/sha1.h>
 #include <u-boot/sha256.h>
 #include <u-boot/sha512.h>
 
+struct image_region;
+
 /**
  * hash_calculate() - Calculate hash over the data
  *
@@ -23,7 +24,7 @@
  * @return 0 if OK, < 0 if error
  */
 int hash_calculate(const char *name,
-		   const struct image_region region[], int region_count,
+		   const struct image_region *region, int region_count,
 		   uint8_t *checksum);
 
 #endif
diff --git a/lib/hash-checksum.c b/lib/hash-checksum.c
index d732ecc38fd..8f2a42f9a08 100644
--- a/lib/hash-checksum.c
+++ b/lib/hash-checksum.c
@@ -17,7 +17,7 @@
 #include <image.h>
 
 int hash_calculate(const char *name,
-		    const struct image_region region[],
+		    const struct image_region *region,
 		    int region_count, uint8_t *checksum)
 {
 	struct hash_algo *algo;
-- 
2.33.0.685.g46640cef36-goog


  parent reply	other threads:[~2021-09-26  1:47 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-26  1:43 [PATCH v5 00/29] image: Reduce #ifdefs and ad-hoc defines in image code (Part B) Simon Glass
2021-09-26  1:43 ` [PATCH v5 01/29] compiler: Rename host_build() to tools_build() Simon Glass
2021-10-05 18:09   ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 02/29] kconfig: Add tools support to CONFIG_IS_ENABLED() Simon Glass
2021-09-27 16:11   ` Alex G.
2021-09-27 16:50     ` Masahiro Yamada
2021-09-27 20:17       ` Simon Glass
2021-09-27 20:17     ` Simon Glass
2021-10-05 18:11   ` Alex G.
2021-10-07  0:26   ` Tom Rini
2021-10-07  2:49     ` Simon Glass
2021-10-07  2:52       ` Tom Rini
2021-10-07 13:32         ` Simon Glass
2021-10-07 13:42           ` Tom Rini
2021-10-07 18:02             ` Simon Glass
2021-10-07 18:30               ` Tom Rini
2021-10-07 18:50                 ` Simon Glass
2021-10-07 19:32                   ` Alex G.
2021-10-07 19:39                     ` Tom Rini
2021-10-07 20:33                       ` Alex G.
2021-10-07 21:04                         ` Tom Rini
2021-10-07 21:15                           ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 03/29] image: Add Kconfig options for FIT in the tools build Simon Glass
2021-10-05 18:17   ` Alex G.
2021-10-05 18:17   ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 04/29] spl: cypto: Bring back SPL_ versions of SHA Simon Glass
2021-10-05 18:19   ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 05/29] hash: Use Kconfig to enable hashing in host tools and SPL Simon Glass
2021-09-27 15:53   ` Alex G.
2021-09-27 16:06     ` Simon Glass
2021-09-27 16:12       ` Alex G.
2021-10-05 18:21   ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 06/29] hash: Drop some #ifdefs in hash.c Simon Glass
2021-10-05 18:24   ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 07/29] image: Drop IMAGE_ENABLE_FIT Simon Glass
2021-10-05 18:26   ` Alex G.
2021-10-09  1:39   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 08/29] image: Drop IMAGE_ENABLE_OF_LIBFDT Simon Glass
2021-10-05 18:27   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 09/29] image: Use Kconfig to enable CONFIG_FIT_VERBOSE on host Simon Glass
2021-10-05 18:29   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 10/29] image: Use Kconfig to enable FIT_RSASSA_PSS " Simon Glass
2021-10-05 18:32   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 11/29] image: Use the correct checks for CRC32 Simon Glass
2021-10-05 18:34   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 12/29] image: Drop IMAGE_BOOT_GET_CMDLINE Simon Glass
2021-10-05 18:36   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 13/29] image: Drop IMAGE_OF_BOARD_SETUP Simon Glass
2021-10-05 18:57   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 14/29] image: Drop IMAGE_OF_SYSTEM_SETUP Simon Glass
2021-10-05 18:58   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 15/29] image: Drop IMAGE_ENABLE_IGNORE Simon Glass
2021-10-05 18:58   ` Alex G.
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 16/29] efi: Correct dependency on FIT_SIGNATURE Simon Glass
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 19/29] image: Tidy up fit_unsupported_reset() Simon Glass
2021-10-09  1:40   ` Tom Rini
2021-09-26  1:43 ` Simon Glass [this message]
2021-10-09  1:41   ` [PATCH v5 20/29] image: Drop unnecessary #ifdefs from image.h Tom Rini
2021-09-26  1:43 ` [PATCH v5 21/29] image: Drop #ifdefs for fit_print_contents() Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 22/29] image: Drop most #ifdefs in image-board.c Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 23/29] image: Reduce variable scope in boot_get_ramdisk() Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 24/29] image: Split up boot_get_ramdisk() Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 25/29] image: Remove #ifdefs from select_ramdisk() Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-12-17 17:40     ` Neil Armstrong
2021-09-26  1:43 ` [PATCH v5 26/29] image: Remove some #ifdefs from image-fit and image-fit-sig Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 27/29] image: Reduce variable scope in boot_get_fdt() Simon Glass
2021-10-09  1:41   ` Tom Rini
2021-09-26  1:43 ` [PATCH v5 28/29] image: Split up boot_get_fdt() Simon Glass
2021-10-09  1:41   ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210926014342.127913-14-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=andre.przywara@arm.com \
    --cc=joe.hershberger@ni.com \
    --cc=marex@denx.de \
    --cc=masahiroy@kernel.org \
    --cc=mr.nuke.me@gmail.com \
    --cc=rasmus.villemoes@prevas.dk \
    --cc=robert.marko@sartura.hr \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).