Kobject: convert kernel/module.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000 (23:05 -0700)]
This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

kernel/module.c

index 0ae8117..89cd4c7 100644 (file)
@@ -1217,18 +1217,16 @@ int mod_sysfs_init(struct module *mod)
                err = -EINVAL;
                goto out;
        }
-       memset(&mod->mkobj.kobj, 0, sizeof(mod->mkobj.kobj));
-       err = kobject_set_name(&mod->mkobj.kobj, "%s", mod->name);
-       if (err)
-               goto out;
-       mod->mkobj.kobj.kset = module_kset;
-       mod->mkobj.kobj.ktype = &module_ktype;
        mod->mkobj.mod = mod;
 
-       kobject_init(&mod->mkobj.kobj);
+       memset(&mod->mkobj.kobj, 0, sizeof(mod->mkobj.kobj));
+       mod->mkobj.kobj.kset = module_kset;
+       err = kobject_init_and_add(&mod->mkobj.kobj, &module_ktype, NULL,
+                                  "%s", mod->name);
+       if (err)
+               kobject_put(&mod->mkobj.kobj);
 
        /* delay uevent until full sysfs population */
-       err = kobject_add(&mod->mkobj.kobj);
 out:
        return err;
 }