eq->ops = &e->ops;
        eq->elevator_type = e;
-       kobject_init(&eq->kobj);
-       kobject_set_name(&eq->kobj, "%s", "iosched");
-       eq->kobj.ktype = &elv_ktype;
+       kobject_init_ng(&eq->kobj, &elv_ktype);
        mutex_init(&eq->sysfs_lock);
 
        eq->hash = kmalloc_node(sizeof(struct hlist_head) * ELV_HASH_ENTRIES,
        elevator_t *e = q->elevator;
        int error;
 
-       e->kobj.parent = &q->kobj;
-
-       error = kobject_add(&e->kobj);
+       error = kobject_add_ng(&e->kobj, &q->kobj, "%s", "iosched");
        if (!error) {
                struct elv_fs_entry *attr = e->elevator_type->elevator_attrs;
                if (attr) {