* Functions in mm/shmem.c called directly from elsewhere:
  */
 extern const struct fs_parameter_spec shmem_fs_parameters[];
-extern int shmem_init(void);
+extern void shmem_init(void);
 extern int shmem_init_fs_context(struct fs_context *fc);
 extern struct file *shmem_file_setup(const char *name,
                                        loff_t size, unsigned long flags);
 
        .fs_flags       = FS_USERNS_MOUNT,
 };
 
-int __init shmem_init(void)
+void __init shmem_init(void)
 {
        int error;
 
        else
                shmem_huge = SHMEM_HUGE_NEVER; /* just in case it was patched */
 #endif
-       return 0;
+       return;
 
 out1:
        unregister_filesystem(&shmem_fs_type);
 out2:
        shmem_destroy_inodecache();
        shm_mnt = ERR_PTR(error);
-       return error;
 }
 
 #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && defined(CONFIG_SYSFS)
        .fs_flags       = FS_USERNS_MOUNT,
 };
 
-int __init shmem_init(void)
+void __init shmem_init(void)
 {
        BUG_ON(register_filesystem(&shmem_fs_type) != 0);
 
        shm_mnt = kern_mount(&shmem_fs_type);
        BUG_ON(IS_ERR(shm_mnt));
-
-       return 0;
 }
 
 int shmem_unuse(unsigned int type)