diff options
Diffstat (limited to 'fs/efivarfs/super.c')
-rw-r--r-- | fs/efivarfs/super.c | 11 |
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 | ||
238 | static struct file_system_type efivarfs_type = { | 238 | static 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 = { | |||
244 | static __init int efivarfs_init(void) | 245 | static __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 | ||
256 | static __exit void efivarfs_exit(void) | ||
257 | { | ||
258 | unregister_filesystem(&efivarfs_type); | ||
259 | } | ||
260 | |||
255 | MODULE_AUTHOR("Matthew Garrett, Jeremy Kerr"); | 261 | MODULE_AUTHOR("Matthew Garrett, Jeremy Kerr"); |
256 | MODULE_DESCRIPTION("EFI Variable Filesystem"); | 262 | MODULE_DESCRIPTION("EFI Variable Filesystem"); |
257 | MODULE_LICENSE("GPL"); | 263 | MODULE_LICENSE("GPL"); |
258 | MODULE_ALIAS_FS("efivarfs"); | 264 | MODULE_ALIAS_FS("efivarfs"); |
259 | 265 | ||
260 | module_init(efivarfs_init); | 266 | module_init(efivarfs_init); |
267 | module_exit(efivarfs_exit); | ||