From: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
To: linux-scsi@vger.kernel.org
Cc: James.Bottomley@HansenPartnership.com, dab@hp.com,
mikem@beardog.cce.hp.com
Subject: [PATCH 05/24] hpsa: factor out hpsa_find_memory_BAR
Date: Thu, 27 May 2010 15:13:07 -0500 [thread overview]
Message-ID: <20100527201307.3116.43208.stgit@beardog.cce.hp.com> (raw)
In-Reply-To: <20100527200301.3116.78973.stgit@beardog.cce.hp.com>
From: Stephen M. Cameron <scameron@beardog.cce.hp.com>
hpsa: factor out hpsa_find_memory_BAR
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
---
drivers/scsi/hpsa.c | 34 +++++++++++++++++++---------------
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index bea2d41..59c0101 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3293,6 +3293,23 @@ static inline bool hpsa_board_disabled(struct pci_dev *pdev)
return ((command & PCI_COMMAND_MEMORY) == 0);
}
+static int __devinit hpsa_pci_find_memory_BAR(struct ctlr_info *h,
+ unsigned long *memory_bar)
+{
+ int i;
+
+ for (i = 0; i < DEVICE_COUNT_RESOURCE; i++)
+ if (pci_resource_flags(h->pdev, i) & IORESOURCE_MEM) {
+ /* addressing mode bits already removed */
+ *memory_bar = pci_resource_start(h->pdev, i);
+ dev_dbg(&h->pdev->dev, "memory BAR = %lx\n",
+ *memory_bar);
+ return 0;
+ }
+ dev_warn(&h->pdev->dev, "no memory BAR found\n");
+ return -ENODEV;
+}
+
static int __devinit hpsa_pci_init(struct ctlr_info *h)
{
u32 scratchpad = 0;
@@ -3325,22 +3342,9 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h)
return err;
}
hpsa_interrupt_mode(h);
-
- /* find the memory BAR */
- for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
- if (pci_resource_flags(h->pdev, i) & IORESOURCE_MEM)
- break;
- }
- if (i == DEVICE_COUNT_RESOURCE) {
- dev_warn(&h->pdev->dev, "no memory BAR found\n");
- err = -ENODEV;
+ err = hpsa_pci_find_memory_BAR(h, &h->paddr);
+ if (err)
goto err_out_free_res;
- }
-
- h->paddr = pci_resource_start(h->pdev, i); /* addressing mode bits
- * already removed
- */
-
h->vaddr = remap_pci_mem(h->paddr, 0x250);
/* Wait for the board to become ready. */
next prev parent reply other threads:[~2010-05-27 20:08 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-27 20:12 [PATCH 00/24] hpsa updates for May 2010 Stephen M. Cameron
2010-05-27 20:12 ` [PATCH 01/24] hpsa: save pdev pointer in per hba structure early to avoid passing it around so much Stephen M. Cameron
2010-05-27 20:12 ` [PATCH 02/24] hpsa: factor out hpsa_lookup_board_id Stephen M. Cameron
2010-05-27 20:12 ` [PATCH 03/24] hpsa: factor out hpsa_board_disabled Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 04/24] hpsa: remove redundant board_id parameter from hpsa_interrupt_mode Stephen M. Cameron
2010-05-27 20:13 ` Stephen M. Cameron [this message]
2010-05-27 20:13 ` [PATCH 06/24] hpsa: factor out hpsa_wait_for_board_ready Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 07/24] hpsa: factor out hpsa_find_cfgtables Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 08/24] hpsa: fix leak of ioremapped memory Stephen M. Cameron
2010-05-28 19:12 ` Rolf Eike Beer
2010-06-01 12:55 ` scameron
2010-05-27 20:13 ` [PATCH 09/24] hpsa: hpsa factor out hpsa_find_board_params Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 10/24] hpsa: factor out hpsa-CISS-signature-present Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 11/24] hpsa: factor out hpsa_enable_scsi_prefetch Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 12/24] hpsa: factor out hpsa_p600_dma_prefetch_quirk Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 13/24] hpsa: factor out hpsa_enter_simple_mode Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 14/24] hpsa: check that simple mode is supported Stephen M. Cameron
2010-05-27 20:13 ` [PATCH 15/24] hpsa: clean up debug ifdefs Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 16/24] hpsa: mark hpsa_mark_hpsa_put_ctlr_into_performant_mode as __devinit Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 17/24] hpsa: factor out hpsa_wait_for_mode_change_ack Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 18/24] hpsa: remove unused variable trans_offset Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 19/24] hpsa: factor out hpsa_enter_performant_mode Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 20/24] hpsa: remove unused firm_ver member of the per-hba structure Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 21/24] hpsa: Add hpsa.txt to Documentation/scsi Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 22/24] hpsa: expose controller firmware revision via /sys Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 23/24] hpsa: fix block fetch table problem Stephen M. Cameron
2010-05-27 20:14 ` [PATCH 24/24] hpsa: add entry to MAINTAINERS Stephen M. Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100527201307.3116.43208.stgit@beardog.cce.hp.com \
--to=scameron@beardog.cce.hp.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=dab@hp.com \
--cc=linux-scsi@vger.kernel.org \
--cc=mikem@beardog.cce.hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).