All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] linux-ti-staging: Remove old 3.8 version
@ 2014-05-22 16:16 Chase Maupin
  2014-05-22 16:16 ` [PATCH 2/4] linux-ti-staging: Make files directory version specific Chase Maupin
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Chase Maupin @ 2014-05-22 16:16 UTC (permalink / raw)
  To: meta-ti

* The 3.8 version is replaced with v3.12 which has full support
  for all devices.
* As part of adding a v3.15 version cleanup the v3.8 version to
  reduce the number of kernels to latest and last stable.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 recipes-kernel/linux/linux-ti-staging_3.8.bb |   39 --------------------------
 1 file changed, 39 deletions(-)
 delete mode 100644 recipes-kernel/linux/linux-ti-staging_3.8.bb

diff --git a/recipes-kernel/linux/linux-ti-staging_3.8.bb b/recipes-kernel/linux/linux-ti-staging_3.8.bb
deleted file mode 100644
index 80b94f6..0000000
--- a/recipes-kernel/linux/linux-ti-staging_3.8.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for TI devices"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-KERNEL_IMAGETYPE = "uImage"
-
-inherit kernel
-
-require recipes-kernel/linux/linux-dtb.inc
-require recipes-kernel/linux/setup-defconfig.inc
-
-# Add a run-time dependency for the PM firmware to be installed
-# on the target file system.
-RDEPENDS_kernel-base_append_ti33x = " am33x-cm3 am33x-cm3-initscript"
-
-# Default is to package all dtb files for ti33x devices unless building
-# for the specific beaglebone machine.
-KERNEL_DEVICETREE_ti33x = "am335x-evm.dtb am335x-evmsk.dtb am335x-bone.dtb"
-KERNEL_DEVICETREE_beaglebone = "am335x-bone.dtb"
-KERNEL_DEVICETREE_omap5-evm = "omap5-sevm.dtb omap5-uevm.dtb"
-KERNEL_DEVICETREE_dra7xx-evm = "dra7-evm.dtb"
-
-COMPATIBLE_MACHINE = "ti33x|omap-a15"
-
-S = "${WORKDIR}/git"
-
-BRANCH = "ti-linux-3.8.y"
-
-# This commit corresponds to ti2013.04.02 release tag
-SRCREV = "f3cb62a800ae37f17a3382b10d155ee02dbc83fc"
-PV = "3.8.13"
-
-# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild
-MACHINE_KERNEL_PR_append = "g+gitr${SRCPV}"
-PR = "${MACHINE_KERNEL_PR}"
-
-SRC_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;protocol=git;branch=${BRANCH} \
-           file://defconfig \
-          "
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/4] linux-ti-staging: Make files directory version specific
  2014-05-22 16:16 [PATCH 1/4] linux-ti-staging: Remove old 3.8 version Chase Maupin
@ 2014-05-22 16:16 ` Chase Maupin
  2014-05-22 16:16 ` [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments Chase Maupin
  2014-05-22 16:16 ` [PATCH 4/4] linux-ti-staging: Add version 3.15 of TI integration kernel Chase Maupin
  2 siblings, 0 replies; 9+ messages in thread
From: Chase Maupin @ 2014-05-22 16:16 UTC (permalink / raw)
  To: meta-ti

* As we add the next version of the linux-ti-staging kernel there
  will be a different list of config fragments, removed patches,
  etc.  For this reason it makes sense to have the file directory
  be version specific

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 ...ge-ARM-config-omap-Disable-SMP-for-AM335x.patch |    0
 .../baseport.cfg                                   |    0
 .../connectivity.cfg                               |    0
 .../defconfig                                      |    0
 .../ipc.cfg                                        |    0
 .../systest.cfg                                    |    0
 recipes-kernel/linux/linux-ti-staging_3.12.bb      |    3 +++
 7 files changed, 3 insertions(+)
 rename recipes-kernel/linux/{linux-ti-staging => linux-ti-staging-3.12}/0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch (100%)
 rename recipes-kernel/linux/{linux-ti-staging => linux-ti-staging-3.12}/baseport.cfg (100%)
 rename recipes-kernel/linux/{linux-ti-staging => linux-ti-staging-3.12}/connectivity.cfg (100%)
 rename recipes-kernel/linux/{linux-ti-staging => linux-ti-staging-3.12}/defconfig (100%)
 rename recipes-kernel/linux/{linux-ti-staging => linux-ti-staging-3.12}/ipc.cfg (100%)
 rename recipes-kernel/linux/{linux-ti-staging => linux-ti-staging-3.12}/systest.cfg (100%)

