[meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld

Nelson, Sam sam.nelson at ti.com
Mon Oct 27 09:44:16 PDT 2014


Ping.
> -----Original Message-----
> From: meta-ti-bounces at yoctoproject.org [mailto:meta-ti-
> bounces at yoctoproject.org] On Behalf Of Nelson, Sam
> Sent: Monday, October 13, 2014 11:10 AM
> To: Dmytriyenko, Denys
> Cc: meta-ti at yoctoproject.org
> Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> 
> Denys,
> I was waiting for your response on this.
> Otherwise, I can send an updated patch.
> Please let me know.
> With regards,
> Sam
> 
> > -----Original Message-----
> > From: Nelson, Sam
> > Sent: Thursday, October 09, 2014 7:08 AM
> > To: Dmytriyenko, Denys
> > Cc: meta-ti at yoctoproject.org
> > Subject: RE: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink lld
> >
> >
> >
> > > -----Original Message-----
> > > From: Dmytriyenko, Denys
> > > Sent: Wednesday, October 08, 2014 2:41 PM
> > > To: Nelson, Sam
> > > Cc: meta-ti at yoctoproject.org
> > > Subject: Re: [meta-ti] [PATCH] hyplnk-lld: Add new recipe for Hyperlink
> lld
> > >
> > > Sam,
> > >
> > > This patch is not as clean as it could have been...
> > >
> > > First of all, I see it's split into 2 separate recipes - one to build a
> > > library and another to build a test/example app using that library. While
> > > there are some valid reasons for such split, like when one component
> > builds
> > > both kernel and user-space parts, or when half of the component can be
> > > replaced by a different provider; it is probably not the best approach in
> > this
> > > case. It would be better to have a single recipe that builds everything and
> > > then packages its components into separate binary packages. Again,
> unless
> > > you
> > > envision building a test/example app w/o building its library, due to a
> > > replacement option. Or, if test/example app takes very long to build and
> is
> > > an optional piece and not being built by default... Please provide some
> > more
> > > details here.
> > [Sam] The main reason the recipes are split is this: The test code is written
> > such that it depends on libraries in the staging directory.
> > This is done intentionally to make the test code independent of the library.
> >
> > >
> > > Next, I understand that you have to work with the provided Makefiles as
> is,
> > > but usually for things like building the dynamic and static versions of the
> > > library one would use separate Makefile targets and not the variable.
> That
> > > way
> > > only dynamic, only static, or both can be done in one command, instead
> of
> > > calling the same command twice with the variable set to "yes" or "no" -
> > not
> > > very effective.
> > >
> > [Sam]  This builds the test code : one binary is built to  test  with the static
> > library and another with the dynamic library.
> > Not sure what you are suggesting.
> >
> > > Also, please try to follow OpenEmbedded coding guidelines, like using
> > > spaces
> > > around = sign. I.e. VAR = "VAL" instead of VAR="VAL". I understand it's a
> > > nitpick and not critical, but still.
> > >
> > [Sam] I will correct this.
> > > And since I'm not commenting inline, please be specific when using
> > Bitbake
> > > variables vs. shell variables. I.e. in for-loops below, it should be $device
> > > and $choice instead of ${device} and ${choice}. In this case those are
> shell
> > > variables and there is no reason to try to confuse Bitbake, although it
> > would
> > > fail to resolve them and leave as is to pick by shell...
> > [Sam] I will fix this.
> > >
> > > One more - HYPLNK_SRC_DIR is not being passed to all make targets and
> > > when
> > > it's passed, it's sometimes ${S}, but sometimes ${PWD}. Please check the
> > > code
> > > and clean it up.
> > [Sam] I will clean this up and send updated patch.
> > >
> > > BTW, what does PDK_INSTALL_PATH variable specify? Is there any other
> > > dependency besides common-csl-ip?
> > [Sam] For the library:  PDK install path is used to access common-csl-ip.
> > For the test code it is used to access common-csl-ip and the hyplnk-lld
> > library.
> > >
> > > Thanks for your submission! Please work with me and we'll get it cleared
> > > quickly. Thanks.
> > >
> > > --
> > > Denys
> > >
> > >
> > > On Wed, Oct 08, 2014 at 12:23:49PM -0400, Sam Nelson wrote:
> > > > - Provides low level driver for Hyperlink module
> > > > - Test recipe is used to build tests and examples using
> > > >   the hyperlink library.
> > > > - Supports k2h, k2k & k2e
> > > >
> > > > Signed-off-by: Sam Nelson <sam.nelson at ti.com>
> > > > ---
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb |   25
> > > +++++++++++++++++++++++++
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld.inc         |   24
> > > ++++++++++++++++++++++++
> > > >  recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb      |   18 ++++++++++++++++++
> > > >  3 files changed, 67 insertions(+)
> > > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > >  create mode 100644 recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > >  create mode 100755 recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > >
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb b/recipes-
> > > bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > > new file mode 100755
> > > > index 0000000..49d11f0
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld-test_git.bb
> > > > @@ -0,0 +1,25 @@
> > > > +include hyplnk-lld.inc
> > > > +
> > > > +DEPENDS="common-csl-ip hyplnk-lld"
> > > > +
> > > > +CHOICELIST = " yes \
> > > > +               no  \
> > > > +"
> > > > +
> > > > +do_compile () {
> > > > +	make -f makefile_armv7 clean
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > > +	for device in ${DEVICELIST}
> > > > +	do
> > > > +		for choice in ${CHOICELIST}
> > > > +		do
> > > > +			make -f makefile_armv7 tests examples
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > > HYPLNK_SRC_DIR=${S} USEDYNAMIC_LIB="${choice}"
> > > > +		done
> > > > +	done
> > > > +}
> > > > +
> > > > +do_install () {
> > > > +    for device in ${DEVICELIST}
> > > > +	do
> > > > +	    make -f makefile_armv7 installbin
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} DEVICE="${device}"
> > > HYPLNK_SRC_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
> > > > +	done
> > > > +}
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld.inc b/recipes-bsp/hyplnk-
> > > lld/hyplnk-lld.inc
> > > > new file mode 100644
> > > > index 0000000..4c8bb32
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld.inc
> > > > @@ -0,0 +1,24 @@
> > > > +DESCRIPTION = "TI Hyperlink Low Level Driver"
> > > > +LICENSE = "BSD-3-Clause"
> > > > +
> > > > +COMPATIBLE_MACHINE = "keystone"
> > > > +
> > > > +LLDNAME="hyplnk"
> > > > +
> > > > +LIC_FILES_CHKSUM =
> > >
> >
> "file://${WORKDIR}/git/ti/drv/${LLDNAME}/COPYING.txt;md5=623325cc19e
> > > 613a4e770fbb749922592"
> > > > +
> > > > +BRANCH="master"
> > > > +SRC_URI = "git://git.ti.com/keystone-rtos/hyplnk-
> > >
> lld.git;destsuffix=git/ti/drv/${LLDNAME};protocol=git;branch=${BRANCH}"
> > > > +# Following commit corresponds to tag DEV.HYPLNK_LLD.02.01.00.01
> > > > +SRCREV = "6910da379501984ecf27f8d23ba6fc6310fe387e"
> > > > +
> > > > +PV = "2.1.0"
> > > > +PR = "r0"
> > > > +
> > > > +DEVICELIST = " k2h \
> > > > +               k2k \
> > > > +               k2e \
> > > > +"
> > > > +
> > > > +BASEDIR = "${WORKDIR}/git"
> > > > +S = "${BASEDIR}/ti/drv/${LLDNAME}"
> > > > diff --git a/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb b/recipes-
> > bsp/hyplnk-
> > > lld/hyplnk-lld_git.bb
> > > > new file mode 100755
> > > > index 0000000..3b9bc8a
> > > > --- /dev/null
> > > > +++ b/recipes-bsp/hyplnk-lld/hyplnk-lld_git.bb
> > > > @@ -0,0 +1,18 @@
> > > > +include hyplnk-lld.inc
> > > > +
> > > > +DEPENDS="common-csl-ip"
> > > > +
> > > > +CHOICELIST = " yes \
> > > > +               no  \
> > > > +"
> > > > +do_compile () {
> > > > +	make -f makefile_armv7 clean
> > > PDK_INSTALL_PATH=${STAGING_INCDIR} HYPLNK_SRC_DIR=${PWD}
> > > > +	for device in ${DEVICELIST}
> > > > +	do
> > > > +		make -f makefile_armv7 lib
> > > PDK_INSTALL_PATH=${STAGING_INCDIR}  DEVICE="${device}"
> > > > +	done
> > > > +}
> > > > +
> > > > +do_install () {
> > > > +	make -f makefile_armv7 install
> > > PDK_INSTALL_PATH=${STAGING_INCDIR}
> > > INSTALL_INC_BASE_DIR=${D}/${includedir}
> > > INSTALL_LIB_BASE_DIR=${D}${libdir}
> > > > +}
> > > > --
> > > > 1.7.9.5
> > > >
> > > > --
> > > > _______________________________________________
> > > > meta-ti mailing list
> > > > meta-ti at yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/meta-ti
> --
> _______________________________________________
> meta-ti mailing list
> meta-ti at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


More information about the meta-ti mailing list