]> err.no Git - linux-2.6/blobdiff - arch/s390/hypfs/inode.c
[PACKET]: Fix sparse warnings in af_packet.c
[linux-2.6] / arch / s390 / hypfs / inode.c
index b0ad479e74870612e4c7f1a5fbedba95877936ef..4b010ff814c9caa3f439cb7e849aa8c501bdace1 100644 (file)
@@ -490,7 +490,7 @@ static struct super_operations hypfs_s_ops = {
        .show_options   = hypfs_show_options,
 };
 
-static decl_subsys(s390, NULL);
+static struct kobject *s390_kobj;
 
 static int __init hypfs_init(void)
 {
@@ -506,17 +506,18 @@ static int __init hypfs_init(void)
                        goto fail_diag;
                }
        }
-       s390_subsys.kobj.parent = hypervisor_kobj;
-       rc = subsystem_register(&s390_subsys);
-       if (rc)
+       s390_kobj = kobject_create_and_add("s390", hypervisor_kobj);
+       if (!s390_kobj) {
+               rc = -ENOMEM;;
                goto fail_sysfs;
+       }
        rc = register_filesystem(&hypfs_type);
        if (rc)
                goto fail_filesystem;
        return 0;
 
 fail_filesystem:
-       subsystem_unregister(&s390_subsys);
+       kobject_put(s390_kobj);
 fail_sysfs:
        if (!MACHINE_IS_VM)
                hypfs_diag_exit();
@@ -530,7 +531,7 @@ static void __exit hypfs_exit(void)
        if (!MACHINE_IS_VM)
                hypfs_diag_exit();
        unregister_filesystem(&hypfs_type);
-       subsystem_unregister(&s390_subsys);
+       kobject_put(s390_kobj);
 }
 
 module_init(hypfs_init)