Update the em-x270 machine to work with linux_2.6.23.
authorRafael Campos Las Heras <methril@gmail.com>
Mon, 10 Aug 2009 13:07:01 +0000 (13:07 +0000)
committerHolger Hans Peter Freyther <zecke@selfish.org>
Tue, 11 Aug 2009 01:37:06 +0000 (03:37 +0200)
* Use of generic linux_2.6.23 recipe
 * remove em-x270_2.6.23 recipe (ugly).
 * Add a patch that allows to compile with gcc 4.1 compiler.

Signed-off-by: Rafael Campos Las Heras <methril@gmail.com>
Signed-off-By: Holger Hans Peter Freyther <zecke@selfish.org>
conf/machine/em-x270.conf
recipes/linux/em-x270_2.6.23.bb [deleted file]
recipes/linux/linux-2.6.23/em-x270/01-prevent_loop_timespec_add_ns.patch [new file with mode: 0644]
recipes/linux/linux-2.6.23/em-x270/defconfig [moved from recipes/linux/em-x270-2.6.23/defconfig with 100% similarity]
recipes/linux/linux-2.6.23/em-x270/em-x270.patch [moved from recipes/linux/em-x270-2.6.23/em-x270.patch with 100% similarity]
recipes/linux/linux_2.6.23.bb

index f8a5c95..efcf104 100644 (file)
@@ -9,7 +9,7 @@ TARGET_ARCH = "arm"
 GUI_MACHINE_CLASS ?= "bigscreen"
 
 PACKAGE_EXTRA_ARCHS = "iwmmxt "
-PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}"
+PREFERRED_PROVIDER_virtual/kernel = "linux"
 
 # Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
 #require conf/machine/include/tune-xscale.inc
@@ -43,7 +43,7 @@ MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth wifi usbhost usbgadg
 #
 
 #PCMCIA_MANAGER = "pcmciautils"
-PREFERRED_VERSION_em-x270 = "2.6.23"
+PREFERRED_VERSION_linux = "2.6.23"
 MODUTILS = "26"        
 PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 
diff --git a/recipes/linux/em-x270_2.6.23.bb b/recipes/linux/em-x270_2.6.23.bb
deleted file mode 100644 (file)
index fcef728..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-require linux.inc
-
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for the Compulab EM-X270 system"
-LICENSE = "GPL"
-DEPENDS = "u-boot-utils-native"
-PR = "r1"
-
-KERNEL_IMAGETYPE = "uImage"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
-          file://em-x270.patch;patch=1 \
-           file://defconfig \
-         "
-
-S = "${WORKDIR}/linux-${PV}"
-
-COMPATIBLE_HOST = 'arm.*-linux'
-COMPATIBLE_MACHINE = "em-x270"
-
-inherit kernel
-inherit package
-
-ARCH = "arm"
-
-FILES_kernel-image = ""
-
-S = "${WORKDIR}/linux-${PV}"
-
diff --git a/recipes/linux/linux-2.6.23/em-x270/01-prevent_loop_timespec_add_ns.patch b/recipes/linux/linux-2.6.23/em-x270/01-prevent_loop_timespec_add_ns.patch
new file mode 100644 (file)
index 0000000..a2f6e17
--- /dev/null
@@ -0,0 +1,19 @@
+---
+ include/linux/time.h |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+diff --git a/include/linux/time.h b/include/linux/time.h
+index 2091a19..d32ef0a 100644
+--- a/include/linux/time.h
++++ b/include/linux/time.h
+@@ -173,6 +173,10 @@ static inline void timespec_add_ns(struct timespec *a, u64 ns)
+ {
+       ns += a->tv_nsec;
+       while(unlikely(ns >= NSEC_PER_SEC)) {
++              /* The following asm() prevents the compiler from
++               * optimising this loop into a modulo operation.  */
++              asm("" : "+r"(ns));
++              
+               ns -= NSEC_PER_SEC;
+               a->tv_sec++;
+       }
+
index 76ebbbe..0f62a1c 100644 (file)
@@ -28,6 +28,9 @@ SRC_URI_avr32 = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
                  file://defconfig \
                  http://avr32linux.org/twiki/pub/Main/LinuxPatches/linux-2.6.23.atmel.3.patch.bz2;patch=1 \
                 "
+SRC_URI_append_em-x270 = "\
+       file://em-x270.patch;patch=1 \
+       file://01-prevent_loop_timespec_add_ns.patch;patch=1"
 
 SRC_URI_append_cm-x270 = "\
        file://0001-cm-x270-base2.patch;patch=1 \