Kobject: convert kernel/module.c to use kobject_init/add_ng()
[linux-2.6.git] / 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;
 }