diff options
Diffstat (limited to 'kern/syscnt.c')
-rw-r--r-- | kern/syscnt.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/kern/syscnt.c b/kern/syscnt.c index d5fd28ab..7cceabac 100644 --- a/kern/syscnt.c +++ b/kern/syscnt.c @@ -32,13 +32,6 @@ static struct list syscnt_list; static struct mutex syscnt_lock; -void __init -syscnt_setup(void) -{ - list_init(&syscnt_list); - mutex_init(&syscnt_lock); -} - #ifdef X15_SHELL static void @@ -50,21 +43,36 @@ syscnt_shell_info(int argc, char **argv) syscnt_info(prefix); } - static struct shell_cmd syscnt_shell_cmds[] = { SHELL_CMD_INITIALIZER("syscnt_info", syscnt_shell_info, "syscnt_info [<prefix>]", "display information about system counters"), }; +static int __init +syscnt_setup_shell(void) +{ + SHELL_REGISTER_CMDS(syscnt_shell_cmds); + return 0; +} + +INIT_OP_DEFINE(syscnt_setup_shell, + INIT_OP_DEP(shell_setup, true), + INIT_OP_DEP(syscnt_setup, true)); + #endif /* X15_SHELL */ -void __init -syscnt_register_shell_cmds(void) +static int __init +syscnt_setup(void) { - SHELL_REGISTER_CMDS(syscnt_shell_cmds); + list_init(&syscnt_list); + mutex_init(&syscnt_lock); + return 0; } +INIT_OP_DEFINE(syscnt_setup, + INIT_OP_DEP(mutex_setup, true)); + void __init syscnt_register(struct syscnt *syscnt, const char *name) { |