diff options
author | Richard Braun <rbraun@sceen.net> | 2018-02-20 22:57:21 +0100 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2018-02-20 22:57:21 +0100 |
commit | 326118bf300cf096cee04cb0a64789151ef8e273 (patch) | |
tree | 082660557b642253771c483b1d535e8d3f95eb75 /kern/sref.c | |
parent | da8eb9c244d27fd042adde6234ccec079681d7f4 (diff) |
Rework the initialization operations of some kernel modules
In order to avoid workarounds that check whether a module is ready or
not, break the initialization of some core modules into a bootstrap
step for basic BSP initialization, and a setup step that completes
initialization. Most users only need the bootstrap operation as a
dependency, especially since scheduling isn't enabled yet.
Diffstat (limited to 'kern/sref.c')
-rw-r--r-- | kern/sref.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kern/sref.c b/kern/sref.c index f145f80..2b20cb4 100644 --- a/kern/sref.c +++ b/kern/sref.c @@ -827,6 +827,8 @@ sref_bootstrap(void) } INIT_OP_DEFINE(sref_bootstrap, + INIT_OP_DEP(cpu_setup, true), + INIT_OP_DEP(spinlock_setup, true), INIT_OP_DEP(syscnt_setup, true)); static void __init @@ -876,10 +878,10 @@ sref_setup(void) INIT_OP_DEFINE(sref_setup, INIT_OP_DEP(cpu_mp_probe, true), + INIT_OP_DEP(cpumap_setup, true), INIT_OP_DEP(log_setup, true), INIT_OP_DEP(panic_setup, true), INIT_OP_DEP(sref_bootstrap, true), - INIT_OP_DEP(syscnt_setup, true), INIT_OP_DEP(thread_setup, true)); void |