diff options
author | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2011-01-20 09:10:15 -0500 |
---|---|---|
committer | Matthew Wilcox <matthew.r.wilcox@intel.com> | 2011-11-04 15:52:51 -0400 |
commit | 3001082cac4bf6ffd09f72b39e6292ad6394ef17 (patch) | |
tree | 1dd83dc447a01e331e86a4ffb324322ae203417f /drivers/block/nvme.c | |
parent | b60503ba432b16fc84442a84e29a7aad2c0c363d (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.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c index ef66eccc2aa2..b10e064795ed 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 | ||
571 | static 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 | |||
571 | static __devinit struct nvme_queue *nvme_create_queue(struct nvme_dev *dev, | 578 | static __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 | } |