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

Josep Puigdemont josep.puigdemont at enea.com
Mon Sep 1 02:28:41 PDT 2014


On Fri, Aug 29, 2014 at 04:05:04PM +0000, Kamble, Nitin A wrote:
> 
> 
> > -----Original Message-----
> > From: meta-intel-bounces at yoctoproject.org [mailto:meta-intel-
> > bounces at yoctoproject.org] On Behalf Of Josep Puigdemont
> > Sent: Friday, August 29, 2014 1:53 AM
> > To: Zanussi, Tom; meta-intel at yoctoproject.org
> > Subject: [meta-intel] [PATCH] linux-yocto: Use _append when overrides are
> > used
> > 
> > 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.
> > 
> > Addresses bug:
> > [YOCTO #6668]
> 
> The commit looks fine, although it may it hard to remove entries from KERNEL_MODULE_AUTOLOAD. The issue can also be fixed by making similar changes in the meta-virtualization layer (http://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/tree/recipes-kernel/linux/linux-yocto_3.14.bbappend). But there is no ideal solution here, so I am ok with the commit, few typos need to be corrected from the commit message though.
> 

Thank you Nitin!
I've attached the same patch changing "where" for "were" in the comment, good
catch. If there are any other changes you need to make, I am fine with it.

Just to clarify, the issue with the current semantics is that they tell bitbake
to ignore anything in KERNEL_MODULE_AUTOLOAD in favor of
KERNEL_MODULE_AUTOLOAD_intel-target, which is likely not what most users
might expect. Also since the yocto documentation tells us to modify
KERNEL_MODULE_AUTOLOAD, the proposed solution is probably how all layers should
behave (adding a variant of the variable per each machine in every layer won't
scale).

Thanks again!

/Josep

> Thanks,
> Nitin
> 
> 
> > 
> > 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 bfb5f62..554bd62 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.b
> > +++ bappend
> > @@ -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},valleyisla
> > nd-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.3
> > 
> > --
> > _______________________________________________
> > meta-intel mailing list
> > meta-intel at yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-intel
-------------- next part --------------
>From c45150eed4f838d91d07dc0f1df0e73d2450090a Mon Sep 17 00:00:00 2001
From: Josep Puigdemont <josep.puigdemont at enea.com>
Date: Thu, 17 Jul 2014 18:36:31 +0200
Subject: [PATCH] linux-yocto: Use _append when overrides are used

Some modules in the KERNEL_MODULE_AUTOLOAD list were 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 bfb5f62..554bd62 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.3



More information about the meta-intel mailing list