From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex G. Date: Fri, 14 May 2021 10:37:54 -0500 Subject: [PATCH v2 21/50] hash: Drop some #ifdefs in hash.c In-Reply-To: <20210506142438.1310977-5-sjg@chromium.org> References: <20210506142438.1310977-1-sjg@chromium.org> <20210506142438.1310977-5-sjg@chromium.org> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 5/6/21 9:24 AM, Simon Glass wrote: > We can use the __maybe_unused attribute to avoid some of the #ifdefs in > this file. Update the functions accordingly. What is __maybe_unused? Does u-boot support booting quantum computers? > Note: The actual hashing interface is still a mess, with four separate > combinations and lots of #ifdefs. This should really use a driver > approach, e.g. as is done with partition drivers. > > Signed-off-by: Simon Glass > --- > > (no changes since v1) > > common/hash.c | 54 ++++++++++++++++++++++++--------------------------- > 1 file changed, 25 insertions(+), 29 deletions(-) > > diff --git a/common/hash.c b/common/hash.c > index 987d238c66c..1ccc62f162d 100644 > --- a/common/hash.c > +++ b/common/hash.c > @@ -24,6 +24,7 @@ > #include > #else > #include "mkimage.h" > +#include > #include > #include > #endif /* !USE_HOSTCC*/ > @@ -42,8 +43,7 @@ DECLARE_GLOBAL_DATA_PTR; > > static void reloc_update(void); > > -#if CONFIG_IS_ENABLED(SHA1) && !CONFIG_IS_ENABLED(SHA_PROG_HW_ACCEL) > -static int hash_init_sha1(struct hash_algo *algo, void **ctxp) > +static int __maybe_unused hash_init_sha1(struct hash_algo *algo, void **ctxp) > { > sha1_context *ctx = malloc(sizeof(sha1_context)); > sha1_starts(ctx); > @@ -51,15 +51,16 @@ static int hash_init_sha1(struct hash_algo *algo, void **ctxp) > return 0; > } > > -static int hash_update_sha1(struct hash_algo *algo, void *ctx, const void *buf, > - unsigned int size, int is_last) > +static int __maybe_unused hash_update_sha1(struct hash_algo *algo, void *ctx, > + const void *buf, unsigned int size, > + int is_last) > { > sha1_update((sha1_context *)ctx, buf, size); > return 0; > } > > -static int hash_finish_sha1(struct hash_algo *algo, void *ctx, void *dest_buf, > - int size) > +static int __maybe_unused hash_finish_sha1(struct hash_algo *algo, void *ctx, > + void *dest_buf, int size) > { > if (size < algo->digest_size) > return -1; > @@ -68,10 +69,8 @@ static int hash_finish_sha1(struct hash_algo *algo, void *ctx, void *dest_buf, > free(ctx); > return 0; > } > -#endif > > -#if CONFIG_IS_ENABLED(SHA256) && !CONFIG_IS_ENABLED(SHA_PROG_HW_ACCEL) > -static int hash_init_sha256(struct hash_algo *algo, void **ctxp) > +static int __maybe_unused hash_init_sha256(struct hash_algo *algo, void **ctxp) > { > sha256_context *ctx = malloc(sizeof(sha256_context)); > sha256_starts(ctx); > @@ -79,15 +78,16 @@ static int hash_init_sha256(struct hash_algo *algo, void **ctxp) > return 0; > } > > -static int hash_update_sha256(struct hash_algo *algo, void *ctx, > - const void *buf, unsigned int size, int is_last) > +static int __maybe_unused hash_update_sha256(struct hash_algo *algo, void *ctx, > + const void *buf, uint size, > + int is_last) > { > sha256_update((sha256_context *)ctx, buf, size); > return 0; > } > > -static int hash_finish_sha256(struct hash_algo *algo, void *ctx, void > - *dest_buf, int size) > +static int __maybe_unused hash_finish_sha256(struct hash_algo *algo, void *ctx, > + void *dest_buf, int size) > { > if (size < algo->digest_size) > return -1; > @@ -96,10 +96,8 @@ static int hash_finish_sha256(struct hash_algo *algo, void *ctx, void > free(ctx); > return 0; > } > -#endif > > -#if CONFIG_IS_ENABLED(SHA384) && !CONFIG_IS_ENABLED(SHA_PROG_HW_ACCEL) > -static int hash_init_sha384(struct hash_algo *algo, void **ctxp) > +static int __maybe_unused hash_init_sha384(struct hash_algo *algo, void **ctxp) > { > sha512_context *ctx = malloc(sizeof(sha512_context)); > sha384_starts(ctx); > @@ -107,15 +105,16 @@ static int hash_init_sha384(struct hash_algo *algo, void **ctxp) > return 0; > } > > -static int hash_update_sha384(struct hash_algo *algo, void *ctx, > - const void *buf, unsigned int size, int is_last) > +static int __maybe_unused hash_update_sha384(struct hash_algo *algo, void *ctx, > + const void *buf, uint size, > + int is_last) > { > sha384_update((sha512_context *)ctx, buf, size); > return 0; > } > > -static int hash_finish_sha384(struct hash_algo *algo, void *ctx, void > - *dest_buf, int size) > +static int __maybe_unused hash_finish_sha384(struct hash_algo *algo, void *ctx, > + void *dest_buf, int size) > { > if (size < algo->digest_size) > return -1; > @@ -124,10 +123,8 @@ static int hash_finish_sha384(struct hash_algo *algo, void *ctx, void > free(ctx); > return 0; > } > -#endif > > -#if CONFIG_IS_ENABLED(SHA512) && !CONFIG_IS_ENABLED(SHA_PROG_HW_ACCEL) > -static int hash_init_sha512(struct hash_algo *algo, void **ctxp) > +static int __maybe_unused hash_init_sha512(struct hash_algo *algo, void **ctxp) > { > sha512_context *ctx = malloc(sizeof(sha512_context)); > sha512_starts(ctx); > @@ -135,15 +132,16 @@ static int hash_init_sha512(struct hash_algo *algo, void **ctxp) > return 0; > } > > -static int hash_update_sha512(struct hash_algo *algo, void *ctx, > - const void *buf, unsigned int size, int is_last) > +static int __maybe_unused hash_update_sha512(struct hash_algo *algo, void *ctx, > + const void *buf, uint size, > + int is_last) > { > sha512_update((sha512_context *)ctx, buf, size); > return 0; > } > > -static int hash_finish_sha512(struct hash_algo *algo, void *ctx, void > - *dest_buf, int size) > +static int __maybe_unused hash_finish_sha512(struct hash_algo *algo, void *ctx, > + void *dest_buf, int size) > { > if (size < algo->digest_size) > return -1; > @@ -152,8 +150,6 @@ static int hash_finish_sha512(struct hash_algo *algo, void *ctx, void > free(ctx); > return 0; > } > -#endif > - > > static int hash_init_crc16_ccitt(struct hash_algo *algo, void **ctxp) > { >