summaryrefslogtreecommitdiffstats
path: root/drivers/block/nvme.c
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew.r.wilcox@intel.com>2011-01-20 09:10:15 -0500
committerMatthew Wilcox <matthew.r.wilcox@intel.com>2011-11-04 15:52:51 -0400
commit3001082cac4bf6ffd09f72b39e6292ad6394ef17 (patch)
tree1dd83dc447a01e331e86a4ffb324322ae203417f /drivers/block/nvme.c
parentb60503ba432b16fc84442a84e29a7aad2c0c363d (diff)
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>
Diffstat (limited to 'drivers/block/nvme.c')
-rw-r--r--drivers/block/nvme.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c
index ef66eccc2aa..b10e064795e 100644
--- a/drivers/block/nvme.c
+++ b/drivers/block/nvme.c
@@ -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;
}