[meta-intel] [PATCH] linux-yocto: Use _append when overrides are used

Josep Puigdemont josep.puigdemont at enea.com
Mon Aug 11 00:50:16 PDT 2014


On Tue, Jul 29, 2014 at 09:24:05PM -0500, Tom Zanussi wrote:
> Hi,
> 
> Can you explain how to reproduce the problem and how this fixes it - I'm
> not seeing any difference in my builds.

Hi Tom,

The problem is that with the current implementation, where we have overrides
like:
KERNEL_MODULE_AUTOLOAD_arch += "uio"

the variable KERNEL_MODULE_AUTOLOAD will be overriden by whatever is in the
KERNEL_MODULE_AUTOLOAD_arch (because of the way overrides work). Thus if we
have a bbappend for the kernel recipe that adds a module to be
autoloaded like this:
KERNEL_MODULE_AUTOLOAD += "A"
the module A will be silently ignored (and will not be autoloaded).

Maybe this behavior is intended, but it will break some layers (like
meta-virtualization). The patch tries to correct this.

Thank you!

/Josep

P.S.: Sorry for the delay in answering, I was on vacations.

> 
> Thanks,
> 
> Tom
> 
> On Mon, 2014-07-28 at 12:24 +0200, Josep Puigdemont wrote:
> > gentle ping about this patch.
> > 
> > On Thu, Jul 17, 2014 at 06:36:31PM +0200, Josep Puigdemont wrote:
> > > Some modules in the KERNEL_MODULE_AUTOLOAD list where removed when including
> > > the meta-intel layer. It turns out the problem happens due to using the +=
> > > operator together with machine overrides. Using _append_machine fixes this.
> > > 
> > > Signed-off-by: Josep Puigdemont <josep.puigdemont at enea.com>
> > > ---
> > >  common/recipes-kernel/linux/linux-yocto-dev.bbappend              | 8 ++++----
> > >  common/recipes-kernel/linux/linux-yocto_3.10.bbappend             | 8 ++++----
> > >  common/recipes-kernel/linux/linux-yocto_3.14.bbappend             | 8 ++++----
> > >  meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend       | 4 ++--
> > >  meta-fri2/recipes-kernel/linux/linux-yocto_3.10.bbappend          | 4 ++--
> > >  .../recipes-kernel/linux/linux-yocto_3.10.bbappend                | 4 ++--
> > >  6 files changed, 18 insertions(+), 18 deletions(-)
> > > 
> > > diff --git a/common/recipes-kernel/linux/linux-yocto-dev.bbappend b/common/recipes-kernel/linux/linux-yocto-dev.bbappend
> > > index ddc1c4a..871a866 100644
> > > --- a/common/recipes-kernel/linux/linux-yocto-dev.bbappend
> > > +++ b/common/recipes-kernel/linux/linux-yocto-dev.bbappend
> > > @@ -19,9 +19,9 @@ KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}
> > >  # default SRCREV is set and linux-yocto-dev is the preferred provider.
> > >  
> > >  # For Crystalforest and Romley
> > > -KERNEL_MODULE_AUTOLOAD_core2-32-intel-common += "uio"
> > > -KERNEL_MODULE_AUTOLOAD_corei7-64-intel-common += "uio"
> > > +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
> > > +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
> > >  
> > >  # For FRI2, NUC
> > > -KERNEL_MODULE_AUTOLOAD_core2-32-intel-common += "iwlwifi"
> > > -KERNEL_MODULE_AUTOLOAD_corei7-64-intel-common += "iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
> > > diff --git a/common/recipes-kernel/linux/linux-yocto_3.10.bbappend b/common/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > index a142e5b..19af367 100644
> > > --- a/common/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > +++ b/common/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > @@ -21,9 +21,9 @@ KBRANCH_corei7-64-intel-common = "standard/base"
> > >  KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
> > >  
> > >  # For Crystalforest and Romley
> > > -KERNEL_MODULE_AUTOLOAD_core2-32-intel-common += "uio"
> > > -KERNEL_MODULE_AUTOLOAD_corei7-64-intel-common += "uio"
> > > +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
> > > +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
> > >  
> > >  # For FRI2, NUC
> > > -KERNEL_MODULE_AUTOLOAD_core2-32-intel-common += "iwlwifi"
> > > -KERNEL_MODULE_AUTOLOAD_corei7-64-intel-common += "iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
> > > diff --git a/common/recipes-kernel/linux/linux-yocto_3.14.bbappend b/common/recipes-kernel/linux/linux-yocto_3.14.bbappend
> > > index a0ca5fc..b367adb 100644
> > > --- a/common/recipes-kernel/linux/linux-yocto_3.14.bbappend
> > > +++ b/common/recipes-kernel/linux/linux-yocto_3.14.bbappend
> > > @@ -20,9 +20,9 @@ KBRANCH_corei7-64-intel-common = "standard/base"
> > >  KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
> > >  
> > >  # For Crystalforest and Romley
> > > -KERNEL_MODULE_AUTOLOAD_core2-32-intel-common += "uio"
> > > -KERNEL_MODULE_AUTOLOAD_corei7-64-intel-common += "uio"
> > > +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
> > > +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
> > >  
> > >  # For FRI2, NUC
> > > -KERNEL_MODULE_AUTOLOAD_core2-32-intel-common += "iwlwifi"
> > > -KERNEL_MODULE_AUTOLOAD_corei7-64-intel-common += "iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
> > > diff --git a/meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend b/meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
> > > index e57449f..25361e8 100644
> > > --- a/meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
> > > +++ b/meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
> > > @@ -12,5 +12,5 @@ KBRANCH_fri2-noemgd = "standard/preempt-rt/fri2"
> > >  SRCREV_machine_pn-linux-yocto-rt_fri2-noemgd ?= "b669af08737562ef86e7cba328966d05222d3e64"
> > >  #SRCREV_meta_pn-linux-yocto-rt_fri2-noemgd ?= "XXX"
> > >  
> > > -KERNEL_MODULE_AUTOLOAD_fri2 += "iwlwifi"
> > > -KERNEL_MODULE_AUTOLOAD_fri2-noemgd += "iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_fri2 = " iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_fri2-noemgd = " iwlwifi"
> > > diff --git a/meta-fri2/recipes-kernel/linux/linux-yocto_3.10.bbappend b/meta-fri2/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > index a4732f2..bfbb754 100644
> > > --- a/meta-fri2/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > +++ b/meta-fri2/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > @@ -18,5 +18,5 @@ LINUX_VERSION_fri2-noemgd = "3.10.38"
> > >  SRCREV_meta_fri2-noemgd = "e1f26aeccfd43bc3d7e95873ceda469b631b8473"
> > >  SRCREV_machine_fri2-noemgd = "02f7e63e56c061617957388c23bd5cf9b05c5388"
> > >  
> > > -KERNEL_MODULE_AUTOLOAD_fri2 += "iwlwifi"
> > > -KERNEL_MODULE_AUTOLOAD_fri2-noemgd += "iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_fri2 = " iwlwifi"
> > > +KERNEL_MODULE_AUTOLOAD_append_fri2-noemgd = " iwlwifi"
> > > diff --git a/meta-isg/meta-valleyisland/recipes-kernel/linux/linux-yocto_3.10.bbappend b/meta-isg/meta-valleyisland/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > index c691a42..7e7f05f 100644
> > > --- a/meta-isg/meta-valleyisland/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > +++ b/meta-isg/meta-valleyisland/recipes-kernel/linux/linux-yocto_3.10.bbappend
> > > @@ -32,5 +32,5 @@ SRCREV_valleyisland-io_valleyisland-64 = "8ea4fb625f2654bbdd5dfcb9db67328d21ebe5
> > >  
> > >  SRC_URI_valleyisland-64 = "git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},valleyisland-io-1.0;name=machine,meta,valleyisland-io"
> > >  
> > > -KERNEL_MODULE_AUTOLOAD_valleyisland-32 += "i2c-dev"
> > > -KERNEL_MODULE_AUTOLOAD_valleyisland-64 += "i2c-dev"
> > > +KERNEL_MODULE_AUTOLOAD_append_valleyisland-32 = " i2c-dev"
> > > +KERNEL_MODULE_AUTOLOAD_append_valleyisland-64 = " i2c-dev"
> > > -- 
> > > 1.9.1
> > > 
> 
> 


More information about the meta-intel mailing list