[PATCH 01/13] cciss: factor out cciss_getpciinfo

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Stephen M. Cameron
Date: Thursday, August 26, 2010 - 11:55 am

From: Stephen M. Cameron <scameron@beardog.cce.hp.com>

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
---
 drivers/block/cciss.c |   34 +++++++++++++++++-----------------
 1 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index eef94fa..c1eca37 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -1232,9 +1232,22 @@ static void check_ioctl_unit_attention(ctlr_info_t *h, CommandList_struct *c)
 			c->err_info->ScsiStatus != SAM_STAT_CHECK_CONDITION)
 		(void)check_for_unit_attention(h, c);
 }
-/*
- * ioctl
- */
+
+static int cciss_getpciinfo(ctlr_info_t *h, void __user *argp)
+{
+	cciss_pci_info_struct pciinfo;
+
+	if (!argp)
+		return -EINVAL;
+	pciinfo.domain = pci_domain_nr(h->pdev->bus);
+	pciinfo.bus = h->pdev->bus->number;
+	pciinfo.dev_fn = h->pdev->devfn;
+	pciinfo.board_id = h->board_id;
+	if (copy_to_user(argp, &pciinfo, sizeof(cciss_pci_info_struct)))
+		return -EFAULT;
+	return 0;
+}
+
 static int cciss_ioctl(struct block_device *bdev, fmode_t mode,
 		       unsigned int cmd, unsigned long arg)
 {
@@ -1247,20 +1260,7 @@ static int cciss_ioctl(struct block_device *bdev, fmode_t mode,
 		cmd, arg);
 	switch (cmd) {
 	case CCISS_GETPCIINFO:
-		{
-			cciss_pci_info_struct pciinfo;
-
-			if (!arg)
-				return -EINVAL;
-			pciinfo.domain = pci_domain_nr(h->pdev->bus);
-			pciinfo.bus = h->pdev->bus->number;
-			pciinfo.dev_fn = h->pdev->devfn;
-			pciinfo.board_id = h->board_id;
-			if (copy_to_user
-			    (argp, &pciinfo, sizeof(cciss_pci_info_struct)))
-				return -EFAULT;
-			return 0;
-		}
+		return cciss_getpciinfo(h, argp);
 	case CCISS_GETINTINFO:
 		{
 			cciss_coalint_struct intinfo;

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/13] cciss: clean up cciss_ioctl(), Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 01/13] cciss: factor out cciss_getpciinfo, Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 02/13] cciss: factor out cciss_getintinfo, Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 03/13] cciss: factor out cciss_setintinfo, Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 04/13] cciss: factor out cciss_getnodename, Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 05/13] cciss: factor out cciss_setnodename, Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 06/13] cciss: factor out cciss_getheartbeat, Stephen M. Cameron, (Thu Aug 26, 11:55 am)
[PATCH 07/13] cciss: factor out cciss_getbustypes, Stephen M. Cameron, (Thu Aug 26, 11:56 am)
[PATCH 08/13] cciss: factor out cciss_getfirmver, Stephen M. Cameron, (Thu Aug 26, 11:56 am)
[PATCH 09/13] cciss: factor out cciss_getdrivver, Stephen M. Cameron, (Thu Aug 26, 11:56 am)
[PATCH 10/13] cciss: factor out cciss_getluninfo, Stephen M. Cameron, (Thu Aug 26, 11:56 am)
[PATCH 11/13] cciss: factor out cciss_passthru, Stephen M. Cameron, (Thu Aug 26, 11:56 am)
[PATCH 12/13] cciss: factor out cciss_big_passthru, Stephen M. Cameron, (Thu Aug 26, 11:56 am)
[PATCH 13/13] cciss: remove some superfluous tests from cc ..., Stephen M. Cameron, (Thu Aug 26, 11:56 am)
Re: [PATCH 00/13] cciss: clean up cciss_ioctl(), Jens Axboe, (Fri Sep 10, 3:13 am)