NVMe: Factor out queue_request_irq()
authorMatthew Wilcox <matthew.r.wilcox@intel.com>
Thu, 20 Jan 2011 14:10:15 +0000 (09:10 -0500)
committerMatthew Wilcox <matthew.r.wilcox@intel.com>
Fri, 4 Nov 2011 19:52:51 +0000 (15:52 -0400)
Two callers with an almost identical long string of arguments, and
introducing a third soon.  Time to factor out the commonalities.

Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
drivers/block/nvme.c

index ef66ecc..b10e064 100644 (file)
@@ -568,6 +568,13 @@ static struct nvme_queue *nvme_alloc_queue(struct nvme_dev *dev, int qid,
        return NULL;
 }
 
+static int queue_request_irq(struct nvme_dev *dev, struct nvme_queue *nvmeq,
+                                                       const char *name)
+{
+       return request_irq(dev->entry[nvmeq->cq_vector].vector, nvme_irq,
+                               IRQF_DISABLED | IRQF_SHARED, name, nvmeq);
+}
+
 static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev,
                                        int qid, int cq_size, int vector)
 {
@@ -582,8 +589,7 @@ static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev,
        if (result < 0)
                goto release_cq;
 
-       result = request_irq(dev->entry[vector].vector, nvme_irq,
-                               IRQF_DISABLED | IRQF_SHARED, "nvme", nvmeq);
+       result = queue_request_irq(dev, nvmeq, "nvme");
        if (result < 0)
                goto release_sq;
 
@@ -630,8 +636,7 @@ static int __devinit nvme_configure_admin_queue(struct nvme_dev *dev)
                        return -EINTR;
        }
 
-       result = request_irq(dev->entry[0].vector, nvme_irq,
-                       IRQF_DISABLED | IRQF_SHARED, "nvme admin", nvmeq);
+       result = queue_request_irq(dev, nvmeq, "nvme admin");
        dev->queues[0] = nvmeq;
        return result;
 }