aboutsummaryrefslogtreecommitdiffstats
path: root/fs/efivarfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/efivarfs')
-rw-r--r--fs/efivarfs/super.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c
index 0a48886e069c..6dad1176ec52 100644
--- a/fs/efivarfs/super.c
+++ b/fs/efivarfs/super.c
@@ -236,6 +236,7 @@ static void efivarfs_kill_sb(struct super_block *sb)
236} 236}
237 237
238static struct file_system_type efivarfs_type = { 238static struct file_system_type efivarfs_type = {
239 .owner = THIS_MODULE,
239 .name = "efivarfs", 240 .name = "efivarfs",
240 .mount = efivarfs_mount, 241 .mount = efivarfs_mount,
241 .kill_sb = efivarfs_kill_sb, 242 .kill_sb = efivarfs_kill_sb,
@@ -244,17 +245,23 @@ static struct file_system_type efivarfs_type = {
244static __init int efivarfs_init(void) 245static __init int efivarfs_init(void)
245{ 246{
246 if (!efi_enabled(EFI_RUNTIME_SERVICES)) 247 if (!efi_enabled(EFI_RUNTIME_SERVICES))
247 return 0; 248 return -ENODEV;
248 249
249 if (!efivars_kobject()) 250 if (!efivars_kobject())
250 return 0; 251 return -ENODEV;
251 252
252 return register_filesystem(&efivarfs_type); 253 return register_filesystem(&efivarfs_type);
253} 254}
254 255
256static __exit void efivarfs_exit(void)
257{
258 unregister_filesystem(&efivarfs_type);
259}
260
255MODULE_AUTHOR("Matthew Garrett, Jeremy Kerr"); 261MODULE_AUTHOR("Matthew Garrett, Jeremy Kerr");
256MODULE_DESCRIPTION("EFI Variable Filesystem"); 262MODULE_DESCRIPTION("EFI Variable Filesystem");
257MODULE_LICENSE("GPL"); 263MODULE_LICENSE("GPL");
258MODULE_ALIAS_FS("efivarfs"); 264MODULE_ALIAS_FS("efivarfs");
259 265
260module_init(efivarfs_init); 266module_init(efivarfs_init);
267module_exit(efivarfs_exit);