aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/microwatt/setup.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2022-06-11 17:10:13 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2022-06-18 10:19:10 +1000
commit20a9689b3607456d92c6fb764501f6a95950b098 (patch)
treecc5aa8decf6fdde1d6181d629aff0d1bb89f00d4 /arch/powerpc/platforms/microwatt/setup.c
parentpowerpc/mm: Move CMA reservations after initmem_init() (diff)
downloadlinux-dev-20a9689b3607456d92c6fb764501f6a95950b098.tar.xz
linux-dev-20a9689b3607456d92c6fb764501f6a95950b098.zip
powerpc/microwatt: wire up rng during setup_arch()
The platform's RNG must be available before random_init() in order to be useful for initial seeding, which in turn means that it needs to be called from setup_arch(), rather than from an init call. Fortunately, each platform already has a setup_arch function pointer, which means it's easy to wire this up. This commit also removes some noisy log messages that don't add much. Fixes: c25769fddaec ("powerpc/microwatt: Add support for hardware random number generator") Cc: stable@vger.kernel.org # v5.14+ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220611151015.548325-2-Jason@zx2c4.com
Diffstat (limited to '')
-rw-r--r--arch/powerpc/platforms/microwatt/setup.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/microwatt/setup.c b/arch/powerpc/platforms/microwatt/setup.c
index 0b02603bdb74..6b32539395a4 100644
--- a/arch/powerpc/platforms/microwatt/setup.c
+++ b/arch/powerpc/platforms/microwatt/setup.c
@@ -16,6 +16,8 @@
#include <asm/xics.h>
#include <asm/udbg.h>
+#include "microwatt.h"
+
static void __init microwatt_init_IRQ(void)
{
xics_init();
@@ -32,10 +34,16 @@ static int __init microwatt_populate(void)
}
machine_arch_initcall(microwatt, microwatt_populate);
+static void __init microwatt_setup_arch(void)
+{
+ microwatt_rng_init();
+}
+
define_machine(microwatt) {
.name = "microwatt",
.probe = microwatt_probe,
.init_IRQ = microwatt_init_IRQ,
+ .setup_arch = microwatt_setup_arch,
.progress = udbg_progress,
.calibrate_decr = generic_calibrate_decr,
};