[dpdk-dev] [PATCH v6 2/8] qede: Add base driver

Rasesh Mody rasesh.mody at qlogic.com
Wed Apr 27 02:49:32 CEST 2016


> From: Bruce Richardson [mailto:bruce.richardson at intel.com]
> Sent: Tuesday, April 26, 2016 6:02 AM
> 
> On Mon, Apr 25, 2016 at 10:13:00PM -0700, 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>
> > ---
> 
> <snip>
> 
> > +#
> > +# CLANG VERSION
> > +#
> > +IS_CLANG_GT_362 := $(shell \
> > +			CLANG_MAJOR=`echo | clang -dM -E - 2>/dev/null |
> grep clang_major | cut -d" " -f3`; \
> > +			CLANG_MINOR=`echo | clang -dM -E - 2>/dev/null |
> grep clang_minor | cut -d" " -f3`; \
> > +			CLANG_PATCH=`echo | clang -dM -E - 2>/dev/null |
> grep clang_patch | cut -d" " -f3`; \
> > +			if [ "0$$CLANG_MAJOR" -gt "03" ]; then \
> > +				echo 1; \
> > +			elif [ "0$$CLANG_MAJOR" -eq "03" -a
> "0$$CLANG_MINOR" -gt "06" ]; then \
> > +				echo 1; \
> > +			elif [ "0$$CLANG_MAJOR" -eq "03" -a
> "0$$CLANG_MINOR" -eq "06" -a "0$$CLANG_PATCH" -gt "02" ]; then \
> > +				echo 1; \
> > +			fi)
> > +
> 
> While the clang version seems something that might be generally useful, this
> seems a long way of doing things just to see what compiler warning flag you
> need to set. How about just testing with clang to see if you get an error with
> the new flag or not.

Will address this, thanks.

> 
> For example, on Fedora 23 (clang 3.7):
> 
>   bruce at Fedora:dpdk-next-net$ clang -Wno-shift-negative-value -Werror -E
> - < /dev/null > /dev/null 2>&1
>   bruce at Fedora:dpdk-next-net$ echo $?
>   0
> 
> While the same commands on FreeBSD 10.3 (clang 3.4):
> 
>   bruce at bsd10:~$ clang -Wno-shift-negative-value -Werror -E - < /dev/null >
> /dev/null 2>&1
>   bruce at bsd10:~$ echo $?
>   1
> 
> > +#
> > +# CFLAGS
> > +#
> > +CFLAGS_BASE_DRIVER = -Wno-unused-parameter CFLAGS_BASE_DRIVER
> +=
> > +-Wno-unused-value CFLAGS_BASE_DRIVER += -Wno-sign-compare
> > +CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
> CFLAGS_BASE_DRIVER +=
> > +-Wno-cast-qual CFLAGS_BASE_DRIVER += -Wno-unused-function
> > +CFLAGS_BASE_DRIVER += -Wno-unused-variable CFLAGS_BASE_DRIVER
> +=
> > +-Wno-strict-aliasing CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
> > +CFLAGS_BASE_DRIVER += -Wno-format-nonliteral ifeq
> ($(OS_TYPE),Linux)
> > +ifeq ($(IS_CLANG_GT_362),1) CFLAGS_BASE_DRIVER +=
> > +-Wno-shift-negative-value # Support added after clang 3.6 else
> > +CFLAGS_BASE_DRIVER += -Wno-shift-sign-overflow endif endif
> > +
> 
> <snip>


More information about the dev mailing list