Browse Source

Convert CONFIG LIB_HW_RAND to Kconfig

config_fallbacks.h had some logic to automatically select
LIB_RAND if RANDOM_UUID or CMD_UUID were set if LIB_HW_RAND wasn't
already selected.  By migrating LIB_HW_RAND to Kconfig, we can
remove this check from config_fallbacks.h and put it into Kconfig

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
[trini: Turn into a choice, add NET_RANDOM_ETHADDR]
Signed-off-by: Tom Rini <trini@konsulko.com>
Adam Ford 7 years ago
parent
commit
a5a37567c4

+ 1 - 0
configs/ds414_defconfig

@@ -32,6 +32,7 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_JFFS2=y
 CONFIG_CMD_JFFS2=y
 CONFIG_CMD_UBI=y
 CONFIG_CMD_UBI=y
 CONFIG_ISO_PARTITION=y
 CONFIG_ISO_PARTITION=y
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_SPL_OF_TRANSLATE=y
 # CONFIG_MMC is not set
 # CONFIG_MMC is not set
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH=y

+ 1 - 0
configs/odroid_defconfig

@@ -62,4 +62,5 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
 CONFIG_USB_FUNCTION_THOR=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_USB_ETHER_SMSC95XX=y
+CONFIG_LIB_HW_RAND=y
 CONFIG_ERRNO_STR=y
 CONFIG_ERRNO_STR=y

+ 1 - 0
configs/trats2_defconfig

@@ -54,3 +54,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6601
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_LIB_HW_RAND=y

+ 1 - 0
configs/trats_defconfig

@@ -53,3 +53,4 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6601
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_THOR=y
 CONFIG_USB_FUNCTION_THOR=y
+CONFIG_LIB_HW_RAND=y

+ 0 - 7
include/config_fallbacks.h

@@ -54,13 +54,6 @@
 #define CONFIG_LIB_UUID
 #define CONFIG_LIB_UUID
 #endif
 #endif
 
 
-#if (defined(CONFIG_RANDOM_UUID) || \
-	defined(CONFIG_CMD_UUID)) && \
-	(!defined(CONFIG_LIB_RAND) && \
-	!defined(CONFIG_LIB_HW_RAND))
-#define CONFIG_LIB_RAND
-#endif
-
 /* Console I/O Buffer Size */
 /* Console I/O Buffer Size */
 #ifndef CONFIG_SYS_CBSIZE
 #ifndef CONFIG_SYS_CBSIZE
 #if defined(CONFIG_CMD_KGDB)
 #if defined(CONFIG_CMD_KGDB)

+ 0 - 4
include/configs/ds414.h

@@ -112,10 +112,6 @@
 /* DS414 bus width is 32bits */
 /* DS414 bus width is 32bits */
 #define CONFIG_DDR_32BIT
 #define CONFIG_DDR_32BIT
 
 
-/* Use random ethernet address if not configured */
-#define CONFIG_LIB_RAND
-#define CONFIG_NET_RANDOM_ETHADDR
-
 /* Default Environment */
 /* Default Environment */
 #define CONFIG_BOOTCOMMAND	"sf read ${loadaddr} 0xd0000 0x700000; bootm"
 #define CONFIG_BOOTCOMMAND	"sf read ${loadaddr} 0xd0000 0x700000; bootm"
 #define CONFIG_LOADADDR		0x80000
 #define CONFIG_LOADADDR		0x80000

+ 0 - 1
include/configs/odroid.h

@@ -177,7 +177,6 @@
 
 
 /* Security subsystem - enable hw_rand() */
 /* Security subsystem - enable hw_rand() */
 #define CONFIG_EXYNOS_ACE_SHA
 #define CONFIG_EXYNOS_ACE_SHA
-#define CONFIG_LIB_HW_RAND
 
 
 /* USB */
 /* USB */
 #define CONFIG_USB_EHCI_EXYNOS
 #define CONFIG_USB_EHCI_EXYNOS

+ 0 - 1
include/configs/thunderx_88xx.h

