summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-12-14 03:33:41 +0400
committerJens Axboe <axboe@kernel.dk>2011-12-14 03:33:41 +0400
commit22f746e235a5cbee2a6ca9887b1be2aa7d31fe71 (patch)
treea9786fe9fdb994b5ff69794023e6e3e48e39e0b0 /include/linux
parentf8fc877d3c1f10457d0d73d8540a0c51a1fa718a (diff)
downloadlinux-22f746e235a5cbee2a6ca9887b1be2aa7d31fe71.tar.xz
block: remove elevator_queue->ops
elevator_queue->ops points to the same ops struct ->elevator_type.ops is pointing to. The only effect of caching it in elevator_queue is shorter notation - it doesn't save any indirect derefence. Relocate elevator_type->list which used only during module init/exit to the end of the structure, rename elevator_queue->elevator_type to ->type, and replace elevator_queue->ops with elevator_queue->type.ops. This doesn't introduce any functional difference. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/elevator.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/include/linux/elevator.h b/include/linux/elevator.h
index 02604c89ddde..04958ef53e62 100644
--- a/include/linux/elevator.h
+++ b/include/linux/elevator.h
@@ -78,11 +78,11 @@ struct elv_fs_entry {
*/
struct elevator_type
{
- struct list_head list;
struct elevator_ops ops;
struct elv_fs_entry *elevator_attrs;
char elevator_name[ELV_NAME_MAX];
struct module *elevator_owner;
+ struct list_head list;
};
/*
@@ -90,10 +90,9 @@ struct elevator_type
*/
struct elevator_queue
{
- struct elevator_ops *ops;
+ struct elevator_type *type;
void *elevator_data;
struct kobject kobj;
- struct elevator_type *elevator_type;
struct mutex sysfs_lock;
struct hlist_head *hash;
unsigned int registered:1;