From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <viktorin@rehivetech.com>
Received: from wes1-so1.wedos.net (wes1-so1.wedos.net [46.28.106.15])
 by dpdk.org (Postfix) with ESMTP id 4461F4CE6
 for <dev@dpdk.org>; Mon, 13 Jun 2016 10:17:47 +0200 (CEST)
Received: from pcviktorin.fit.vutbr.cz (pcviktorin.fit.vutbr.cz
 [147.229.13.147])
 by wes1-so1.wedos.net (Postfix) with ESMTPSA id 3rSlyM0ng9zBq5;
 Mon, 13 Jun 2016 10:17:47 +0200 (CEST)
From: Jan Viktorin <viktorin@rehivetech.com>
To: dev@dpdk.org
Cc: Jan Viktorin <viktorin@rehivetech.com>,
 Thomas Monjalon <thomas.monjalon@6wind.com>,
 David Marchand <david.marchand@6wind.com>,
 Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 13 Jun 2016 10:12:27 +0200
Message-Id: <1465805550-30640-8-git-send-email-viktorin@rehivetech.com>
X-Mailer: git-send-email 2.8.0
In-Reply-To: <1465805550-30640-1-git-send-email-viktorin@rehivetech.com>
References: <1465805550-30640-1-git-send-email-viktorin@rehivetech.com>
In-Reply-To: <1463510101-5633-1-git-send-email-viktorin@rehivetech.com>
References: <1463510101-5633-1-git-send-email-viktorin@rehivetech.com>
Subject: [dpdk-dev] [PATCH v4 07/10] app/test: extract test_pci_setup and
	test_pci_cleanup
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Jun 2016 08:17:47 -0000

Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
---
 app/test/test_pci.c | 47 ++++++++++++++++++++++++++++++++++-------------
 1 file changed, 34 insertions(+), 13 deletions(-)

diff --git a/app/test/test_pci.c b/app/test/test_pci.c
index 8b7c8bb..50078a0 100644
--- a/app/test/test_pci.c
+++ b/app/test/test_pci.c
@@ -148,21 +148,46 @@ static void free_devargs_list(void)
 struct pci_driver_list real_pci_driver_list =
 	TAILQ_HEAD_INITIALIZER(real_pci_driver_list);
 
+static int
+test_pci_setup(void)
+{
+	struct rte_pci_driver *dr;
+
+	/* Unregister original driver list */
+	while (!TAILQ_EMPTY(&pci_driver_list)) {
+		dr = TAILQ_FIRST(&pci_driver_list);
+		rte_eal_pci_unregister(dr);
+		TAILQ_INSERT_TAIL(&real_pci_driver_list, dr, next);
+	}
+
+	return 0;
+}
+
+static int
+test_pci_cleanup(void)
+{
+	struct rte_pci_driver *dr;
+
+	/* Restore original driver list */
+	while (!TAILQ_EMPTY(&real_pci_driver_list)) {
+		dr = TAILQ_FIRST(&real_pci_driver_list);
+		TAILQ_REMOVE(&real_pci_driver_list, dr, next);
+		rte_eal_pci_register(dr);
+	}
+
+	return 0;
+}
+
 int
 test_pci(void)
 {
 	struct rte_devargs_list save_devargs_list;
-	struct rte_pci_driver *dr = NULL;
 
 	printf("Dump all devices\n");
 	rte_eal_pci_dump(stdout);
 
-	/* Unregister all previous drivers */
-	while (!TAILQ_EMPTY(&pci_driver_list)) {
-		dr = TAILQ_FIRST(&pci_driver_list);
-		rte_eal_pci_unregister(dr);
-		TAILQ_INSERT_TAIL(&real_pci_driver_list, dr, next);
-	}
+	if (test_pci_setup())
+		return -1;
 
 	rte_eal_pci_register(&my_driver);
 	rte_eal_pci_register(&my_driver2);
@@ -199,12 +224,8 @@ test_pci(void)
 	rte_eal_pci_unregister(&my_driver);
 	rte_eal_pci_unregister(&my_driver2);
 
-	/* Restore original driver list */
-	while (!TAILQ_EMPTY(&real_pci_driver_list)) {
-		dr = TAILQ_FIRST(&real_pci_driver_list);
-		TAILQ_REMOVE(&real_pci_driver_list, dr, next);
-		rte_eal_pci_register(dr);
-	}
+	if (test_pci_cleanup())
+		return -1;
 
 	return 0;
 }
-- 
2.8.0