#include "sysfs.h"
 
 
-static struct vfsmount *sysfs_mnt;
 struct kmem_cache *sysfs_dir_cachep;
 
 static const struct super_operations sysfs_ops = {
 
 int __init sysfs_init(void)
 {
-       int err = -ENOMEM;
+       int err;
 
        sysfs_dir_cachep = kmem_cache_create("sysfs_dir_cache",
                                              sizeof(struct sysfs_dirent),
                                              0, 0, NULL);
        if (!sysfs_dir_cachep)
-               goto out;
+               return -ENOMEM;
 
        err = sysfs_inode_init();
        if (err)
                goto out_err;
 
        err = register_filesystem(&sysfs_fs_type);
-       if (!err) {
-               sysfs_mnt = kern_mount(&sysfs_fs_type);
-               if (IS_ERR(sysfs_mnt)) {
-                       printk(KERN_ERR "sysfs: could not mount!\n");
-                       err = PTR_ERR(sysfs_mnt);
-                       sysfs_mnt = NULL;
-                       unregister_filesystem(&sysfs_fs_type);
-                       goto out_err;
-               }
-       } else
+       if (err)
                goto out_err;
-out:
-       return err;
+
+       return 0;
+
 out_err:
        kmem_cache_destroy(sysfs_dir_cachep);
        sysfs_dir_cachep = NULL;
-       goto out;
+       return err;
 }