block: cleanup the block plug helper functions
[pandora-kernel.git] / block / blk-settings.c
index c8d6892..eb94904 100644 (file)
@@ -167,13 +167,6 @@ void blk_queue_make_request(struct request_queue *q, make_request_fn *mfn)
        blk_set_default_limits(&q->limits);
        blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS);
 
-       /*
-        * If the caller didn't supply a lock, fall back to our embedded
-        * per-queue locks
-        */
-       if (!q->queue_lock)
-               q->queue_lock = &q->__queue_lock;
-
        /*
         * by default assume old behaviour and bounce for any highmem page
         */
@@ -797,6 +790,22 @@ void blk_queue_flush(struct request_queue *q, unsigned int flush)
 }
 EXPORT_SYMBOL_GPL(blk_queue_flush);
 
+/**
+ * blk_queue_unplugged - register a callback for an unplug event
+ * @q:         the request queue for the device
+ * @fn:                the function to call
+ *
+ * Some stacked drivers may need to know when IO is dispatched on an
+ * unplug event. By registrering a callback here, they will be notified
+ * when someone flushes their on-stack queue plug. The function will be
+ * called with the queue lock held.
+ */
+void blk_queue_unplugged(struct request_queue *q, unplugged_fn *fn)
+{
+       q->unplugged_fn = fn;
+}
+EXPORT_SYMBOL(blk_queue_unplugged);
+
 static int __init blk_settings_init(void)
 {
        blk_max_low_pfn = max_low_pfn - 1;