NVMe: Factor out queue_request_irq()
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>
diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c
index ef66ecc..b10e064 100644
--- a/drivers/block/nvme.c
+++ b/drivers/block/nvme.c
@@ -568,6 +568,13 @@
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 @@
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 @@
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;
}