Merge tag 'net-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / block / elevator.h
index 3f0593b..774a8f6 100644 (file)
@@ -84,6 +84,21 @@ struct elevator_type
        struct list_head list;
 };
 
+static inline bool elevator_tryget(struct elevator_type *e)
+{
+       return try_module_get(e->elevator_owner);
+}
+
+static inline void __elevator_get(struct elevator_type *e)
+{
+       __module_get(e->elevator_owner);
+}
+
+static inline void elevator_put(struct elevator_type *e)
+{
+       module_put(e->elevator_owner);
+}
+
 #define ELV_HASH_BITS 6
 
 void elv_rqhash_del(struct request_queue *q, struct request *rq);
@@ -100,10 +115,13 @@ struct elevator_queue
        void *elevator_data;
        struct kobject kobj;
        struct mutex sysfs_lock;
-       unsigned int registered:1;
+       unsigned long flags;
        DECLARE_HASHTABLE(hash, ELV_HASH_BITS);
 };
 
+#define ELEVATOR_FLAG_REGISTERED       0
+#define ELEVATOR_FLAG_DISABLE_WBT      1
+
 /*
  * block elevator interface
  */