aboutsummaryrefslogtreecommitdiffstats
path: root/f2.patch
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2007-11-30 11:38:27 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2007-11-30 11:38:27 -0800
commit1a33ff83d36e300bec1096fecc85aa60020f4c73 (patch)
tree3ac3b0aeb161d2ca16a39bf8eac53cc837af8639 /f2.patch
parent7a1d4c4c22cf1421bcfb94d6de598c6d7af4cbdd (diff)
downloadpatches-1a33ff83d36e300bec1096fecc85aa60020f4c73.tar.gz
update to kobject-add-kobject_init_ng-function.patch
Diffstat (limited to 'f2.patch')
-rw-r--r--f2.patch115
1 files changed, 102 insertions, 13 deletions
diff --git a/f2.patch b/f2.patch
index e778a7de3659d2..680001115f17f3 100644
--- a/f2.patch
+++ b/f2.patch
@@ -1,26 +1,115 @@
---
- kernel/user.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
+ fs/char_dev.c | 18 ++++++++++++++----
+ kernel/module.c | 12 ++++--------
+ kernel/params.c | 5 +----
+ kernel/user.c | 5 +----
+ mm/slub.c | 5 +----
+ 5 files changed, 21 insertions(+), 24 deletions(-)
+--- a/fs/char_dev.c
++++ b/fs/char_dev.c
+@@ -509,10 +509,15 @@ static struct kobj_type ktype_cdev_dynam
+ struct cdev *cdev_alloc(void)
+ {
+ struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL);
++ int ret;
++
+ if (p) {
+- p->kobj.ktype = &ktype_cdev_dynamic;
+ INIT_LIST_HEAD(&p->list);
+- kobject_init(&p->kobj);
++ ret = kobject_init_ng(&p->kobj, &ktype_cdev_dynamic, NULL,
++ "cdev_dynamic");
++ if (ret)
++ printk(KERN_ERR "cdev: something went wrong "
++ "initializing the dynamic kobject!\n");
+ }
+ return p;
+ }
+@@ -527,10 +532,15 @@ struct cdev *cdev_alloc(void)
+ */
+ void cdev_init(struct cdev *cdev, const struct file_operations *fops)
+ {
++ int ret;
++
+ memset(cdev, 0, sizeof *cdev);
+ INIT_LIST_HEAD(&cdev->list);
+- cdev->kobj.ktype = &ktype_cdev_default;
+- kobject_init(&cdev->kobj);
++ ret = kobject_init_ng(&cdev->kobj, &ktype_cdev_default, NULL,
++ "cdev_static");
++ if (ret)
++ printk(KERN_ERR "cdev: something went very wrong initializing "
++ "the static kobject!\n");
+ cdev->ops = fops;
+ }
+
+--- a/kernel/module.c
++++ b/kernel/module.c
+@@ -1218,18 +1218,14 @@ 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);
+
+ /* delay uevent until full sysfs population */
+- err = kobject_add(&mod->mkobj.kobj);
+ out:
+ return err;
+ }
+--- a/kernel/params.c
++++ b/kernel/params.c
+@@ -561,10 +561,7 @@ static void __init kernel_param_sysfs_se
+
+ mk->mod = THIS_MODULE;
+ mk->kobj.kset = module_kset;
+- mk->kobj.ktype = &module_ktype;
+- kobject_set_name(&mk->kobj, name);
+- kobject_init(&mk->kobj);
+- ret = kobject_add(&mk->kobj);
++ ret = kobject_init_and_add(&mk->kobj, &module_ktype, NULL, "%s", name);
+ if (ret) {
+ printk(KERN_ERR "Module '%s' failed to be added to sysfs, "
+ "error number %d\n", name, ret);
--- a/kernel/user.c
+++ b/kernel/user.c
-@@ -183,13 +183,15 @@ static int uids_user_create(struct user_
+@@ -181,11 +181,8 @@ static int uids_user_create(struct user_
int error;
memset(kobj, 0, sizeof(struct kobject));
- kobj->ktype = &uids_ktype;
- kobj->parent = uids_kobj;
+ kobj->kset = uids_kset;
- kobject_init(kobj);
- kobject_set_name(&up->kobj, "%d", up->uid);
- error = kobject_add(kobj);
-+ error = kobject_init_name(kobj, &uids_ktype, "%d", up->uid);
++ error = kobject_init_and_add(kobj, &uids_ktype, NULL, "%d", up->uid);
if (error)
goto done;
-+ error = kobject_add(kobj);
-+ if (error) {
-+ kobject_put(kobj);
-+ goto done;
-+ }
-
- kobject_uevent(kobj, KOBJ_ADD);
- done:
+
+--- a/mm/slub.c
++++ b/mm/slub.c
+@@ -4021,11 +4021,8 @@ static int sysfs_slab_add(struct kmem_ca
+ name = create_unique_id(s);
+ }
+
+- kobject_set_name(&s->kobj, name);
+ s->kobj.kset = slab_kset;
+- s->kobj.ktype = &slab_ktype;
+- kobject_init(&s->kobj);
+- err = kobject_add(&s->kobj);
++ err = kobject_init_and_add(&s->kobj, &slab_ktype, NULL, name);
+ if (err)
+ return err;
+