Travis now runs checkpatch.pl

Note that this implies:
- If checkpatch.pl fails, Travis results is now "failed". In such a case,
  it must be checked that
  - checkpatch.pl fails for good reason (GP CamelCase style for ex.)
  - all the compilations steps are fine
- Signing the commit is now mandatory
     git commit -s ...
- When pushing several commits on the same branch (same pull-request),
  checkpatch.pl is run only on the code differences given by the
  the last commit

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Pascal Brand <pascal.brand@st.com>
Add support for per-directory/per-library/per-file includes, and per-library CPP flags

The new variables that can be used in sub.mk are:

  1) For includes: incdirs-y, incdirs-lib-y, incdirs-<filename>-y

For example, suppose core/lib/libfoo/sub.mk contains the following:

  # All source files declared in $(srcs-y) in this sub.mk will
  # have -Icore/lib/libfoo/include
  incdirs-y := include

  # All source files for the current library $(libname) will be built
  # with -Icore/lib/libfoo/include/baz (even files that are in other
  # directories)
  incdirs-lib-y := include/baz

  # In addition to the above, bar.c will be compiled with
  # -Icore/lib/libfoo/include/bar
  incdirs-bar.c-y := include/bar

  2) For CPP flags: cppflags-lib-y

For example, to add -DLIBFOO to all the source files that belong to the same
library, add this to any of the sub.mk files:

  cppflags-lib-y := -DLIBFOO

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU virt platform)
Add dhex_dump() and DHEXDUMP() to format and print data in hexadecimal

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Add crypto provider internal API

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Import OpenSSL 1.0.1i

$ md5sum openssl-1.0.1i.tar.gz
c8dc151a671b9b92ff3e4c118b174972  openssl-1.0.1i.tar.gz

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Implement OpenSSL crypto provider (WITH_CRYPTO=openssl)

Set the WITH_CRYPTO build option to 'openssl' to use the OpenSSL licrypto
library for cryptographic services. When WITH_CRYPTO is not set or set to
'tomcrypt', the default LibTomCrypt library is used.

Usage example:
  $ make CROSS_COMPILE=arm-linux-gnueabihf- \
         PLATFORM=vexpress PLATFORM_FLAVOR=fvp \
         WITH_CRYPTO=openssl

Tested with xtest on Foundation_v8 FVP.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>