hwrng: Enable COMPILE_TEST for more drivers
authorRob Herring <robh@kernel.org>
Fri, 28 Jul 2023 19:50:15 +0000 (13:50 -0600)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 4 Aug 2023 09:09:26 +0000 (17:09 +0800)
There's quite a few hwrng drivers which are easily enabled for
COMPILE_TEST, so let's enable them.

The dependency on HW_RANDOM is redundant, so drop that while we're here.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/Kconfig
drivers/char/hw_random/amd-rng.c
drivers/char/hw_random/ingenic-rng.c

index 5d72b8d..8de74dc 100644 (file)
@@ -37,7 +37,7 @@ config HW_RANDOM_TIMERIOMEM
 
 config HW_RANDOM_INTEL
        tristate "Intel HW Random Number Generator support"
-       depends on (X86 || IA64) && PCI
+       depends on (X86 || IA64 || COMPILE_TEST) && PCI
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -50,7 +50,8 @@ config HW_RANDOM_INTEL
 
 config HW_RANDOM_AMD
        tristate "AMD HW Random Number Generator support"
-       depends on (X86 || PPC_MAPLE) && PCI
+       depends on (X86 || PPC_MAPLE || COMPILE_TEST)
+       depends on PCI && HAS_IOPORT_MAP
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -63,7 +64,7 @@ config HW_RANDOM_AMD
 
 config HW_RANDOM_ATMEL
        tristate "Atmel Random Number Generator support"
-       depends on (ARCH_AT91 || COMPILE_TEST) && HAVE_CLK && OF
+       depends on (ARCH_AT91 || COMPILE_TEST)
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -113,7 +114,8 @@ config HW_RANDOM_IPROC_RNG200
 
 config HW_RANDOM_GEODE
        tristate "AMD Geode HW Random Number Generator support"
-       depends on X86_32 && PCI
+       depends on (X86_32 || COMPILE_TEST)
+       depends on PCI
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -205,7 +207,7 @@ config HW_RANDOM_OCTEON
 
 config HW_RANDOM_PASEMI
        tristate "PA Semi HW Random Number Generator support"
-       depends on PPC_PASEMI
+       depends on PPC_PASEMI || (PPC && COMPILE_TEST)
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -228,7 +230,7 @@ config HW_RANDOM_VIRTIO
 
 config HW_RANDOM_MXC_RNGA
        tristate "Freescale i.MX RNGA Random Number Generator"
-       depends on SOC_IMX31
+       depends on SOC_IMX31 || COMPILE_TEST
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -241,7 +243,7 @@ config HW_RANDOM_MXC_RNGA
 
 config HW_RANDOM_IMX_RNGC
        tristate "Freescale i.MX RNGC Random Number Generator"
-       depends on HAS_IOMEM && HAVE_CLK
+       depends on HAS_IOMEM
        depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPILE_TEST
        default HW_RANDOM
        help
@@ -256,8 +258,7 @@ config HW_RANDOM_IMX_RNGC
 
 config HW_RANDOM_INGENIC_RNG
        tristate "Ingenic Random Number Generator support"
-       depends on HW_RANDOM
-       depends on MACH_JZ4780 || MACH_X1000
+       depends on MACH_JZ4780 || MACH_X1000 || COMPILE_TEST
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number Generator
@@ -323,7 +324,7 @@ config HW_RANDOM_POWERNV
 
 config HW_RANDOM_HISI
        tristate "Hisilicon Random Number Generator support"
-       depends on HW_RANDOM && ARCH_HISI
+       depends on ARCH_HISI || COMPILE_TEST
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -347,7 +348,7 @@ config HW_RANDOM_HISTB
 
 config HW_RANDOM_ST
        tristate "ST Microelectronics HW Random Number Generator support"
-       depends on HW_RANDOM && (ARCH_STI || COMPILE_TEST)
+       depends on ARCH_STI || COMPILE_TEST
        help
          This driver provides kernel-side support for the Random Number
          Generator hardware found on STi series of SoCs.
@@ -357,7 +358,7 @@ config HW_RANDOM_ST
 
 config HW_RANDOM_XGENE
        tristate "APM X-Gene True Random Number Generator (TRNG) support"
-       depends on HW_RANDOM && ARCH_XGENE
+       depends on ARCH_XGENE || COMPILE_TEST
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
@@ -370,7 +371,7 @@ config HW_RANDOM_XGENE
 
 config HW_RANDOM_STM32
        tristate "STMicroelectronics STM32 random number generator"
-       depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
+       depends on ARCH_STM32 || COMPILE_TEST
        depends on HAS_IOMEM
        default HW_RANDOM
        help
@@ -385,7 +386,7 @@ config HW_RANDOM_STM32
 config HW_RANDOM_PIC32
        tristate "Microchip PIC32 Random Number Generator support"
        depends on MACH_PIC32 || COMPILE_TEST
-       default y
+       default HW_RANDOM if MACH_PIC32
        help
          This driver provides kernel-side support for the Random Number
          Generator hardware found on a PIC32.
@@ -424,7 +425,8 @@ config HW_RANDOM_MESON
 
 config HW_RANDOM_CAVIUM
        tristate "Cavium ThunderX Random Number Generator support"
-       depends on HW_RANDOM && PCI && ARCH_THUNDER
+       depends on PCI
+       depends on ARCH_THUNDER || (ARM64 && COMPILE_TEST)
        default HW_RANDOM
        help
          This driver provides kernel-side support for the Random Number
index 0555e38..86162a1 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <linux/delay.h>
 #include <linux/hw_random.h>
+#include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/pci.h>
index 055cfe5..4f18c3f 100644 (file)
@@ -95,7 +95,7 @@ static int ingenic_rng_probe(struct platform_device *pdev)
                return PTR_ERR(priv->base);
        }
 
-       priv->version = (enum ingenic_rng_version)of_device_get_match_data(&pdev->dev);
+       priv->version = (enum ingenic_rng_version)(uintptr_t)of_device_get_match_data(&pdev->dev);
 
        priv->rng.name = pdev->name;
        priv->rng.init = ingenic_rng_init;