[dpdk-dev] [PATCH v7 1/7] qede: add base driver

Ferruh Yigit ferruh.yigit at intel.com
Tue Mar 28 13:16:14 CEST 2017


On 4/27/2016 3:18 PM, rasesh.mody at qlogic.com (Rasesh Mody) wrote:
> The base driver is the backend module for the QLogic FastLinQ QL4xxxx
> 25G/40G CNA family of adapters as well as their virtual functions (VF)
> in SR-IOV context.
> 
> The purpose of the base module is to:
>  - provide all the common code that will be shared between the various
>    drivers that would be used with said line of products. Flows such as
>    chip initialization and de-initialization fall under this category.
>  - abstract the protocol-specific HW & FW components, allowing the
>    protocol drivers to have clean APIs, which are detached in its
>    slowpath configuration from the actual Hardware Software Interface(HSI).
> 
> This patch adds a base module without any protocol-specific bits.
> I.e., this adds a basic implementation that almost entirely falls under
> the first category.
> 
> Signed-off-by: Harish Patil <harish.patil at qlogic.com>
> Signed-off-by: Rasesh Mody <rasesh.mody at qlogic.com>
> Signed-off-by: Sony Chacko <sony.chacko at qlogic.com>

<...>

> diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile
> new file mode 100644
> index 0000000..febd41d
> --- /dev/null
> +++ b/drivers/net/qede/Makefile
> @@ -0,0 +1,81 @@
<...>
> +
> +#
> +# Add extra flags for base ecore driver files
> +# to disable warnings in them
> +#
> +#
> +BASE_DRIVER_OBJS=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
> +$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS+=$(CFLAGS_BASE_DRIVER)))

My eyes just caught this one, above line adds $(CFLAGS_BASE_DRIVER) many
times to $(CFLAGS), but real intentions is add to obj specific CFLAGS
and only being limited to base files.

Like:
$(foreach obj, $(BASE_DRIVER_OBJS), $(eval
CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))

Can you please fix this?

Fixing this may give some build errors on non-base driver files,
although not sure.

Thanks,
ferruh

> +
> +#
> +# all source are stored in SRCS-y
> +#
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_dev.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_hw.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_cxt.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_sp_commands.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_init_fw_funcs.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_spq.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_init_ops.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_mcp.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/ecore_int.c
> +SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += base/bcm_osal.c
> +
> +# dependent libs:
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += lib/librte_eal lib/librte_ether
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += lib/librte_mempool lib/librte_mbuf
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += lib/librte_net lib/librte_malloc
> +
> +include $(RTE_SDK)/mk/rte.lib.mk

<...>


More information about the dev mailing list