aboutsummaryrefslogtreecommitdiffstats
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
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>
-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,
568 return NULL; 568 return NULL;
569} 569}
570 570
571static int queue_request_irq(struct nvme_dev *dev, struct nvme_queue *nvmeq,
572 const char *name)
573{
574 return request_irq(dev->entry[nvmeq->cq_vector].vector, nvme_irq,
575 IRQF_DISABLED | IRQF_SHARED, name, nvmeq);
576}
577
571static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev, 578static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev,
572 int qid, int cq_size, int vector) 579 int qid, int cq_size, int vector)
573{ 580{
@@ -582,8 +589,7 @@ static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev,
582 if (result < 0) 589 if (result < 0)
583 goto release_cq; 590 goto release_cq;
584 591
585 result = request_irq(dev->entry[vector].vector, nvme_irq, 592 result = queue_request_irq(dev, nvmeq, "nvme");
586 IRQF_DISABLED | IRQF_SHARED, "nvme", nvmeq);
587 if (result < 0) 593 if (result < 0)
588 goto release_sq; 594 goto release_sq;
589 595
@@ -630,8 +636,7 @@ static int __devinit nvme_configure_admin_queue(struct nvme_dev *dev)
630 return -EINTR; 636 return -EINTR;
631 } 637 }
632 638
633 result = request_irq(dev->entry[0].vector, nvme_irq, 639 result = queue_request_irq(dev, nvmeq, "nvme admin");
634 IRQF_DISABLED | IRQF_SHARED, "nvme admin", nvmeq);
635 dev->queues[0] = nvmeq; 640 dev->queues[0] = nvmeq;
636 return result; 641 return result;
637} 642}