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(&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(&e->kobj, &q->kobj, "%s", "iosched");
if (!error) {
struct elv_fs_entry *attr = e->elevator_type->elevator_attrs;
if (attr) {
__elv_unregister_queue(q->elevator);
}
-int elv_register(struct elevator_type *e)
+void elv_register(struct elevator_type *e)
{
char *def = "";
def = " (default)";
printk(KERN_INFO "io scheduler %s registered%s\n", e->elevator_name, def);
- return 0;
}
EXPORT_SYMBOL_GPL(elv_register);