@@ -77,7 +77,6 @@
 #define CONFIG_CMDLINE_EDITING		1
 #define CONFIG_CMDLINE_EDITING		1
 #define CONFIG_SYS_MAXARGS		64		/* max command args */
 #define CONFIG_SYS_MAXARGS		64		/* max command args */
 #define CONFIG_NO_RELOCATION		1
 #define CONFIG_NO_RELOCATION		1
-#define CONFIG_LIB_RAND
 #define PLL_REF_CLK			50000000	/* 50 MHz */
 #define PLL_REF_CLK			50000000	/* 50 MHz */
 #define NS_PER_REF_CLK_TICK		(1000000000/PLL_REF_CLK)
 #define NS_PER_REF_CLK_TICK		(1000000000/PLL_REF_CLK)
 
 

+ 0 - 1
include/configs/trats.h

@@ -171,7 +171,6 @@
 
 
 /* Security subsystem - enable hw_rand() */
 /* Security subsystem - enable hw_rand() */
 #define CONFIG_EXYNOS_ACE_SHA
 #define CONFIG_EXYNOS_ACE_SHA
-#define CONFIG_LIB_HW_RAND
 
 
 /* Common misc for Samsung */
 /* Common misc for Samsung */
 #define CONFIG_MISC_COMMON
 #define CONFIG_MISC_COMMON

+ 0 - 1
include/configs/trats2.h

@@ -153,7 +153,6 @@
 
 
 /* Security subsystem - enable hw_rand() */
 /* Security subsystem - enable hw_rand() */
 #define CONFIG_EXYNOS_ACE_SHA
 #define CONFIG_EXYNOS_ACE_SHA
-#define CONFIG_LIB_HW_RAND
 
 
 /* Common misc for Samsung */
 /* Common misc for Samsung */
 #define CONFIG_MISC_COMMON
 #define CONFIG_MISC_COMMON

+ 15 - 3
lib/Kconfig

@@ -65,10 +65,22 @@ config REGEX
 	  regex support to some commands, for example "env grep" and
 	  regex support to some commands, for example "env grep" and
 	  "setexpr".
 	  "setexpr".
 
 
-config LIB_RAND
-	bool "Pseudo-random library support "
+choice
+	prompt "Pseudo-random library support type"
+	depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID
+	default LIB_RAND
 	help
 	help
-	  This library provides pseudo-random number generator functions.
+	  Select the library to provide pseudo-random number generator
+	  functions.  LIB_HW_RAND supports certain hardware engines that
+	  provide this functionality.  If in doubt, select LIB_RAND.
+
+config LIB_RAND
+	bool "Pseudo-random library support"
+
+config LIB_HW_RAND
+	bool "HW Engine for random libray support"
+
+endchoice
 
 
 config SPL_TINY_MEMSET
 config SPL_TINY_MEMSET
 	bool "Use a very small memset() in SPL"
 	bool "Use a very small memset() in SPL"

+ 0 - 1
net/Kconfig

@@ -9,7 +9,6 @@ if NET
 
 
 config NET_RANDOM_ETHADDR
 config NET_RANDOM_ETHADDR
 	bool "Random ethaddr if unset"
 	bool "Random ethaddr if unset"
-	select LIB_RAND
 	help
 	help
 	  Selecting this will allow the Ethernet interface to function
 	  Selecting this will allow the Ethernet interface to function
 	  even when the ethaddr variable for that interface is unset.
 	  even when the ethaddr variable for that interface is unset.

+ 0 - 1
scripts/config_whitelist.txt

@@ -1217,7 +1217,6 @@ CONFIG_LEGACY_BOOTCMD_ENV
 CONFIG_LG4573
 CONFIG_LG4573
 CONFIG_LG4573_BUS
 CONFIG_LG4573_BUS
 CONFIG_LG4573_CS
 CONFIG_LG4573_CS
-CONFIG_LIB_HW_RAND
 CONFIG_LIB_UUID
 CONFIG_LIB_UUID
 CONFIG_LINUX
 CONFIG_LINUX
 CONFIG_LINUX_RESET_VEC
 CONFIG_LINUX_RESET_VEC