All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
To: dev-VfR2kkLFssw@public.gmane.org
Cc: Neil Horman <nhorman-iOcguaFf9ptWk0Htik3J/w@public.gmane.org>
Subject: [PATCH 11/19] pmd: Move rte_pmd_init_all to be non-inline
Date: Thu, 10 Apr 2014 16:50:01 -0400	[thread overview]
Message-ID: <1397163009-29950-11-git-send-email-nhorman@tuxdriver.com> (raw)
In-Reply-To: <1397163009-29950-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>

Organizational change in support of doing dynamic init routine registration

Signed-off-by: Neil Horman <nhorman-iOcguaFf9ptWk0Htik3J/w@public.gmane.org>
---
 lib/librte_ether/rte_ethdev.c | 52 ++++++++++++++++++++++++++++++++++++++++++
 lib/librte_ether/rte_ethdev.h | 53 +------------------------------------------
 2 files changed, 53 insertions(+), 52 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a5727dd..dd378f0 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -112,6 +112,58 @@ static uint8_t nb_ports = 0;
 /* spinlock for eth device callbacks */
 static rte_spinlock_t rte_eth_dev_cb_lock = RTE_SPINLOCK_INITIALIZER;
 
+int rte_pmd_init_all(void)
+{
+        int ret = -ENODEV;
+
+#ifdef RTE_LIBRTE_IGB_PMD
+        if ((ret = rte_igb_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init igb PMD\n");
+                return (ret);
+        }
+        if ((ret = rte_igbvf_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init igbvf PMD\n");
+                return (ret);
+        }
+#endif /* RTE_LIBRTE_IGB_PMD */
+
+#ifdef RTE_LIBRTE_EM_PMD
+        if ((ret = rte_em_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init em PMD\n");
+                return (ret);
+        }
+#endif /* RTE_LIBRTE_EM_PMD */
+
+#ifdef RTE_LIBRTE_IXGBE_PMD
+        if ((ret = rte_ixgbe_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init ixgbe PMD\n");
+                return (ret);
+        }
+        if ((ret = rte_ixgbevf_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init ixgbevf PMD\n");
+                return (ret);
+        }
+#endif /* RTE_LIBRTE_IXGBE_PMD */
+
+#ifdef RTE_LIBRTE_VIRTIO_PMD
+        if ((ret = rte_virtio_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init virtio PMD\n");
+                return (ret);
+        }
+#endif /* RTE_LIBRTE_VIRTIO_PMD */
+
+#ifdef RTE_LIBRTE_VMXNET3_PMD
+        if ((ret = rte_vmxnet3_pmd_init()) != 0) {
+                RTE_LOG(ERR, PMD, "Cannot init vmxnet3 PMD\n");
+                return (ret);
+        }
+#endif /* RTE_LIBRTE_VMXNET3_PMD */
+
+        if (ret == -ENODEV)
+                RTE_LOG(ERR, PMD, "No PMD(s) are configured\n");
+        return (ret);
+}
+
 /**
  * The user application callback description.
  *
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index dea7471..bf2ded4 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1396,58 +1396,7 @@ extern int rte_vmxnet3_pmd_init(void);
  *   -ENODEV if there are no drivers available
  *   (e.g. if all driver config options are = n).
  */
-static inline
-int rte_pmd_init_all(void)
-{
-	int ret = -ENODEV;
-
-#ifdef RTE_LIBRTE_IGB_PMD
-	if ((ret = rte_igb_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init igb PMD\n");
-		return (ret);
-	}
-	if ((ret = rte_igbvf_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init igbvf PMD\n");
-		return (ret);
-	}
-#endif /* RTE_LIBRTE_IGB_PMD */
-
-#ifdef RTE_LIBRTE_EM_PMD
-	if ((ret = rte_em_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init em PMD\n");
-		return (ret);
-	}
-#endif /* RTE_LIBRTE_EM_PMD */
-
-#ifdef RTE_LIBRTE_IXGBE_PMD
-	if ((ret = rte_ixgbe_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init ixgbe PMD\n");
-		return (ret);
-	}
-	if ((ret = rte_ixgbevf_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init ixgbevf PMD\n");
-		return (ret);
-	}
-#endif /* RTE_LIBRTE_IXGBE_PMD */
-
-#ifdef RTE_LIBRTE_VIRTIO_PMD
-	if ((ret = rte_virtio_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init virtio PMD\n");
-		return (ret);
-	}
-#endif /* RTE_LIBRTE_VIRTIO_PMD */
-
-#ifdef RTE_LIBRTE_VMXNET3_PMD
-	if ((ret = rte_vmxnet3_pmd_init()) != 0) {
-		RTE_LOG(ERR, PMD, "Cannot init vmxnet3 PMD\n");
-		return (ret);
-	}
-#endif /* RTE_LIBRTE_VMXNET3_PMD */
-
-	if (ret == -ENODEV)
-		RTE_LOG(ERR, PMD, "No PMD(s) are configured\n");
-	return (ret);
-}
+extern int rte_pmd_init_all(void);
 
 /**
  * Configure an Ethernet device.
-- 
1.8.3.1

  parent reply	other threads:[~2014-04-10 20:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-10 20:47 [PATCH 0/19] Separate compile time linkage between eal lib and pmd's Neil Horman
     [not found] ` <1397162846-28912-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-04-10 20:49   ` [PATCH 01/19] makefiles: Fixed -share command line option error Neil Horman
     [not found]     ` <1397163009-29950-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-04-10 20:49       ` [PATCH 02/19] pmd: Add PMD_INIT_NONPCI macros Neil Horman
2014-04-10 20:49       ` [PATCH 03/19] eal: dlopen the DSO built poll mode drivers before init Neil Horman
2014-04-10 20:49       ` [PATCH 04/19] pcap: Convert pcap poll mode driver to use new PMD_INIT_NONPCI macro Neil Horman
2014-04-10 20:49       ` [PATCH 05/19] ring: convert the ring pmd driver to use the " Neil Horman
2014-04-10 20:49       ` [PATCH 06/19] xenvert: Convert xenvirt pmd to use " Neil Horman
2014-04-10 20:49       ` [PATCH 07/19] pmd: remove dead code Neil Horman
2014-04-10 20:49       ` [PATCH 08/19] test: fix test app to dynamically link pmd_pcap when needed Neil Horman
2014-04-10 20:49       ` [PATCH 09/19] testpmd: only link pcap pmd when statically linking Neil Horman
2014-04-10 20:50       ` [PATCH 10/19] make: include whole archive on static link Neil Horman
2014-04-10 20:50       ` Neil Horman [this message]
2014-04-10 20:50       ` [PATCH 12/19] pmd: Add PMD_INIT macro for use in pci based PMDs Neil Horman
2014-04-10 20:50       ` [PATCH 13/19] igb: Convert PMD to use new PMD_INIT macro Neil Horman
2014-04-10 20:50       ` [PATCH 14/19] igbvf: move igbvf pmd to use " Neil Horman
2014-04-10 20:50       ` [PATCH 15/19] em: move em/e1000 " Neil Horman
2014-04-10 20:50       ` [PATCH 16/19] ixgbe: move ixgbe[vf] pmd's " Neil Horman
2014-04-10 20:50       ` [PATCH 17/19] virtio: Move to using " Neil Horman
2014-04-10 20:50       ` [PATCH 18/19] vmxnet3: move " Neil Horman
2014-04-10 20:50       ` [PATCH 19/19] pmd: Not having any pci dev pmds shouldn't be fatal Neil Horman
2014-04-12 11:04   ` [PATCH 0/19] Separate compile time linkage between eal lib and pmd's Neil Horman
     [not found]     ` <20140412110425.GB30887-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-04-15  8:31       ` Thomas Monjalon
2014-04-15 13:46         ` Neil Horman

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=1397163009-29950-11-git-send-email-nhorman@tuxdriver.com \
    --to=nhorman-2xusbdqka4r54taoqtywwq@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=nhorman-iOcguaFf9ptWk0Htik3J/w@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.