[PATCH 1/8] Convert CONFIG_ENV_MIN_ENTRIES et al to Kconfig
Tom Rini
trini at konsulko.com
Mon Jun 13 02:01:58 CEST 2022
This converts the following to Kconfig:
CONFIG_ENV_MIN_ENTRIES
CONFIG_ENV_MAX_ENTRIES
Cc: Michal Simek <michal.simek at amd.com>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
I'm not 100% sure that what was being done in xilinx_zynqmp.h was
working before this change. If we _need_ to tweak this value down in
SPL we need to introduce CONFIG_SPL_ENV_{MIN,MAX}_ENTRIES and use
CONFIG_VAL() in the code.
---
README | 8 --------
configs/clearfog_defconfig | 1 +
configs/helios4_defconfig | 1 +
env/Kconfig | 16 ++++++++++++++++
include/configs/clearfog.h | 2 --
include/configs/helios4.h | 2 --
include/configs/xilinx_zynqmp.h | 5 -----
lib/hashtable.c | 7 -------
8 files changed, 18 insertions(+), 24 deletions(-)
diff --git a/README b/README
index 841f8ce082c0..7649dae36338 100644
--- a/README
+++ b/README
@@ -1877,14 +1877,6 @@ Configuration Settings:
while unprotecting/erasing/programming. Please only enable
this option if you really know what you are doing.
-- CONFIG_ENV_MAX_ENTRIES
-
- Maximum number of entries in the hash table that is used
- internally to store the environment settings. The default
- setting is supposed to be generous and should work in most
- cases. This setting can be used to tune behaviour; see
- lib/hashtable.c for details.
-
- CONFIG_ENV_FLAGS_LIST_DEFAULT
- CONFIG_ENV_FLAGS_LIST_STATIC
Enable validation of the values given to environment variables when
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
index bec36beb8554..1ee0c6637573 100644
--- a/configs/clearfog_defconfig
+++ b/configs/clearfog_defconfig
@@ -50,6 +50,7 @@ CONFIG_CMD_TIME=y
CONFIG_CMD_MVEBU_BUBT=y
# CONFIG_SPL_PARTITION_UUIDS is not set
CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_MIN_ENTRIES=128
CONFIG_ARP_TIMEOUT=200
CONFIG_NET_RETRY_COUNT=50
CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig
index 2a1db65d1bfd..4642eb1ccb25 100644
--- a/configs/helios4_defconfig
+++ b/configs/helios4_defconfig
@@ -51,6 +51,7 @@ CONFIG_CMD_TIME=y
CONFIG_CMD_MVEBU_BUBT=y
# CONFIG_SPL_PARTITION_UUIDS is not set
CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_MIN_ENTRIES=128
CONFIG_ARP_TIMEOUT=200
CONFIG_NET_RETRY_COUNT=50
CONFIG_NET_RANDOM_ETHADDR=y
diff --git a/env/Kconfig b/env/Kconfig
index 2f625b22575a..0aed7aea46bc 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -30,6 +30,22 @@ config ENV_OVERWRITE
Use this to permit overriding of certain environmental variables
like Ethernet and Serial
+config ENV_MIN_ENTRIES
+ int "Minimum number of entries in the environment hashtable"
+ default 64
+ help
+ Minimum number of entries in the hash table that is used internally
+ to store the environment settings.
+
+config ENV_MAX_ENTRIES
+ int "Maximumm number of entries in the environment hashtable"
+ default 512
+ help
+ Maximum number of entries in the hash table that is used internally
+ to store the environment settings. The default setting is supposed to
+ be generous and should work in most cases. This setting can be used
+ to tune behaviour; see lib/hashtable.c for details.
+
config ENV_IS_NOWHERE
bool "Environment is not stored"
default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index af04352eda3b..9969269bf2ac 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -18,8 +18,6 @@
* U-Boot into it.
*/
-#define CONFIG_ENV_MIN_ENTRIES 128
-
/* Environment in MMC */
/*
* For SD - reserve 1 LBA for MBR + 1M for u-boot image. The MMC/eMMC
diff --git a/include/configs/helios4.h b/include/configs/helios4.h
index cae20073584c..ff2c50644326 100644
--- a/include/configs/helios4.h
+++ b/include/configs/helios4.h
@@ -18,8 +18,6 @@
* U-Boot into it.
*/
-#define CONFIG_ENV_MIN_ENTRIES 128
-
/* Environment in MMC */
/*
* For SD - reserve 1 LBA for MBR + 1M for u-boot image. The MMC/eMMC
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index 20515b4e26ac..4e71a42cd346 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -207,11 +207,6 @@
/* ATF is my kernel image */
-#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_DFU)
-# define CONFIG_SPL_HASH
-# define CONFIG_ENV_MAX_ENTRIES 10
-#endif
-
#ifdef CONFIG_SPL_SYS_MALLOC_SIMPLE
# error "Disable CONFIG_SPL_SYS_MALLOC_SIMPLE. Full malloc needs to be used"
#endif
diff --git a/lib/hashtable.c b/lib/hashtable.c
index ff5ff7263949..90c8465611e9 100644
--- a/lib/hashtable.c
+++ b/lib/hashtable.c
@@ -35,13 +35,6 @@
# include <linux/ctype.h>
#endif
-#ifndef CONFIG_ENV_MIN_ENTRIES /* minimum number of entries */
-#define CONFIG_ENV_MIN_ENTRIES 64
-#endif
-#ifndef CONFIG_ENV_MAX_ENTRIES /* maximum number of entries */
-#define CONFIG_ENV_MAX_ENTRIES 512
-#endif
-
#define USED_FREE 0
#define USED_DELETED -1
--
2.25.1
More information about the U-Boot
mailing list