[PATCH] elevator: remove second argument in elevator_init()
From: Alexey Klimov
Date: Thu Jan 14 2016 - 20:46:32 EST
Last user of elevator_init() with non-NULL name as second argument
that supposed to be s390 dasd driver has gone few releases ago.
Drivers rely on elevator_change(), elevator_switch() and friends
for example. Right now elevator_init() is always called as
elevator_init(q, NULL).
Patch removes passing of second name argument and its usage.
While we're at it fix following if-check after removed lines. We know
that elevator_type e is initialized by NULL and need to check only
chosen_elevator.
Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx>
---
block/blk-core.c | 2 +-
block/elevator.c | 10 ++--------
include/linux/elevator.h | 2 +-
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index 33e2f62..f742ef4 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -861,7 +861,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
mutex_lock(&q->sysfs_lock);
/* init elevator */
- if (elevator_init(q, NULL)) {
+ if (elevator_init(q)) {
mutex_unlock(&q->sysfs_lock);
goto fail;
}
diff --git a/block/elevator.c b/block/elevator.c
index c3555c9..ff5c830 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -177,7 +177,7 @@ static void elevator_release(struct kobject *kobj)
kfree(e);
}
-int elevator_init(struct request_queue *q, char *name)
+int elevator_init(struct request_queue *q)
{
struct elevator_type *e = NULL;
int err;
@@ -196,18 +196,12 @@ int elevator_init(struct request_queue *q, char *name)
q->end_sector = 0;
q->boundary_rq = NULL;
- if (name) {
- e = elevator_get(name, true);
- if (!e)
- return -EINVAL;
- }
-
/*
* Use the default elevator specified by config boot param or
* config option. Don't try to load modules as we could be running
* off async and request_module() isn't allowed from async.
*/
- if (!e && *chosen_elevator) {
+ if (*chosen_elevator) {
e = elevator_get(chosen_elevator, false);
if (!e)
printk(KERN_ERR "I/O scheduler %s not found\n",
diff --git a/include/linux/elevator.h b/include/linux/elevator.h
index 638b324..0ae0efd 100644
--- a/include/linux/elevator.h
+++ b/include/linux/elevator.h
@@ -154,7 +154,7 @@ extern void elv_unregister(struct elevator_type *);
extern ssize_t elv_iosched_show(struct request_queue *, char *);
extern ssize_t elv_iosched_store(struct request_queue *, const char *, size_t);
-extern int elevator_init(struct request_queue *, char *);
+extern int elevator_init(struct request_queue *);
extern void elevator_exit(struct elevator_queue *);
extern int elevator_change(struct request_queue *, const char *);
extern bool elv_rq_merge_ok(struct request *, struct bio *);
--
2.5.0