diff --git a/recipes-kernel/linux/linux-ti-staging/0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch b/recipes-kernel/linux/linux-ti-staging-3.12/0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch
similarity index 100%
rename from recipes-kernel/linux/linux-ti-staging/0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch
rename to recipes-kernel/linux/linux-ti-staging-3.12/0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch
diff --git a/recipes-kernel/linux/linux-ti-staging/baseport.cfg b/recipes-kernel/linux/linux-ti-staging-3.12/baseport.cfg
similarity index 100%
rename from recipes-kernel/linux/linux-ti-staging/baseport.cfg
rename to recipes-kernel/linux/linux-ti-staging-3.12/baseport.cfg
diff --git a/recipes-kernel/linux/linux-ti-staging/connectivity.cfg b/recipes-kernel/linux/linux-ti-staging-3.12/connectivity.cfg
similarity index 100%
rename from recipes-kernel/linux/linux-ti-staging/connectivity.cfg
rename to recipes-kernel/linux/linux-ti-staging-3.12/connectivity.cfg
diff --git a/recipes-kernel/linux/linux-ti-staging/defconfig b/recipes-kernel/linux/linux-ti-staging-3.12/defconfig
similarity index 100%
rename from recipes-kernel/linux/linux-ti-staging/defconfig
rename to recipes-kernel/linux/linux-ti-staging-3.12/defconfig
diff --git a/recipes-kernel/linux/linux-ti-staging/ipc.cfg b/recipes-kernel/linux/linux-ti-staging-3.12/ipc.cfg
similarity index 100%
rename from recipes-kernel/linux/linux-ti-staging/ipc.cfg
rename to recipes-kernel/linux/linux-ti-staging-3.12/ipc.cfg
diff --git a/recipes-kernel/linux/linux-ti-staging/systest.cfg b/recipes-kernel/linux/linux-ti-staging-3.12/systest.cfg
similarity index 100%
rename from recipes-kernel/linux/linux-ti-staging/systest.cfg
rename to recipes-kernel/linux/linux-ti-staging-3.12/systest.cfg
diff --git a/recipes-kernel/linux/linux-ti-staging_3.12.bb b/recipes-kernel/linux/linux-ti-staging_3.12.bb
index 154d2fc..d555b04 100644
--- a/recipes-kernel/linux/linux-ti-staging_3.12.bb
+++ b/recipes-kernel/linux/linux-ti-staging_3.12.bb
@@ -8,6 +8,9 @@ inherit kernel
 require recipes-kernel/linux/linux-dtb.inc
 require recipes-kernel/linux/setup-defconfig.inc
 
+# Look in the generic major.minor directory for files
+FILESEXTRAPATHS_append := "${THISDIR}/${PN}-3.12:"
+
 # Pull in the devicetree files into the rootfs
 RDEPENDS_kernel-base += "kernel-devicetree"
 
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments
  2014-05-22 16:16 [PATCH 1/4] linux-ti-staging: Remove old 3.8 version Chase Maupin
  2014-05-22 16:16 ` [PATCH 2/4] linux-ti-staging: Make files directory version specific Chase Maupin
@ 2014-05-22 16:16 ` Chase Maupin
  2014-05-22 16:19   ` Denys Dmytriyenko
  2014-05-22 16:16 ` [PATCH 4/4] linux-ti-staging: Add version 3.15 of TI integration kernel Chase Maupin
  2 siblings, 1 reply; 9+ messages in thread
From: Chase Maupin @ 2014-05-22 16:16 UTC (permalink / raw)
  To: meta-ti

* Allow the use of in-kernel config fragments instead of only
  pulling config fragments from the OE meta data.  The OE meta
  data fragments will still take precedence over in tree .cfg
  files.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 recipes-kernel/linux/setup-defconfig.inc |   36 ++++++++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/recipes-kernel/linux/setup-defconfig.inc b/recipes-kernel/linux/setup-defconfig.inc
index 4277f26..fbe7e96 100644
--- a/recipes-kernel/linux/setup-defconfig.inc
+++ b/recipes-kernel/linux/setup-defconfig.inc
@@ -2,6 +2,10 @@
 # kernel version string.  such as the commit id
 KERNEL_LOCALVERSION ?= ""
 
+# KERNEL_CONFIG_DIR can be set to specify a subdirectory to search for
+# kernel configuration fragments
+KERNEL_CONFIG_DIR ?= ""
+
 # Check the defconfig file and see if it points to an in kernel
 # defconfig that should be used, or if it is a complete config file
 
