Commit cb095afd authored by Kees Cook's avatar Kees Cook

pstore: Centralize init/exit routines

In preparation for having additional actions during init/exit, this moves
the init/exit into platform.c, centralizing the logic to make call outs
to the fs init/exit.
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Tested-by: default avatarGuenter Roeck <groeck@chromium.org>
parent 57361846
...@@ -482,12 +482,10 @@ static struct file_system_type pstore_fs_type = { ...@@ -482,12 +482,10 @@ static struct file_system_type pstore_fs_type = {
.kill_sb = pstore_kill_sb, .kill_sb = pstore_kill_sb,
}; };
static int __init init_pstore_fs(void) int __init pstore_init_fs(void)
{ {
int err; int err;
pstore_choose_compression();
/* Create a convenient mount point for people to access pstore */ /* Create a convenient mount point for people to access pstore */
err = sysfs_create_mount_point(fs_kobj, "pstore"); err = sysfs_create_mount_point(fs_kobj, "pstore");
if (err) if (err)
...@@ -500,14 +498,9 @@ static int __init init_pstore_fs(void) ...@@ -500,14 +498,9 @@ static int __init init_pstore_fs(void)
out: out:
return err; return err;
} }
module_init(init_pstore_fs)
static void __exit exit_pstore_fs(void) void __exit pstore_exit_fs(void)
{ {
unregister_filesystem(&pstore_fs_type); unregister_filesystem(&pstore_fs_type);
sysfs_remove_mount_point(fs_kobj, "pstore"); sysfs_remove_mount_point(fs_kobj, "pstore");
} }
module_exit(exit_pstore_fs)
MODULE_AUTHOR("Tony Luck <tony.luck@intel.com>");
MODULE_LICENSE("GPL");
...@@ -37,7 +37,8 @@ extern bool pstore_is_mounted(void); ...@@ -37,7 +37,8 @@ extern bool pstore_is_mounted(void);
extern void pstore_record_init(struct pstore_record *record, extern void pstore_record_init(struct pstore_record *record,
struct pstore_info *psi); struct pstore_info *psi);
/* Called during module_init() */ /* Called during pstore init/exit. */
extern void __init pstore_choose_compression(void); int __init pstore_init_fs(void);
void __exit pstore_exit_fs(void);
#endif #endif
...@@ -780,8 +780,31 @@ void __init pstore_choose_compression(void) ...@@ -780,8 +780,31 @@ void __init pstore_choose_compression(void)
} }
} }
static int __init pstore_init(void)
{
int ret;
pstore_choose_compression();
ret = pstore_init_fs();
if (ret)
return ret;
return 0;
}
module_init(pstore_init)
static void __exit pstore_exit(void)
{
pstore_exit_fs();
}
module_exit(pstore_exit)
module_param(compress, charp, 0444); module_param(compress, charp, 0444);
MODULE_PARM_DESC(compress, "Pstore compression to use"); MODULE_PARM_DESC(compress, "Pstore compression to use");
module_param(backend, charp, 0444); module_param(backend, charp, 0444);
MODULE_PARM_DESC(backend, "Pstore backend to use"); MODULE_PARM_DESC(backend, "Pstore backend to use");
MODULE_AUTHOR("Tony Luck <tony.luck@intel.com>");
MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment