summaryrefslogtreecommitdiff
path: root/kern/sleepq.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2017-07-13 20:07:07 +0200
committerRichard Braun <rbraun@sceen.net>2017-07-13 20:07:07 +0200
commitdd78bb04876f66e967773d6dd03ea9534fe43cc2 (patch)
tree4d3080abf0cbcca7c058cba5cad2ed71e5d5e1e5 /kern/sleepq.c
parent85292d947faabe8828810946c7a8067ef228d6fe (diff)
Switch to initialization operations
Diffstat (limited to 'kern/sleepq.c')
-rw-r--r--kern/sleepq.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/kern/sleepq.c b/kern/sleepq.c
index d8bbbddf..cc85705d 100644
--- a/kern/sleepq.c
+++ b/kern/sleepq.c
@@ -193,7 +193,7 @@ sleepq_ctor(void *ptr)
sleepq->next_free = NULL;
}
-void __init
+static int __init
sleepq_bootstrap(void)
{
unsigned int i;
@@ -205,15 +205,24 @@ sleepq_bootstrap(void)
for (i = 0; i < ARRAY_SIZE(sleepq_cond_htable); i++) {
sleepq_bucket_init(&sleepq_cond_htable[i]);
}
+
+ return 0;
}
-void __init
+INIT_OP_DEFINE(sleepq_bootstrap);
+
+static int __init
sleepq_setup(void)
{
kmem_cache_init(&sleepq_cache, "sleepq", sizeof(struct sleepq),
CPU_L1_SIZE, sleepq_ctor, 0);
+ return 0;
}
+INIT_OP_DEFINE(sleepq_setup,
+ INIT_OP_DEP(kmem_setup, true),
+ INIT_OP_DEP(sleepq_bootstrap, true));
+
struct sleepq *
sleepq_create(void)
{