@@ -27,10 +31,38 @@ do_configure() {
         yes '' | oe_runmake oldconfig
     fi
 
-    # check for fragments
+    # Check for kernel config fragments.  First check the files copied from
+    # the OE meta data since we may want to override kernel config fragments
+    # in the recipe.  If you don't find the fragment in the OE meta data
+    # then check the kernel sources.  If you still can't find it then bail
+    # with an error.
+    # Check if any config fragments are specified.
     if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
     then
-        ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
+        # Variable to hold the assembled list of fragments with absolute paths
+        configs=""
+
+        for f in ${KERNEL_CONFIG_FRAGMENTS}
+        do
+            # Check if the config fragment was copied into the WORKDIR from
+            # the OE meta data
+            if [ -e "${WORKDIR}/$f" ]
+            then
+                echo "Found config in workdir"
+                configs="$configs ""${WORKDIR}/$f"
+            # Check if the fragement is in the kernel sources
+            elif [ -e "${S}/${KERNEL_CONFIG_DIR}/$f" ]
+            then
+                echo "Found config in kernel"
+                configs="$configs ""${S}/${KERNEL_CONFIG_DIR}/$f"
+            else
+                echo "Could not find kernel config fragment $f"
+                exit 1
+            fi
+        done
+
+        # Now that all the fragments are located merge them.
+        ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config ${configs} 1>&2 )
         yes '' | oe_runmake oldconfig
     fi
 }
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/4] linux-ti-staging: Add version 3.15 of TI integration kernel
  2014-05-22 16:16 [PATCH 1/4] linux-ti-staging: Remove old 3.8 version Chase Maupin
  2014-05-22 16:16 ` [PATCH 2/4] linux-ti-staging: Make files directory version specific Chase Maupin
  2014-05-22 16:16 ` [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments Chase Maupin
@ 2014-05-22 16:16 ` Chase Maupin
  2 siblings, 0 replies; 9+ messages in thread
From: Chase Maupin @ 2014-05-22 16:16 UTC (permalink / raw)
  To: meta-ti

* Add version 3.15 of the TI integration kernel.  Major changes
  from previous version are:
    * Config fragments now come primarily from the integration
      tree.  Removed baseport and connectivity fragments for now
      and the others can be removed as they are added to the
      integration tree.
    * Added a non-smp.cfg config to disable SMP for single core
      devices instead of using a patch to the defconfig file as
      we did in the past.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 .../defconfig                                      |    0
 .../ipc.cfg                                        |    0
 .../linux/linux-ti-staging-3.15/non-smp.cfg        |    5 +++++
 .../systest.cfg                                    |    0
 ...ti-staging_3.12.bb => linux-ti-staging_3.15.bb} |   20 +++++++++-----------
 5 files changed, 14 insertions(+), 11 deletions(-)
 copy recipes-kernel/linux/{linux-mainline => linux-ti-staging-3.15}/defconfig (100%)
 copy recipes-kernel/linux/{linux-ti-staging-3.12 => linux-ti-staging-3.15}/ipc.cfg (100%)
 create mode 100644 recipes-kernel/linux/linux-ti-staging-3.15/non-smp.cfg
 copy recipes-kernel/linux/{linux-ti-staging-3.12 => linux-ti-staging-3.15}/systest.cfg (100%)
 copy recipes-kernel/linux/{linux-ti-staging_3.12.bb => linux-ti-staging_3.15.bb} (75%)

diff --git a/recipes-kernel/linux/linux-mainline/defconfig b/recipes-kernel/linux/linux-ti-staging-3.15/defconfig
similarity index 100%
copy from recipes-kernel/linux/linux-mainline/defconfig
copy to recipes-kernel/linux/linux-ti-staging-3.15/defconfig
diff --git a/recipes-kernel/linux/linux-ti-staging-3.12/ipc.cfg b/recipes-kernel/linux/linux-ti-staging-3.15/ipc.cfg
similarity index 100%
copy from recipes-kernel/linux/linux-ti-staging-3.12/ipc.cfg
copy to recipes-kernel/linux/linux-ti-staging-3.15/ipc.cfg
diff --git a/recipes-kernel/linux/linux-ti-staging-3.15/non-smp.cfg b/recipes-kernel/linux/linux-ti-staging-3.15/non-smp.cfg
new file mode 100644
index 0000000..d61a413
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti-staging-3.15/non-smp.cfg
@@ -0,0 +1,5 @@
+##################################################
+# Non-SMP config options
+##################################################
+CONFIG_SMP=n
+CONFIG_NR_CPUS=n
diff --git a/recipes-kernel/linux/linux-ti-staging-3.12/systest.cfg b/recipes-kernel/linux/linux-ti-staging-3.15/systest.cfg
similarity index 100%
copy from recipes-kernel/linux/linux-ti-staging-3.12/systest.cfg
copy to recipes-kernel/linux/linux-ti-staging-3.15/systest.cfg
diff --git a/recipes-kernel/linux/linux-ti-staging_3.12.bb b/recipes-kernel/linux/linux-ti-staging_3.15.bb
similarity index 75%
copy from recipes-kernel/linux/linux-ti-staging_3.12.bb
copy to recipes-kernel/linux/linux-ti-staging_3.15.bb
index d555b04..aa2828c 100644
--- a/recipes-kernel/linux/linux-ti-staging_3.12.bb
+++ b/recipes-kernel/linux/linux-ti-staging_3.15.bb
@@ -9,7 +9,7 @@ require recipes-kernel/linux/linux-dtb.inc
 require recipes-kernel/linux/setup-defconfig.inc
 
 # Look in the generic major.minor directory for files
-FILESEXTRAPATHS_append := "${THISDIR}/${PN}-3.12:"
+FILESEXTRAPATHS_append := "${THISDIR}/${PN}-3.15:"
 
 # Pull in the devicetree files into the rootfs
 RDEPENDS_kernel-base += "kernel-devicetree"
@@ -37,25 +37,23 @@ COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15"
 
 S = "${WORKDIR}/git"
 
-BRANCH = "ti-linux-3.12.y"
+BRANCH = "ti-linux-3.15.y"
 
 SRCREV = "f0d4672333685697320f4907d5b4d3919121c299"
-PV = "3.12.17"
+PV = "3.14+3.15-rc6"
 
 # Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild
-MACHINE_KERNEL_PR_append = "b+gitr${SRCPV}"
+MACHINE_KERNEL_PR_append = "c+gitr${SRCPV}"
 PR = "${MACHINE_KERNEL_PR}"
 
-KERNEL_CONFIG_FRAGMENTS = "baseport.cfg connectivity.cfg ipc.cfg"
+KERNEL_CONFIG_DIR = "arch/arm/configs/ti_config_fragments"
+KERNEL_CONFIG_FRAGMENTS = "ipc.cfg"
+KERNEL_CONFIG_FRAGMENTS_append_ti33x = "non-smp.cfg"
+KERNEL_CONFIG_FRAGMENTS_append_ti43x = "non-smp.cfg"
 
 SRC_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;protocol=git;branch=${BRANCH} \
            file://defconfig \
-           file://baseport.cfg \
-           file://connectivity.cfg \
            file://ipc.cfg \
            file://systest.cfg \
+           file://non-smp.cfg \
           "
-
-# Disable SMP in defconfig on single-core platforms to reduce overhead
-SRC_URI_append_ti33x = "file://0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch"
-SRC_URI_append_ti43x = "file://0001-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments
  2014-05-22 16:16 ` [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments Chase Maupin
@ 2014-05-22 16:19   ` Denys Dmytriyenko
  2014-05-22 16:50     ` Denys Dmytriyenko
  0 siblings, 1 reply; 9+ messages in thread
From: Denys Dmytriyenko @ 2014-05-22 16:19 UTC (permalink / raw)
  To: Chase Maupin; +Cc: meta-ti

On Thu, May 22, 2014 at 11:16:15AM -0500, Chase Maupin wrote:
> * Allow the use of in-kernel config fragments instead of only
>   pulling config fragments from the OE meta data.  The OE meta
>   data fragments will still take precedence over in tree .cfg
>   files.

I was thinking to do it differently...


> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> ---
>  recipes-kernel/linux/setup-defconfig.inc |   36 ++++++++++++++++++++++++++++--
>  1 file changed, 34 insertions(+), 2 deletions(-)
> 
> diff --git a/recipes-kernel/linux/setup-defconfig.inc b/recipes-kernel/linux/setup-defconfig.inc
> index 4277f26..fbe7e96 100644
> --- a/recipes-kernel/linux/setup-defconfig.inc
> +++ b/recipes-kernel/linux/setup-defconfig.inc
> @@ -2,6 +2,10 @@
>  # kernel version string.  such as the commit id
>  KERNEL_LOCALVERSION ?= ""
>  
> +# KERNEL_CONFIG_DIR can be set to specify a subdirectory to search for
> +# kernel configuration fragments
> +KERNEL_CONFIG_DIR ?= ""
> +
>  # Check the defconfig file and see if it points to an in kernel
>  # defconfig that should be used, or if it is a complete config file
>  
> @@ -27,10 +31,38 @@ do_configure() {
>          yes '' | oe_runmake oldconfig
>      fi
>  
> -    # check for fragments
> +    # Check for kernel config fragments.  First check the files copied from
> +    # the OE meta data since we may want to override kernel config fragments
> +    # in the recipe.  If you don't find the fragment in the OE meta data
> +    # then check the kernel sources.  If you still can't find it then bail
> +    # with an error.
> +    # Check if any config fragments are specified.
>      if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
>      then
> -        ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
> +        # Variable to hold the assembled list of fragments with absolute paths
> +        configs=""
> +
> +        for f in ${KERNEL_CONFIG_FRAGMENTS}
> +        do
> +            # Check if the config fragment was copied into the WORKDIR from
> +            # the OE meta data
> +            if [ -e "${WORKDIR}/$f" ]
> +            then
> +                echo "Found config in workdir"
> +                configs="$configs ""${WORKDIR}/$f"
> +            # Check if the fragement is in the kernel sources
> +            elif [ -e "${S}/${KERNEL_CONFIG_DIR}/$f" ]
> +            then
> +                echo "Found config in kernel"
> +                configs="$configs ""${S}/${KERNEL_CONFIG_DIR}/$f"
> +            else
> +                echo "Could not find kernel config fragment $f"
> +                exit 1
> +            fi
> +        done
> +
> +        # Now that all the fragments are located merge them.
> +        ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config ${configs} 1>&2 )
>          yes '' | oe_runmake oldconfig
>      fi
>  }
> -- 
> 1.7.9.5
> 
> -- 
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments
  2014-05-22 16:19   ` Denys Dmytriyenko
@ 2014-05-22 16:50     ` Denys Dmytriyenko
  2014-05-22 17:16       ` Maupin, Chase
  0 siblings, 1 reply; 9+ messages in thread
From: Denys Dmytriyenko @ 2014-05-22 16:50 UTC (permalink / raw)
  To: Chase Maupin; +Cc: meta-ti

On Thu, May 22, 2014 at 12:19:01PM -0400, Denys Dmytriyenko wrote:
> On Thu, May 22, 2014 at 11:16:15AM -0500, Chase Maupin wrote:
> > * Allow the use of in-kernel config fragments instead of only
> >   pulling config fragments from the OE meta data.  The OE meta
> >   data fragments will still take precedence over in tree .cfg
> >   files.
> 
> I was thinking to do it differently...

Basically, I was thinking of embedding the path in the KERNEL_CONFIG_FRAGMENTS 
variable, similar to how KERNEL_DEVICETREE used to do it:

KERNEL_CONFIG_FRAGMENTS = "${WORKDIR}/ipc.cfg ${KERNEL_CONFIG_DIR}/non-smp.cfg"

This way you could have fragments of the same name and choose which one to 
use. But the logic in setup-defconfig.inc would be much simpler...


> > Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> > ---
> >  recipes-kernel/linux/setup-defconfig.inc |   36 ++++++++++++++++++++++++++++--
> >  1 file changed, 34 insertions(+), 2 deletions(-)
> > 
> > diff --git a/recipes-kernel/linux/setup-defconfig.inc b/recipes-kernel/linux/setup-defconfig.inc
> > index 4277f26..fbe7e96 100644
> > --- a/recipes-kernel/linux/setup-defconfig.inc
> > +++ b/recipes-kernel/linux/setup-defconfig.inc
> > @@ -2,6 +2,10 @@
> >  # kernel version string.  such as the commit id
> >  KERNEL_LOCALVERSION ?= ""
> >  
> > +# KERNEL_CONFIG_DIR can be set to specify a subdirectory to search for
> > +# kernel configuration fragments
> > +KERNEL_CONFIG_DIR ?= ""
> > +
> >  # Check the defconfig file and see if it points to an in kernel
> >  # defconfig that should be used, or if it is a complete config file
> >  
> > @@ -27,10 +31,38 @@ do_configure() {
> >          yes '' | oe_runmake oldconfig
> >      fi
> >  
> > -    # check for fragments
> > +    # Check for kernel config fragments.  First check the files copied from
> > +    # the OE meta data since we may want to override kernel config fragments
> > +    # in the recipe.  If you don't find the fragment in the OE meta data
> > +    # then check the kernel sources.  If you still can't find it then bail
> > +    # with an error.
> > +    # Check if any config fragments are specified.
> >      if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
> >      then
> > -        ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
> > +        # Variable to hold the assembled list of fragments with absolute paths
> > +        configs=""
> > +
> > +        for f in ${KERNEL_CONFIG_FRAGMENTS}
> > +        do
> > +            # Check if the config fragment was copied into the WORKDIR from
> > +            # the OE meta data
> > +            if [ -e "${WORKDIR}/$f" ]
> > +            then
> > +                echo "Found config in workdir"
> > +                configs="$configs ""${WORKDIR}/$f"
> > +            # Check if the fragement is in the kernel sources
> > +            elif [ -e "${S}/${KERNEL_CONFIG_DIR}/$f" ]
> > +            then
> > +                echo "Found config in kernel"
> > +                configs="$configs ""${S}/${KERNEL_CONFIG_DIR}/$f"
> > +            else
> > +                echo "Could not find kernel config fragment $f"
> > +                exit 1
> > +            fi
> > +        done
> > +
> > +        # Now that all the fragments are located merge them.
> > +        ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config ${configs} 1>&2 )
> >          yes '' | oe_runmake oldconfig
> >      fi
> >  }
> > -- 
> > 1.7.9.5
> > 
> > -- 
> > _______________________________________________
> > meta-ti mailing list
> > meta-ti@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-ti
> -- 
> _______________________________________________
> meta-ti mailing list
> meta-ti@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments
  2014-05-22 16:50     ` Denys Dmytriyenko
@ 2014-05-22 17:16       ` Maupin, Chase
  2014-05-22 17:36         ` Denys Dmytriyenko
  0 siblings, 1 reply; 9+ messages in thread
From: Maupin, Chase @ 2014-05-22 17:16 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-ti

>-----Original Message-----
>From: Dmytriyenko, Denys
>Sent: Thursday, May 22, 2014 11:51 AM
>To: Maupin, Chase
>Cc: meta-ti@yoctoproject.org
>Subject: Re: [meta-ti] [PATCH 3/4] setup-defconfig: allow use of
>in-kernel config fragments
>
>On Thu, May 22, 2014 at 12:19:01PM -0400, Denys Dmytriyenko wrote:
>> On Thu, May 22, 2014 at 11:16:15AM -0500, Chase Maupin wrote:
>> > * Allow the use of in-kernel config fragments instead of only
>> >   pulling config fragments from the OE meta data.  The OE meta
>> >   data fragments will still take precedence over in tree .cfg
>> >   files.
>>
>> I was thinking to do it differently...
>
>Basically, I was thinking of embedding the path in the
>KERNEL_CONFIG_FRAGMENTS
>variable, similar to how KERNEL_DEVICETREE used to do it:
>
>KERNEL_CONFIG_FRAGMENTS = "${WORKDIR}/ipc.cfg
>${KERNEL_CONFIG_DIR}/non-smp.cfg"
>
>This way you could have fragments of the same name and choose
>which one to
>use. But the logic in setup-defconfig.inc would be much simpler...

I also considered this.  I had rejected it because I didn't want to see a bunch of duplicate entries for ${WORKDIR} and ${KERNEL_CONFIG_DIR}.  You are right though that it makes the setup-defconfig simpler.

Maybe a use case to consider is whether we think we would have fragments in more than 2 locations.  i.e. one in WORKDIR, another in directory x of the kernel, and another in directory y of the kernel.  If we think this would be reasonable to support then your method makes more sense.  What do you think?

>
>
>> > Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
>> > ---
>> >  recipes-kernel/linux/setup-defconfig.inc |   36
>++++++++++++++++++++++++++++--
>> >  1 file changed, 34 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/recipes-kernel/linux/setup-defconfig.inc
>b/recipes-kernel/linux/setup-defconfig.inc
>> > index 4277f26..fbe7e96 100644
>> > --- a/recipes-kernel/linux/setup-defconfig.inc
>> > +++ b/recipes-kernel/linux/setup-defconfig.inc
>> > @@ -2,6 +2,10 @@
>> >  # kernel version string.  such as the commit id
>> >  KERNEL_LOCALVERSION ?= ""
>> >
>> > +# KERNEL_CONFIG_DIR can be set to specify a subdirectory to
>search for
>> > +# kernel configuration fragments
>> > +KERNEL_CONFIG_DIR ?= ""
>> > +
>> >  # Check the defconfig file and see if it points to an in
>kernel
>> >  # defconfig that should be used, or if it is a complete
>config file
>> >
>> > @@ -27,10 +31,38 @@ do_configure() {
>> >          yes '' | oe_runmake oldconfig
>> >      fi
>> >
>> > -    # check for fragments
>> > +    # Check for kernel config fragments.  First check the
>files copied from
>> > +    # the OE meta data since we may want to override kernel
>config fragments
>> > +    # in the recipe.  If you don't find the fragment in the
>OE meta data
>> > +    # then check the kernel sources.  If you still can't find
>it then bail
>> > +    # with an error.
>> > +    # Check if any config fragments are specified.
>> >      if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
>> >      then
>> > -        ( cd ${WORKDIR} &&
>${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config
>${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
>> > +        # Variable to hold the assembled list of fragments
>with absolute paths
>> > +        configs=""
>> > +
>> > +        for f in ${KERNEL_CONFIG_FRAGMENTS}
>> > +        do
>> > +            # Check if the config fragment was copied into
>the WORKDIR from
>> > +            # the OE meta data
>> > +            if [ -e "${WORKDIR}/$f" ]
>> > +            then
>> > +                echo "Found config in workdir"
>> > +                configs="$configs ""${WORKDIR}/$f"
>> > +            # Check if the fragement is in the kernel sources
>> > +            elif [ -e "${S}/${KERNEL_CONFIG_DIR}/$f" ]
>> > +            then
>> > +                echo "Found config in kernel"
>> > +                configs="$configs
>""${S}/${KERNEL_CONFIG_DIR}/$f"
>> > +            else
>> > +                echo "Could not find kernel config fragment
>$f"
>> > +                exit 1
>> > +            fi
>> > +        done
>> > +
>> > +        # Now that all the fragments are located merge them.
>> > +        ( cd ${WORKDIR} &&
>${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config
>${configs} 1>&2 )
>> >          yes '' | oe_runmake oldconfig
>> >      fi
>> >  }
>> > --
>> > 1.7.9.5
>> >
>> > --
>> > _______________________________________________
>> > meta-ti mailing list
>> > meta-ti@yoctoproject.org
>> > https://lists.yoctoproject.org/listinfo/meta-ti
>> --
>> _______________________________________________
>> meta-ti mailing list
>> meta-ti@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments
  2014-05-22 17:16       ` Maupin, Chase
@ 2014-05-22 17:36         ` Denys Dmytriyenko
  2014-05-22 19:38           ` Maupin, Chase
  0 siblings, 1 reply; 9+ messages in thread
From: Denys Dmytriyenko @ 2014-05-22 17:36 UTC (permalink / raw)
  To: Maupin, Chase; +Cc: meta-ti

On Thu, May 22, 2014 at 01:16:21PM -0400, Maupin, Chase wrote:
> >-----Original Message-----
> >From: Dmytriyenko, Denys
> >Sent: Thursday, May 22, 2014 11:51 AM
> >To: Maupin, Chase
> >Cc: meta-ti@yoctoproject.org
> >Subject: Re: [meta-ti] [PATCH 3/4] setup-defconfig: allow use of
> >in-kernel config fragments
> >
> >On Thu, May 22, 2014 at 12:19:01PM -0400, Denys Dmytriyenko wrote:
> >> On Thu, May 22, 2014 at 11:16:15AM -0500, Chase Maupin wrote:
> >> > * Allow the use of in-kernel config fragments instead of only
> >> >   pulling config fragments from the OE meta data.  The OE meta
> >> >   data fragments will still take precedence over in tree .cfg
> >> >   files.
> >>
> >> I was thinking to do it differently...
> >
> >Basically, I was thinking of embedding the path in the
> >KERNEL_CONFIG_FRAGMENTS
> >variable, similar to how KERNEL_DEVICETREE used to do it:
> >
> >KERNEL_CONFIG_FRAGMENTS = "${WORKDIR}/ipc.cfg
> >${KERNEL_CONFIG_DIR}/non-smp.cfg"
> >
> >This way you could have fragments of the same name and choose
> >which one to
> >use. But the logic in setup-defconfig.inc would be much simpler...
> 
> I also considered this.  I had rejected it because I didn't want to see a 
> bunch of duplicate entries for ${WORKDIR} and ${KERNEL_CONFIG_DIR}.  You are 
> right though that it makes the setup-defconfig simpler.
> 
> Maybe a use case to consider is whether we think we would have fragments in 
> more than 2 locations.  i.e. one in WORKDIR, another in directory x of the 
> kernel, and another in directory y of the kernel.  If we think this would be 
> reasonable to support then your method makes more sense.  What do you think?

Another possible location could be inside a separate git repository. Which I 
was considering initially, as I didn't know where Dan would create it...


> >> > Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> >> > ---
> >> >  recipes-kernel/linux/setup-defconfig.inc |   36
> >++++++++++++++++++++++++++++--
> >> >  1 file changed, 34 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/recipes-kernel/linux/setup-defconfig.inc
> >b/recipes-kernel/linux/setup-defconfig.inc
> >> > index 4277f26..fbe7e96 100644
> >> > --- a/recipes-kernel/linux/setup-defconfig.inc
> >> > +++ b/recipes-kernel/linux/setup-defconfig.inc
> >> > @@ -2,6 +2,10 @@
> >> >  # kernel version string.  such as the commit id
> >> >  KERNEL_LOCALVERSION ?= ""
> >> >
> >> > +# KERNEL_CONFIG_DIR can be set to specify a subdirectory to
> >search for
> >> > +# kernel configuration fragments
> >> > +KERNEL_CONFIG_DIR ?= ""
> >> > +
> >> >  # Check the defconfig file and see if it points to an in
> >kernel
> >> >  # defconfig that should be used, or if it is a complete
> >config file
> >> >
> >> > @@ -27,10 +31,38 @@ do_configure() {
> >> >          yes '' | oe_runmake oldconfig
> >> >      fi
> >> >
> >> > -    # check for fragments
> >> > +    # Check for kernel config fragments.  First check the
> >files copied from
> >> > +    # the OE meta data since we may want to override kernel
> >config fragments
> >> > +    # in the recipe.  If you don't find the fragment in the
> >OE meta data
> >> > +    # then check the kernel sources.  If you still can't find
> >it then bail
> >> > +    # with an error.
> >> > +    # Check if any config fragments are specified.
> >> >      if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
> >> >      then
> >> > -        ( cd ${WORKDIR} &&
> >${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config
> >${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
> >> > +        # Variable to hold the assembled list of fragments
> >with absolute paths
> >> > +        configs=""
> >> > +
> >> > +        for f in ${KERNEL_CONFIG_FRAGMENTS}
> >> > +        do
> >> > +            # Check if the config fragment was copied into
> >the WORKDIR from
> >> > +            # the OE meta data
> >> > +            if [ -e "${WORKDIR}/$f" ]
> >> > +            then
> >> > +                echo "Found config in workdir"
> >> > +                configs="$configs ""${WORKDIR}/$f"
> >> > +            # Check if the fragement is in the kernel sources
> >> > +            elif [ -e "${S}/${KERNEL_CONFIG_DIR}/$f" ]
> >> > +            then
> >> > +                echo "Found config in kernel"
> >> > +                configs="$configs
> >""${S}/${KERNEL_CONFIG_DIR}/$f"
> >> > +            else
> >> > +                echo "Could not find kernel config fragment
> >$f"
> >> > +                exit 1
> >> > +            fi
> >> > +        done
> >> > +
> >> > +        # Now that all the fragments are located merge them.
> >> > +        ( cd ${WORKDIR} &&
> >${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config
> >${configs} 1>&2 )
> >> >          yes '' | oe_runmake oldconfig
> >> >      fi
> >> >  }
> >> > --
> >> > 1.7.9.5
> >> >
> >> > --
> >> > _______________________________________________
> >> > meta-ti mailing list
> >> > meta-ti@yoctoproject.org
> >> > https://lists.yoctoproject.org/listinfo/meta-ti
> >> --
> >> _______________________________________________
> >> meta-ti mailing list
> >> meta-ti@yoctoproject.org
> >> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments
  2014-05-22 17:36         ` Denys Dmytriyenko
@ 2014-05-22 19:38           ` Maupin, Chase
  0 siblings, 0 replies; 9+ messages in thread
From: Maupin, Chase @ 2014-05-22 19:38 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-ti

>-----Original Message-----
>From: Dmytriyenko, Denys
>Sent: Thursday, May 22, 2014 12:36 PM
>To: Maupin, Chase
>Cc: meta-ti@yoctoproject.org
>Subject: Re: [meta-ti] [PATCH 3/4] setup-defconfig: allow use of
>in-kernel config fragments
>
>On Thu, May 22, 2014 at 01:16:21PM -0400, Maupin, Chase wrote:
>> >-----Original Message-----
>> >From: Dmytriyenko, Denys
>> >Sent: Thursday, May 22, 2014 11:51 AM
>> >To: Maupin, Chase
>> >Cc: meta-ti@yoctoproject.org
>> >Subject: Re: [meta-ti] [PATCH 3/4] setup-defconfig: allow use
>of
>> >in-kernel config fragments
>> >
>> >On Thu, May 22, 2014 at 12:19:01PM -0400, Denys Dmytriyenko
>wrote:
>> >> On Thu, May 22, 2014 at 11:16:15AM -0500, Chase Maupin wrote:
>> >> > * Allow the use of in-kernel config fragments instead of
>only
>> >> >   pulling config fragments from the OE meta data.  The OE
>meta
>> >> >   data fragments will still take precedence over in tree
>.cfg
>> >> >   files.
>> >>
>> >> I was thinking to do it differently...
>> >
>> >Basically, I was thinking of embedding the path in the
>> >KERNEL_CONFIG_FRAGMENTS
>> >variable, similar to how KERNEL_DEVICETREE used to do it:
>> >
>> >KERNEL_CONFIG_FRAGMENTS = "${WORKDIR}/ipc.cfg
>> >${KERNEL_CONFIG_DIR}/non-smp.cfg"
>> >
>> >This way you could have fragments of the same name and choose
>> >which one to
>> >use. But the logic in setup-defconfig.inc would be much
>simpler...
>>
>> I also considered this.  I had rejected it because I didn't want
>to see a
>> bunch of duplicate entries for ${WORKDIR} and
>${KERNEL_CONFIG_DIR}.  You are
>> right though that it makes the setup-defconfig simpler.
>>
>> Maybe a use case to consider is whether we think we would have
>fragments in
>> more than 2 locations.  i.e. one in WORKDIR, another in
>directory x of the
>> kernel, and another in directory y of the kernel.  If we think
>this would be
>> reasonable to support then your method makes more sense.  What
>do you think?
>
>Another possible location could be inside a separate git
>repository. Which I
>was considering initially, as I didn't know where Dan would create
>it...

So it sounds like it would be better if I let the PATH be in the config fragment name.  I'll rework this and send v2.

>
>
>> >> > Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
>> >> > ---
>> >> >  recipes-kernel/linux/setup-defconfig.inc |   36
>> >++++++++++++++++++++++++++++--
>> >> >  1 file changed, 34 insertions(+), 2 deletions(-)
>> >> >
>> >> > diff --git a/recipes-kernel/linux/setup-defconfig.inc
>> >b/recipes-kernel/linux/setup-defconfig.inc
>> >> > index 4277f26..fbe7e96 100644
>> >> > --- a/recipes-kernel/linux/setup-defconfig.inc
>> >> > +++ b/recipes-kernel/linux/setup-defconfig.inc
>> >> > @@ -2,6 +2,10 @@
>> >> >  # kernel version string.  such as the commit id
>> >> >  KERNEL_LOCALVERSION ?= ""
>> >> >
>> >> > +# KERNEL_CONFIG_DIR can be set to specify a subdirectory
>to
>> >search for
>> >> > +# kernel configuration fragments
>> >> > +KERNEL_CONFIG_DIR ?= ""
>> >> > +
>> >> >  # Check the defconfig file and see if it points to an in
>> >kernel
>> >> >  # defconfig that should be used, or if it is a complete
>> >config file
>> >> >
>> >> > @@ -27,10 +31,38 @@ do_configure() {
>> >> >          yes '' | oe_runmake oldconfig
>> >> >      fi
>> >> >
>> >> > -    # check for fragments
>> >> > +    # Check for kernel config fragments.  First check the
>> >files copied from
>> >> > +    # the OE meta data since we may want to override
>kernel
>> >config fragments
>> >> > +    # in the recipe.  If you don't find the fragment in
>the
>> >OE meta data
>> >> > +    # then check the kernel sources.  If you still can't
>find
>> >it then bail
>> >> > +    # with an error.
>> >> > +    # Check if any config fragments are specified.
>> >> >      if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]
>> >> >      then
>> >> > -        ( cd ${WORKDIR} &&
>> >${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config
>> >${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
>> >> > +        # Variable to hold the assembled list of fragments
>> >with absolute paths
>> >> > +        configs=""
>> >> > +
>> >> > +        for f in ${KERNEL_CONFIG_FRAGMENTS}
>> >> > +        do
>> >> > +            # Check if the config fragment was copied into
>> >the WORKDIR from
>> >> > +            # the OE meta data
>> >> > +            if [ -e "${WORKDIR}/$f" ]
>> >> > +            then
>> >> > +                echo "Found config in workdir"
>> >> > +                configs="$configs ""${WORKDIR}/$f"
>> >> > +            # Check if the fragement is in the kernel
>sources
>> >> > +            elif [ -e "${S}/${KERNEL_CONFIG_DIR}/$f" ]
>> >> > +            then
>> >> > +                echo "Found config in kernel"
>> >> > +                configs="$configs
>> >""${S}/${KERNEL_CONFIG_DIR}/$f"
>> >> > +            else
>> >> > +                echo "Could not find kernel config
>fragment
>> >$f"
>> >> > +                exit 1
>> >> > +            fi
>> >> > +        done
>> >> > +
>> >> > +        # Now that all the fragments are located merge
>them.
>> >> > +        ( cd ${WORKDIR} &&
>> >${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config
>> >${configs} 1>&2 )
>> >> >          yes '' | oe_runmake oldconfig
>> >> >      fi
>> >> >  }
>> >> > --
>> >> > 1.7.9.5
>> >> >
>> >> > --
>> >> > _______________________________________________
>> >> > meta-ti mailing list
>> >> > meta-ti@yoctoproject.org
>> >> > https://lists.yoctoproject.org/listinfo/meta-ti
>> >> --
>> >> _______________________________________________
>> >> meta-ti mailing list
>> >> meta-ti@yoctoproject.org
>> >> https://lists.yoctoproject.org/listinfo/meta-ti


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-05-22 19:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-22 16:16 [PATCH 1/4] linux-ti-staging: Remove old 3.8 version Chase Maupin
2014-05-22 16:16 ` [PATCH 2/4] linux-ti-staging: Make files directory version specific Chase Maupin
2014-05-22 16:16 ` [PATCH 3/4] setup-defconfig: allow use of in-kernel config fragments Chase Maupin
2014-05-22 16:19   ` Denys Dmytriyenko
2014-05-22 16:50     ` Denys Dmytriyenko
2014-05-22 17:16       ` Maupin, Chase
2014-05-22 17:36         ` Denys Dmytriyenko
2014-05-22 19:38           ` Maupin, Chase
2014-05-22 16:16 ` [PATCH 4/4] linux-ti-staging: Add version 3.15 of TI integration kernel Chase Maupin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.