From d70f919e49c9105c49427786a1731feae322cb7a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 17 May 2017 09:05:34 -0600 Subject: [PATCH] Kconfig: Add CONFIG_HASH to enable hashing API At present CONFIG_CMD_HASH enables the 'hash' command which also brings in the hashing API. Some boards may wish to enable the API without the command. Add a separate CONFIG to permit this. Signed-off-by: Simon Glass Reviewed-by: Tom Rini --- cmd/Kconfig | 2 ++ common/Kconfig | 12 ++++++++++++ common/Makefile | 2 +- common/hash.c | 4 ++-- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/cmd/Kconfig b/cmd/Kconfig index b05e69a8b7..1e3cd02703 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -350,6 +350,7 @@ config CMD_MEMORY config CMD_CRC32 bool "crc32" + select HASH default y help Compute CRC32. @@ -998,6 +999,7 @@ config CMD_BLOB config CMD_HASH bool "Support 'hash' command" + select HASH help This provides a way to hash data in memory using various supported algorithms (such as SHA1, MD5, CRC32). The computed digest can be diff --git a/common/Kconfig b/common/Kconfig index 1879aefaf8..5c39663f56 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -493,4 +493,16 @@ config BOARD_EARLY_INIT_F endmenu +menu "Security support" + +config HASH + bool # "Support hashing API (SHA1, SHA256, etc.)" + help + This provides a way to hash data in memory using various supported + algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h + and the algorithms it supports are defined in common/hash.c. See + also CMD_HASH for command-line access. + +endmenu + source "common/spl/Kconfig" diff --git a/common/Makefile b/common/Makefile index 14d01844ad..b2d663530d 100644 --- a/common/Makefile +++ b/common/Makefile @@ -10,7 +10,7 @@ ifndef CONFIG_SPL_BUILD obj-y += init/ obj-y += main.o obj-y += exports.o -obj-y += hash.o +obj-$(CONFIG_HASH) += hash.o obj-$(CONFIG_HUSH_PARSER) += cli_hush.o obj-$(CONFIG_AUTOBOOT) += autoboot.o diff --git a/common/hash.c b/common/hash.c index b645298afc..a0eded98d0 100644 --- a/common/hash.c +++ b/common/hash.c @@ -473,5 +473,5 @@ int hash_command(const char *algo_name, int flags, cmd_tbl_t *cmdtp, int flag, return 0; } -#endif -#endif +#endif /* CONFIG_CMD_HASH || CONFIG_CMD_SHA1SUM || CONFIG_CMD_CRC32) */ +#endif /* !USE_HOSTCC */ -- 2.25.1