]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
rng: Introduce SPL_DM_RNG
authorMarek Vasut <marex@denx.de>
Thu, 25 Apr 2024 23:02:07 +0000 (01:02 +0200)
committerFabio Estevam <festevam@denx.de>
Sun, 5 May 2024 14:21:39 +0000 (11:21 -0300)
Add SPL variant of DM_RNG so that the DM_RNG can be disabled in SPL
if necessary. This may be necessary due to e.g. size constraints of
the SPL.

Signed-off-by: Marek Vasut <marex@denx.de>
boot/pxe_utils.c
boot/vbe_request.c
drivers/Makefile
drivers/crypto/fsl/jr.c
drivers/rng/Kconfig
drivers/rng/Makefile
lib/uuid.c
net/net_rand.h
test/dm/Makefile

index 96205626750325320aafe2287fa38ab65e304e99..5c1c962ff4c13a52beb1822da62bf0a6513e12ea 100644 (file)
@@ -21,9 +21,7 @@
 #include <errno.h>
 #include <linux/list.h>
 
-#ifdef CONFIG_DM_RNG
 #include <rng.h>
-#endif
 
 #include <splash.h>
 #include <asm/io.h>
@@ -323,7 +321,7 @@ static int label_localboot(struct pxe_label *label)
 
 static void label_boot_kaslrseed(void)
 {
-#ifdef CONFIG_DM_RNG
+#if CONFIG_IS_ENABLED(DM_RNG)
        ulong fdt_addr;
        struct fdt_header *working_fdt;
        size_t n = 0x8;
index 917251afa1ca15128038d755c554edbe228b4758..0293ac6c869ff4322d7cf2e52bec53b5c0a1ab3e 100644 (file)
@@ -36,7 +36,7 @@ static int handle_random_req(ofnode node, int default_size,
        u32 size;
        int ret;
 
-       if (!IS_ENABLED(CONFIG_DM_RNG))
+       if (!CONFIG_IS_ENABLED(DM_RNG))
                return -ENOTSUPP;
 
        if (ofnode_read_u32(node, "vbe,size", &size)) {
index bf73b7718ce9a95e49d50322e72295e562587014..9195dafd37e0222c39f88e2bb1c996e525b3f877 100644 (file)
@@ -126,7 +126,7 @@ obj-$(CONFIG_W1_EEPROM) += w1-eeprom/
 obj-$(CONFIG_MACH_PIC32) += ddr/microchip/
 obj-$(CONFIG_FUZZ) += fuzz/
 obj-$(CONFIG_DM_HWSPINLOCK) += hwspinlock/
-obj-$(CONFIG_DM_RNG) += rng/
+obj-$(CONFIG_$(SPL_TPL_)DM_RNG) += rng/
 endif
 
 obj-y += soc/
index 203f1625215955a3fc8edac0483eaf65d5dd6802..8ae5c434bdbe70c35de20ace828a03125a59a28e 100644 (file)
@@ -787,7 +787,7 @@ init:
        }
 #if CONFIG_IS_ENABLED(OF_CONTROL)
        if (ofnode_valid(scu_node)) {
-               if (IS_ENABLED(CONFIG_DM_RNG)) {
+               if (CONFIG_IS_ENABLED(DM_RNG)) {
                        ret = device_bind_driver(NULL, "caam-rng", "caam-rng", NULL);
                        if (ret)
                                printf("Couldn't bind rng driver (%d)\n", ret);
@@ -810,7 +810,7 @@ init:
                        return -1;
                }
 
-               if (IS_ENABLED(CONFIG_DM_RNG)) {
+               if (CONFIG_IS_ENABLED(DM_RNG)) {
                        ret = device_bind_driver(NULL, "caam-rng", "caam-rng",
                                                 NULL);
                        if (ret)
index cd72852a479e2f09e2df3f357615bb5363a08688..5758ae192a665c0f427beee802cc0909fdd9fa97 100644 (file)
@@ -6,6 +6,13 @@ config DM_RNG
          This interface is used to initialise the rng device and to
          read the random seed from the device.
 
+config SPL_DM_RNG
+       bool "Driver support for Random Number Generator devices in SPL"
+       depends on SPL_DM
+       help
+         This option is an SPL-variant of the DM_RNG option.
+         See the help of DM_RNG for details.
+
 if DM_RNG
 
 config RNG_MESON
index ecae1a3da33be95838be6b471b22f40002ea66cc..c1f1c616e00996dadbad49aec87786bd427db7a3 100644 (file)
@@ -3,7 +3,7 @@
 # Copyright (c) 2019, Linaro Limited
 #
 
-obj-$(CONFIG_DM_RNG) += rng-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)DM_RNG) += rng-uclass.o
 obj-$(CONFIG_RNG_MESON) += meson-rng.o
 obj-$(CONFIG_RNG_SANDBOX) += sandbox_rng.o
 obj-$(CONFIG_RNG_MSM) += msm_rng.o
index 2d7d99535e727d3d03cf0d2f33e4c38514542dc1..dfa2320ba2679c69d88a95d26d5b721724bc1ae9 100644 (file)
@@ -378,7 +378,7 @@ void gen_rand_uuid(unsigned char *uuid_bin)
        struct udevice *devp;
        u32 randv = 0;
 
-       if (IS_ENABLED(CONFIG_DM_RNG)) {
+       if (CONFIG_IS_ENABLED(DM_RNG)) {
                ret = uclass_get_device(UCLASS_RNG, 0, &devp);
                if (!ret) {
                        ret = dm_rng_read(devp, &randv, sizeof(randv));
index d3c5559adfd43d13991951f3ee6cbb702cbe7abf..686e85f2b53704192724b0a99260bf7300c2b5d7 100644 (file)
@@ -42,7 +42,7 @@ static inline void srand_mac(void)
        struct udevice *devp;
        u32 randv = 0;
 
-       if (IS_ENABLED(CONFIG_DM_RNG)) {
+       if (CONFIG_IS_ENABLED(DM_RNG)) {
                ret = uclass_get_device(UCLASS_RNG, 0, &devp);
                if (ret) {
                        ret = dm_rng_read(devp, &randv, sizeof(randv));
index a3ce7b3889f9b7c693c3e8281558c43110aa7c0a..c12589d487ccc3639d98dbfe8d6ee7b71c1d0538 100644 (file)
@@ -102,7 +102,7 @@ obj-$(CONFIG_DM_RESET) += reset.o
 obj-$(CONFIG_SYSRESET) += sysreset.o
 obj-$(CONFIG_DM_REGULATOR) += regulator.o
 obj-$(CONFIG_CMD_RKMTD) += rkmtd.o
-obj-$(CONFIG_DM_RNG) += rng.o
+obj-$(CONFIG_$(SPL_TPL_)DM_RNG) += rng.o
 obj-$(CONFIG_DM_RTC) += rtc.o
 obj-$(CONFIG_SCMI_FIRMWARE) += scmi.o
 obj-$(CONFIG_SCSI) += scsi.o