[dpdk-dev,v2,02/19] drivers: create drivers and drivers/net directory

Message ID 1431705423-16134-3-git-send-email-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Bruce Richardson May 15, 2015, 3:56 p.m. UTC
  Add a new top-level "drivers" directory to which all PMDs will be moved
for easier maintenance of both lib folder and drivers themselves. This
new directory is a dependency of all the apps in the app folder, so
the makefiles for each app are updated.
To the new top-level directory add a "net" subdirectory to classify
more specifically our existing PMDs as ethernet drivers

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 GNUmakefile                |  4 ++--
 app/dump_cfg/Makefile      |  4 ++--
 app/test-acl/Makefile      |  4 ++--
 app/test-pipeline/Makefile |  4 ++--
 app/test-pmd/Makefile      |  4 ++--
 app/test/Makefile          |  4 ++--
 drivers/Makefile           | 36 +++++++++++++++++++++++++++++++++
 drivers/net/Makefile       | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 98 insertions(+), 12 deletions(-)
 create mode 100644 drivers/Makefile
 create mode 100644 drivers/net/Makefile
  

Comments

Thomas Monjalon May 20, 2015, 3:04 p.m. UTC | #1
2015-05-15 16:56, Bruce Richardson:
> Add a new top-level "drivers" directory to which all PMDs will be moved
> for easier maintenance of both lib folder and drivers themselves. This
> new directory is a dependency of all the apps in the app folder, so
> the makefiles for each app are updated.

Why drivers are a dependency of every apps?
Some of them don't even include rte_ethdev.h.
  
Bruce Richardson May 20, 2015, 3:30 p.m. UTC | #2
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Wednesday, May 20, 2015 4:05 PM
> To: Richardson, Bruce
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 02/19] drivers: create drivers and
> drivers/net directory
> 
> 2015-05-15 16:56, Bruce Richardson:
> > Add a new top-level "drivers" directory to which all PMDs will be
> > moved for easier maintenance of both lib folder and drivers
> > themselves. This new directory is a dependency of all the apps in the
> > app folder, so the makefiles for each app are updated.
> 
> Why drivers are a dependency of every apps?
> Some of them don't even include rte_ethdev.h.

Good point. I just got a broken build initially in the apps with missing dependencies, so I made the change so that dependencies were the same as before.

Looking at things, I imagine test-pmd and test-pipeline depend upon the drivers since they do packet IO, and the test app will depend on it as it has unit tests for the bond-ethdev driver.
Dump-cfg and the test-acl app should not have a dependency on the driver, I imagine. 

It appears that the cmdline-test app is missing a DEPDIRS-y line, but it probably should depend on the libs, right?

/Bruce
  

Patch

diff --git a/GNUmakefile b/GNUmakefile
index d04c20b..b59e4b6 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,6 +1,6 @@ 
 #   BSD LICENSE
 #
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -40,6 +40,6 @@  export RTE_SDK
 # directory list
 #
 
-ROOTDIRS-y := lib app
+ROOTDIRS-y := lib drivers app
 
 include $(RTE_SDK)/mk/rte.sdkroot.mk
diff --git a/app/dump_cfg/Makefile b/app/dump_cfg/Makefile
index 3257127..8d91a54 100644
--- a/app/dump_cfg/Makefile
+++ b/app/dump_cfg/Makefile
@@ -1,6 +1,6 @@ 
 #   BSD LICENSE
 #
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -40,6 +40,6 @@  CFLAGS += $(WERROR_FLAGS)
 SRCS-y := main.c
 
 # this application needs libraries first
-DEPDIRS-y += lib
+DEPDIRS-y += lib drivers
 
 include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
index 43dfdcb..46ec449 100644
--- a/app/test-acl/Makefile
+++ b/app/test-acl/Makefile
@@ -1,6 +1,6 @@ 
 #   BSD LICENSE
 #
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,7 @@  CFLAGS += $(WERROR_FLAGS)
 SRCS-y := main.c
 
 # this application needs libraries first
-DEPDIRS-y += lib
+DEPDIRS-y += lib drivers
 
 include $(RTE_SDK)/mk/rte.app.mk
 
diff --git a/app/test-pipeline/Makefile b/app/test-pipeline/Makefile
index aa6df0c..4bab6dc 100644
--- a/app/test-pipeline/Makefile
+++ b/app/test-pipeline/Makefile
@@ -1,6 +1,6 @@ 
 #   BSD LICENSE
 #
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -57,7 +57,7 @@  SRCS-y += pipeline_lpm_ipv6.c
 SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c
 
 # this application needs libraries first
-DEPDIRS-y += lib
+DEPDIRS-y += lib drivers
 
 include $(RTE_SDK)/mk/rte.app.mk
 
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
index dcf26f4..72426f3 100644
--- a/app/test-pmd/Makefile
+++ b/app/test-pmd/Makefile
@@ -1,6 +1,6 @@ 
 #   BSD LICENSE
 #
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -66,7 +66,7 @@  endif
 CFLAGS_cmdline.o := -D_GNU_SOURCE
 
 # this application needs libraries first
-DEPDIRS-y += lib
+DEPDIRS-y += lib drivers
 
 include $(RTE_SDK)/mk/rte.app.mk
 
diff --git a/app/test/Makefile b/app/test/Makefile
index 4aca77c..3c777bf 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -1,6 +1,6 @@ 
 #   BSD LICENSE
 #
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -159,7 +159,7 @@  endif
 endif
 
 # this application needs libraries first
-DEPDIRS-y += lib
+DEPDIRS-y += lib drivers
 
 # Link against shared libraries when needed
 ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
diff --git a/drivers/Makefile b/drivers/Makefile
new file mode 100644
index 0000000..b60eb5e
--- /dev/null
+++ b/drivers/Makefile
@@ -0,0 +1,36 @@ 
+#   BSD LICENSE
+#
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-y += net
+
+include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
new file mode 100644
index 0000000..2e1a0d0
--- /dev/null
+++ b/drivers/net/Makefile
@@ -0,0 +1,50 @@ 
+#   BSD LICENSE
+#
+#   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+#DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += librte_pmd_e1000
+#DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += librte_pmd_ixgbe
+#DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += librte_pmd_i40e
+#DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += librte_pmd_fm10k
+#DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += librte_pmd_mlx4
+#DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += librte_pmd_enic
+#DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += librte_pmd_bond
+#DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += librte_pmd_ring
+#DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += librte_pmd_pcap
+#DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += librte_pmd_af_packet
+#DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += librte_pmd_virtio
+#DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += librte_pmd_vmxnet3
+#DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += librte_pmd_xenvirt
+#DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += librte_pmd_null
+
+include $(RTE_SDK)/mk/rte.sharelib.mk
+include $(RTE_SDK)/mk/rte.subdir.mk