summaryrefslogtreecommitdiff
path: root/recipes/linux
diff options
context:
space:
mode:
authorGraeme Gregory <dp@xora.org.uk>2009-11-18 09:15:55 +0000
committerGraeme Gregory <dp@xora.org.uk>2009-11-18 09:15:55 +0000
commit15387c72d5cf1a77a5a0afa6750dae73a8dbc12f (patch)
treeab55e077002322c8f245c79c87c6a6f2f7b0ed2e /recipes/linux
parent7f3d2b172af63fc894f80eece075434b2c5fbbc5 (diff)
parente4e52ba358c094952ec868d32524a26dfa4bae89 (diff)
Merge branch 'org.openembedded.dev' of git+ssh://git@git.openembedded.org/openembedded into org.openembedded.dev
Diffstat (limited to 'recipes/linux')
-rw-r--r--recipes/linux/linux-bfin_svn.bb2
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.18.bb2
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.19.bb2
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.20.bb2
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.21.7.bb2
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.23.14.bb4
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.24.7.bb4
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.27.8.bb4
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.29.bb4
-rw-r--r--recipes/linux/linux-openmoko-2.6.31/0001-wm8753-fix-build-with-gcc-4.4.2-which-works-ok-with-.patch27
-rw-r--r--recipes/linux/linux-openmoko-2.6.31/0004-gta02_defconfig-Enable-UBI-support.patch67
-rw-r--r--recipes/linux/linux-openmoko-2.6.31/0005-gta02_defconfig-Enable-UBI-debug.patch88
-rw-r--r--recipes/linux/linux-openmoko-2.6.31_git.bb27
-rw-r--r--recipes/linux/linux-openmoko-shr-devel/0007-Enable-UBI-UBIFS.patch81
-rw-r--r--recipes/linux/linux-openmoko-shr-devel/fix-install.patch23
-rw-r--r--recipes/linux/linux-openmoko-shr-devel_git.bb26
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0001-Add-drm-to-Makefile-version.patch25
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0001-Fix-s3c-adc-suspend.patch128
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0002-GTA01-GTA02-disable-android-drivers-in-default-confi.patch154
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0003-glamo-spi-missing-semicolon-after-MODULE_AUTHOR.patch39
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0004-gta02_drm_defconfig-start-from-gta02_packaging_defco.patch129
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0005-Enable-DRM-and-MFD_GLAMO_DRM.patch51
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0006-Enable-I2C_ALGOBIT-from-make-oldconfig.patch33
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/0007-Enable-UBI-UBIFS.patch90
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel/fix-install.patch23
-rw-r--r--recipes/linux/linux-openmoko-shr-drm-devel_git.bb35
26 files changed, 1059 insertions, 13 deletions
diff --git a/recipes/linux/linux-bfin_svn.bb b/recipes/linux/linux-bfin_svn.bb
index d7402e606a..9b1b4e1a46 100644
--- a/recipes/linux/linux-bfin_svn.bb
+++ b/recipes/linux/linux-bfin_svn.bb
@@ -2,7 +2,7 @@ require linux.inc
COMPATIBLE_HOST = 'bfin.*-uclinux'
-PV = "2.6.22.10+svnr${SRCREV}"
+PV = "2.6.22.10+svnr${SRCPV}"
SRC_URI = "svn://sources.blackfin.uclinux.org/linux-kernel/;module=trunk \
file://defconfig \
diff --git a/recipes/linux/linux-ixp4xx_2.6.18.bb b/recipes/linux/linux-ixp4xx_2.6.18.bb
index 1fb86f15eb..a96768549c 100644
--- a/recipes/linux/linux-ixp4xx_2.6.18.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.18.bb
@@ -3,7 +3,7 @@ require linux-ixp4xx.inc
KERNEL_RELEASE = "2.6.18"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r0"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${KERNEL_RELEASE}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.19.bb b/recipes/linux/linux-ixp4xx_2.6.19.bb
index 550313ca94..666d42daa0 100644
--- a/recipes/linux/linux-ixp4xx_2.6.19.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.19.bb
@@ -3,7 +3,7 @@ require linux-ixp4xx.inc
KERNEL_RELEASE = "2.6.19"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r0"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${KERNEL_RELEASE}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.20.bb b/recipes/linux/linux-ixp4xx_2.6.20.bb
index f70992ea86..7a2faa0e25 100644
--- a/recipes/linux/linux-ixp4xx_2.6.20.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.20.bb
@@ -3,7 +3,7 @@ require linux-ixp4xx.inc
KERNEL_RELEASE = "2.6.20"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r0"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${KERNEL_RELEASE}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.21.7.bb b/recipes/linux/linux-ixp4xx_2.6.21.7.bb
index 4d26621241..60d3d4d1cd 100644
--- a/recipes/linux/linux-ixp4xx_2.6.21.7.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.21.7.bb
@@ -4,7 +4,7 @@ require linux-ixp4xx.inc
VANILLA_VERSION = "2.6.21"
KERNEL_RELEASE = "2.6.21.7"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r0"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.23.14.bb b/recipes/linux/linux-ixp4xx_2.6.23.14.bb
index b7c7682370..50cc46c5c8 100644
--- a/recipes/linux/linux-ixp4xx_2.6.23.14.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.23.14.bb
@@ -5,9 +5,9 @@ VANILLA_VERSION = "2.6.23"
KERNEL_RELEASE = "2.6.23.14"
# If you use a rc, you will need to use this:
-#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCREV}"
+#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCPV}"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r0"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.24.7.bb b/recipes/linux/linux-ixp4xx_2.6.24.7.bb
index c6d035b012..6532cad435 100644
--- a/recipes/linux/linux-ixp4xx_2.6.24.7.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.24.7.bb
@@ -5,9 +5,9 @@ VANILLA_VERSION = "2.6.24"
KERNEL_RELEASE = "2.6.24.7"
# If you use a rc, you will need to use this:
-#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCREV}"
+#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCPV}"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.27.8.bb b/recipes/linux/linux-ixp4xx_2.6.27.8.bb
index 68a1482ccb..0d4d715432 100644
--- a/recipes/linux/linux-ixp4xx_2.6.27.8.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.27.8.bb
@@ -7,9 +7,9 @@ VANILLA_VERSION = "2.6.27"
KERNEL_RELEASE = "2.6.27.8"
# If you use a rc, you will need to use this:
-#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCREV}"
+#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCPV}"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r2"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
diff --git a/recipes/linux/linux-ixp4xx_2.6.29.bb b/recipes/linux/linux-ixp4xx_2.6.29.bb
index f2c697f69f..f13a2b7ee8 100644
--- a/recipes/linux/linux-ixp4xx_2.6.29.bb
+++ b/recipes/linux/linux-ixp4xx_2.6.29.bb
@@ -7,9 +7,9 @@ VANILLA_VERSION = "2.6.29"
KERNEL_RELEASE = "2.6.29"
# If you use a rc, you will need to use this:
-#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCREV}"
+#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCPV}"
-PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PV = "${KERNEL_RELEASE}+svnr${SRCPV}"
PR = "r0"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
diff --git a/recipes/linux/linux-openmoko-2.6.31/0001-wm8753-fix-build-with-gcc-4.4.2-which-works-ok-with-.patch b/recipes/linux/linux-openmoko-2.6.31/0001-wm8753-fix-build-with-gcc-4.4.2-which-works-ok-with-.patch
new file mode 100644
index 0000000000..c6b989f997
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.31/0001-wm8753-fix-build-with-gcc-4.4.2-which-works-ok-with-.patch
@@ -0,0 +1,27 @@
+From 63b619f9466dc36648d082dc4e4fad714a343d80 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 7 Nov 2009 20:33:06 +0100
+Subject: [PATCH 1/5] wm8753: fix build with gcc-4.4.2, which works ok with 4.1.2
+
+---
+ sound/soc/codecs/wm8753.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
+index d80d414..1e685b2 100644
+--- a/sound/soc/codecs/wm8753.c
++++ b/sound/soc/codecs/wm8753.c
+@@ -709,7 +709,9 @@ static void pll_factors(struct _pll_div *pll_div, unsigned int target,
+ Nmod = target % source;
+ Kpart = FIXED_PLL_SIZE * (long long)Nmod;
+
+- do_div(Kpart, source);
++ // with this, gcc-4.4.2 emits the reference to uldivmod, but then optimizes it out
++ //do_div(Kpart, source);
++ __do_div_asm(Kpart, source);
+
+ K = Kpart & 0xFFFFFFFF;
+
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-2.6.31/0004-gta02_defconfig-Enable-UBI-support.patch b/recipes/linux/linux-openmoko-2.6.31/0004-gta02_defconfig-Enable-UBI-support.patch
new file mode 100644
index 0000000000..4ab88d3672
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.31/0004-gta02_defconfig-Enable-UBI-support.patch
@@ -0,0 +1,67 @@
+From 513b35171de9efbbc0699bff5f2e5a324d2cd8ef Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 11:22:13 +0100
+Subject: [PATCH 4/5] gta02_defconfig: Enable UBI support
+
+---
+ arch/arm/configs/gta02_defconfig | 22 +++++++++++++++++++---
+ 1 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_defconfig b/arch/arm/configs/gta02_defconfig
+index b0a6d72..3f1b60b 100644
+--- a/arch/arm/configs/gta02_defconfig
++++ b/arch/arm/configs/gta02_defconfig
+@@ -648,7 +648,15 @@ CONFIG_MTD_NAND_S3C2410=y
+ #
+ # UBI - Unsorted block images
+ #
+-# CONFIG_MTD_UBI is not set
++CONFIG_MTD_UBI=y
++CONFIG_MTD_UBI_WL_THRESHOLD=4096
++CONFIG_MTD_UBI_BEB_RESERVE=1
++CONFIG_MTD_UBI_GLUEBI=y
++
++#
++# UBI debugging options
++#
++# CONFIG_MTD_UBI_DEBUG is not set
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+@@ -1478,6 +1486,12 @@ CONFIG_JFFS2_ZLIB=y
+ # CONFIG_JFFS2_LZO is not set
+ CONFIG_JFFS2_RTIME=y
+ # CONFIG_JFFS2_RUBIN is not set
++CONFIG_UBIFS_FS=y
++# CONFIG_UBIFS_FS_XATTR is not set
++# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
++CONFIG_UBIFS_FS_LZO=y
++CONFIG_UBIFS_FS_ZLIB=y
++# CONFIG_UBIFS_FS_DEBUG is not set
+ # CONFIG_CRAMFS is not set
+ # CONFIG_SQUASHFS is not set
+ # CONFIG_VXFS_FS is not set
+@@ -1670,9 +1684,9 @@ CONFIG_CRYPTO_MD5=y
+ #
+ # Compression
+ #
+-# CONFIG_CRYPTO_DEFLATE is not set
++CONFIG_CRYPTO_DEFLATE=y
+ CONFIG_CRYPTO_ZLIB=y
+-# CONFIG_CRYPTO_LZO is not set
++CONFIG_CRYPTO_LZO=y
+
+ #
+ # Random Number Generation
+@@ -1695,6 +1709,8 @@ CONFIG_CRC7=y
+ # CONFIG_LIBCRC32C is not set
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=y
++CONFIG_LZO_COMPRESS=y
++CONFIG_LZO_DECOMPRESS=y
+ CONFIG_DECOMPRESS_GZIP=y
+ CONFIG_DECOMPRESS_BZIP2=y
+ CONFIG_DECOMPRESS_LZMA=y
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-2.6.31/0005-gta02_defconfig-Enable-UBI-debug.patch b/recipes/linux/linux-openmoko-2.6.31/0005-gta02_defconfig-Enable-UBI-debug.patch
new file mode 100644
index 0000000000..19c602a15c
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.31/0005-gta02_defconfig-Enable-UBI-debug.patch
@@ -0,0 +1,88 @@
+From 5ae14aa9c5eea7178a8de28515b45d600ecb7a13 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 11:24:01 +0100
+Subject: [PATCH 5/5] gta02_defconfig: Enable UBI debug
+
+---
+ arch/arm/configs/gta02_defconfig | 23 +++++++++++++++++++++--
+ 1 files changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_defconfig b/arch/arm/configs/gta02_defconfig
+index 3f1b60b..0f53baf 100644
+--- a/arch/arm/configs/gta02_defconfig
++++ b/arch/arm/configs/gta02_defconfig
+@@ -76,6 +76,7 @@ CONFIG_ANON_INODES=y
+ CONFIG_UID16=y
+ CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
++CONFIG_KALLSYMS_ALL=y
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -110,6 +111,7 @@ CONFIG_HAVE_CLK=y
+ #
+ # GCOV-based kernel profiling
+ #
++# CONFIG_GCOV_KERNEL is not set
+ # CONFIG_SLOW_WORK is not set
+ CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+ CONFIG_SLABINFO=y
+@@ -656,7 +658,21 @@ CONFIG_MTD_UBI_GLUEBI=y
+ #
+ # UBI debugging options
+ #
+-# CONFIG_MTD_UBI_DEBUG is not set
++CONFIG_MTD_UBI_DEBUG=y
++CONFIG_MTD_UBI_DEBUG_MSG=y
++# CONFIG_MTD_UBI_DEBUG_PARANOID is not set
++# CONFIG_MTD_UBI_DEBUG_DISABLE_BGT is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_BITFLIPS is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_WRITE_FAILURES is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_ERASE_FAILURES is not set
++
++#
++# Additional UBI debugging messages
++#
++CONFIG_MTD_UBI_DEBUG_MSG_BLD=y
++CONFIG_MTD_UBI_DEBUG_MSG_EBA=y
++CONFIG_MTD_UBI_DEBUG_MSG_WL=y
++CONFIG_MTD_UBI_DEBUG_MSG_IO=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+@@ -1238,6 +1254,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ # CONFIG_USB_VST is not set
+ CONFIG_USB_GADGET=y
+ # CONFIG_USB_GADGET_DEBUG_FILES is not set
++# CONFIG_USB_GADGET_DEBUG_FS is not set
+ CONFIG_USB_GADGET_VBUS_DRAW=500
+ CONFIG_USB_GADGET_SELECTED=y
+ # CONFIG_USB_GADGET_AT91 is not set
+@@ -1419,6 +1436,7 @@ CONFIG_EXT3_FS=y
+ # CONFIG_EXT3_FS_XATTR is not set
+ # CONFIG_EXT4_FS is not set
+ CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
+ # CONFIG_REISERFS_FS is not set
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
+@@ -1577,7 +1595,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
+ CONFIG_FRAME_WARN=1024
+ # CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+-# CONFIG_DEBUG_FS is not set
++CONFIG_DEBUG_FS=y
+ # CONFIG_HEADERS_CHECK is not set
+ # CONFIG_DEBUG_KERNEL is not set
+ CONFIG_DEBUG_BUGVERBOSE=y
+@@ -1589,6 +1607,7 @@ CONFIG_FRAME_POINTER=y
+ CONFIG_HAVE_FUNCTION_TRACER=y
+ CONFIG_TRACING_SUPPORT=y
+ # CONFIG_FTRACE is not set
++# CONFIG_DYNAMIC_DEBUG is not set
+ # CONFIG_SAMPLES is not set
+ CONFIG_HAVE_ARCH_KGDB=y
+ # CONFIG_ARM_UNWIND is not set
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-2.6.31_git.bb b/recipes/linux/linux-openmoko-2.6.31_git.bb
new file mode 100644
index 0000000000..3d6a84b81d
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.31_git.bb
@@ -0,0 +1,27 @@
+require linux.inc
+require linux-openmoko.inc
+
+DESCRIPTION_${PN} = "Linux ${KERNEL_VERSION} kernel for the Openmoko Neo GSM Smartphones"
+
+KERNEL_RELEASE = "2.6.31"
+KERNEL_VERSION = "${KERNEL_RELEASE}"
+
+OEV = "oe1"
+PV = "${KERNEL_RELEASE}-${OEV}+gitr${SRCPV}"
+PR = "r1"
+
+SRC_URI = "\
+ git://git.openmoko.org/git/kernel.git;protocol=git;branch=om-2.6.31 \
+ file://0001-wm8753-fix-build-with-gcc-4.4.2-which-works-ok-with-.patch;patch=1 \
+ file://0004-gta02_defconfig-Enable-UBI-support.patch;patch=1 \
+ file://0005-gta02_defconfig-Enable-UBI-debug.patch;patch=1 \
+"
+
+S = "${WORKDIR}/git"
+
+CONFIG_NAME_om-gta01 = "gta01_defconfig"
+CONFIG_NAME_om-gta02 = "gta02_defconfig"
+
+do_configure_prepend() {
+ install -m 644 ./arch/arm/configs/${CONFIG_NAME} ${WORKDIR}/defconfig-oe
+}
diff --git a/recipes/linux/linux-openmoko-shr-devel/0007-Enable-UBI-UBIFS.patch b/recipes/linux/linux-openmoko-shr-devel/0007-Enable-UBI-UBIFS.patch
new file mode 100644
index 0000000000..796a90ff27
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-devel/0007-Enable-UBI-UBIFS.patch
@@ -0,0 +1,81 @@
+From 8f907c17c068beb94264a4a6d40314658a0c1393 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 10:58:28 +0100
+Subject: [PATCH 7/7] Enable UBI/UBIFS
+
+---
+ arch/arm/configs/gta02_packaging_defconfig | 39 ++++++++++++++++++++++++++++++---
+ 1 files changed, 35 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_packaging_defconfig b/arch/arm/configs/gta02_packaging_defconfig
+index e17ddc3..7506963 100644
+--- a/arch/arm/configs/gta02_packaging_defconfig
++++ b/arch/arm/configs/gta02_packaging_defconfig
+@@ -806,7 +806,30 @@ CONFIG_MTD_NAND_S3C2410_HWECC=y
+ #
+ # UBI - Unsorted block images
+ #
+-# CONFIG_MTD_UBI is not set
++CONFIG_MTD_UBI=y
++CONFIG_MTD_UBI_WL_THRESHOLD=4096
++CONFIG_MTD_UBI_BEB_RESERVE=1
++CONFIG_MTD_UBI_GLUEBI=y
++
++#
++# UBI debugging options
++#
++CONFIG_MTD_UBI_DEBUG=y
++CONFIG_MTD_UBI_DEBUG_MSG=y
++# CONFIG_MTD_UBI_DEBUG_PARANOID is not set
++# CONFIG_MTD_UBI_DEBUG_DISABLE_BGT is not set
++# CONFIG_MTD_UBI_DEBUG_USERSPACE_IO is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_BITFLIPS is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_WRITE_FAILURES is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_ERASE_FAILURES is not set
++
++#
++# Additional UBI debugging messages
++#
++CONFIG_MTD_UBI_DEBUG_MSG_BLD=y
++CONFIG_MTD_UBI_DEBUG_MSG_EBA=y
++CONFIG_MTD_UBI_DEBUG_MSG_WL=y
++CONFIG_MTD_UBI_DEBUG_MSG_IO=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+@@ -1877,6 +1900,12 @@ CONFIG_JFFS2_ZLIB=y
+ # CONFIG_JFFS2_LZO is not set
+ CONFIG_JFFS2_RTIME=y
+ # CONFIG_JFFS2_RUBIN is not set
++CONFIG_UBIFS_FS=y
++# CONFIG_UBIFS_FS_XATTR is not set
++# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
++CONFIG_UBIFS_FS_LZO=y
++CONFIG_UBIFS_FS_ZLIB=y
++# CONFIG_UBIFS_FS_DEBUG is not set
+ CONFIG_CRAMFS=y
+ CONFIG_SQUASHFS=m
+ # CONFIG_SQUASHFS_EMBEDDED is not set
+@@ -2151,8 +2180,8 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
+ #
+ # Compression
+ #
+-CONFIG_CRYPTO_DEFLATE=m
+-# CONFIG_CRYPTO_LZO is not set
++CONFIG_CRYPTO_DEFLATE=y
++CONFIG_CRYPTO_LZO=y
+
+ #
+ # Random Number Generation
+@@ -2174,6 +2203,8 @@ CONFIG_CRC32=y
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=y
++CONFIG_LZO_COMPRESS=y
++CONFIG_LZO_DECOMPRESS=y
+ CONFIG_TEXTSEARCH=y
+ CONFIG_TEXTSEARCH_KMP=m
+ CONFIG_TEXTSEARCH_BM=m
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-devel/fix-install.patch b/recipes/linux/linux-openmoko-shr-devel/fix-install.patch
new file mode 100644
index 0000000000..b14ca7d740
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-devel/fix-install.patch
@@ -0,0 +1,23 @@
+From: Steve Sakoman <steve@sakoman.com>
+Date: Mon, 18 Aug 2008 16:07:31 +0000 (-0700)
+Subject: scripts/Makefile.fwinst: add missing space when setting mode in cmd_install
+X-Git-Url: http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff_plain;h=f039944bdd491cde7327133e9976881d3133ae70
+
+scripts/Makefile.fwinst: add missing space when setting mode in cmd_install
+
+This was causing build failures on some machines
+---
+
+diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst
+index 6bf8e87..fb20532 100644
+--- a/scripts/Makefile.fwinst
++++ b/scripts/Makefile.fwinst
+@@ -37,7 +37,7 @@
+ @true
+
+ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@)
+- cmd_install = $(INSTALL) -m0644 $< $@
++ cmd_install = $(INSTALL) -m 0644 $< $@
+
+ $(installed-fw-dirs):
+ $(call cmd,mkdir)
diff --git a/recipes/linux/linux-openmoko-shr-devel_git.bb b/recipes/linux/linux-openmoko-shr-devel_git.bb
new file mode 100644
index 0000000000..4f300ff73a
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-devel_git.bb
@@ -0,0 +1,26 @@
+require linux.inc
+require linux-openmoko.inc
+
+DESCRIPTION_${PN} = "Linux ${KERNEL_VERSION} kernel for the Openmoko Neo GSM Smartphones"
+
+KERNEL_RELEASE = "2.6.29"
+KERNEL_VERSION = "2.6.29-rc3"
+
+OMV = "oe11"
+PV = "${KERNEL_RELEASE}-${OMV}+gitr${SRCPV}"
+PR = "r3.5"
+
+SRC_URI = "\
+ git://git.openmoko.org/git/kernel.git;protocol=git;branch=andy-tracking \
+ file://fix-install.patch;patch=1 \
+ file://0007-Enable-UBI-UBIFS.patch;patch=1 \
+"
+S = "${WORKDIR}/git"
+
+CONFIG_NAME_om-gta01 = "gta01_moredrivers_defconfig"
+CONFIG_NAME_om-gta02 = "gta02_packaging_defconfig"
+CONFIG_NAME_om-gta03 = "gta03_defconfig"
+
+do_configure_prepend() {
+ install -m 644 ./arch/arm/configs/${CONFIG_NAME} ${WORKDIR}/defconfig-oe
+}
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0001-Add-drm-to-Makefile-version.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0001-Add-drm-to-Makefile-version.patch
new file mode 100644
index 0000000000..99345f7d54
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0001-Add-drm-to-Makefile-version.patch
@@ -0,0 +1,25 @@
+From 153af7f8e784e03401dc103f16741397ce6ca914 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 12:50:40 +0100
+Subject: [PATCH] Add -drm to Makefile version
+
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ebf0aa4..16b189f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ VERSION = 2
+ PATCHLEVEL = 6
+ SUBLEVEL = 29
+-EXTRAVERSION += -rc3
++EXTRAVERSION += -rc3-drm
+ NAME = Erotic Pickled Herring
+
+ # *DOCUMENTATION*
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0001-Fix-s3c-adc-suspend.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0001-Fix-s3c-adc-suspend.patch
new file mode 100644
index 0000000000..6627e698f0
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0001-Fix-s3c-adc-suspend.patch
@@ -0,0 +1,128 @@
+From e22e97d2266d100f501f1e22275595eb68dd3e6f Mon Sep 17 00:00:00 2001
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+Date: Thu, 1 Oct 2009 20:58:18 -0500
+Subject: [PATCH 1/7] Fix s3c-adc suspend
+
+Fix for a bug that shows when the s3c2410 TS driver requests
+a conversion from the s3c-adc driver and the machine goes into suspend.
+In this case the touchscreen stops working.
+
+Note: Nelson edited the original patch with a few small changes.
+
+Reported-by: Radek Polak <psonek2@seznam.cz>
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
+---
+ arch/arm/plat-s3c24xx/adc.c | 42 +++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 37 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm/plat-s3c24xx/adc.c b/arch/arm/plat-s3c24xx/adc.c
+index 9056bcc..4ce45c5 100644
+--- a/arch/arm/plat-s3c24xx/adc.c
++++ b/arch/arm/plat-s3c24xx/adc.c
+@@ -43,6 +43,7 @@ struct s3c_adc_client {
+ unsigned int nr_samples;
+ unsigned char is_ts;
+ unsigned char channel;
++ unsigned selected;
+
+ void (*select_cb)(unsigned selected);
+ void (*convert_cb)(unsigned val1, unsigned val2,
+@@ -68,6 +69,7 @@ static struct adc_device *adc_dev;
+ static LIST_HEAD(adc_pending);
+
+ #define adc_dbg(_adc, msg...) dev_dbg(&(_adc)->pdev->dev, msg)
++#define adc_info(_adc, msg...) dev_info(&(_adc)->pdev->dev, msg)
+
+ #define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | \
+ S3C2410_ADCTSC_XP_SEN | S3C2410_ADCTSC_AUTO_PST | \
+@@ -91,7 +93,10 @@ static inline void s3c_adc_select(struct adc_device *adc,
+ {
+ unsigned con = readl(adc->regs + S3C2410_ADCCON);
+
+- client->select_cb(1);
++ if (!client->selected) {
++ client->selected = 1;
++ client->select_cb(1);
++ }
+
+ con &= ~S3C2410_ADCCON_MUXMASK;
+ con &= ~S3C2410_ADCCON_STDBM;
+@@ -115,12 +120,9 @@ void s3c_adc_try(struct adc_device *adc)
+ {
+ struct s3c_adc_client *next = adc->ts_pend;
+
+- if (!next && !list_empty(&adc_pending)) {
++ if (!next && !list_empty(&adc_pending))
+ next = list_first_entry(&adc_pending,
+ struct s3c_adc_client, pend);
+- list_del(&next->pend);
+- } else
+- adc->ts_pend = NULL;
+
+ if (next) {
+ adc_dbg(adc, "new client is %p\n", next);
+@@ -229,9 +231,16 @@ static irqreturn_t s3c_adc_irq(int irq, void *pw)
+ /* fire another conversion for this */
+
+ client->select_cb(1);
++ client->selected = 1;
+ s3c_adc_convert(adc);
+ } else {
+ local_irq_save(flags);
++ client->selected = 0;
++ if (!adc->cur->is_ts)
++ list_del(&adc->cur->pend);
++ else
++ adc->ts_pend = NULL;
++
+ (client->select_cb)(0);
+ adc->cur = NULL;
+
+@@ -341,20 +350,43 @@ static int s3c_adc_suspend(struct platform_device *pdev, pm_message_t state)
+ writel(con, adc->regs + S3C2410_ADCCON);
+
+ clk_disable(adc->clk);
++ disable_irq(IRQ_ADC);
++
++ if (!list_empty(&adc_pending) || adc->ts_pend)
++ adc_info(adc, "%s:We still have clients pending\n", __func__);
+
+ return 0;
+ }
+
++static struct work_struct resume_work;
++
++static void adc_resume_work(struct work_struct *work)
++{
++ struct adc_device *adc = platform_get_drvdata(adc_dev->pdev);
++
++ adc_info(adc, "%s:We still have clients pending\n", __func__);
++ s3c_adc_try(adc_dev);
++}
++
+ static int s3c_adc_resume(struct platform_device *pdev)
+ {
+ struct adc_device *adc = platform_get_drvdata(pdev);
+
++ enable_irq(IRQ_ADC);
+ clk_enable(adc->clk);
+
+ writel(adc->prescale | S3C2410_ADCCON_PRSCEN,
+ adc->regs + S3C2410_ADCCON);
+ writel(adc->delay, adc->regs + S3C2410_ADCDLY);
+
++ /* Schedule task if there are clients pending. */
++ if (!list_empty(&adc_pending) || adc_dev->ts_pend) {
++ INIT_WORK(&resume_work, adc_resume_work);
++ if (!schedule_work(&resume_work))
++ dev_err(&pdev->dev,
++ "Failed to schedule adc_resume work!\n");
++ }
++
+ return 0;
+ }
+
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0002-GTA01-GTA02-disable-android-drivers-in-default-confi.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0002-GTA01-GTA02-disable-android-drivers-in-default-confi.patch
new file mode 100644
index 0000000000..797f2fb27b
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0002-GTA01-GTA02-disable-android-drivers-in-default-confi.patch
@@ -0,0 +1,154 @@
+From 18713d582b94c7f132f306c01c43fd22a12a1fc5 Mon Sep 17 00:00:00 2001
+From: Radek Polak <psonek2@seznam.cz>
+Date: Fri, 2 Oct 2009 20:54:29 +0200
+Subject: [PATCH 2/7] GTA01/GTA02: disable android drivers in default configs
+
+Android drivers are not needed for standard linux systems. We can save
+memory by disabling them.
+
+Android low memory killer (CONFIG_ANDROID_LOW_MEMORY_KILLER) also
+prevents using swap by killing applications before swapping can start
+on non android systems.
+
+Reported-by: Jim Morris <morris@wolfman.com>
+Signed-off-by: Radek Polak <psonek2@seznam.cz>
+Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
+---
+ arch/arm/configs/gta01_moredrivers_defconfig | 21 ++++++++++-----------
+ arch/arm/configs/gta02_moredrivers_defconfig | 19 ++++++++-----------
+ arch/arm/configs/gta02_packaging_defconfig | 19 ++++++++-----------
+ 3 files changed, 26 insertions(+), 33 deletions(-)
+
+diff --git a/arch/arm/configs/gta01_moredrivers_defconfig b/arch/arm/configs/gta01_moredrivers_defconfig
+index 411acab..68b95e7 100644
+--- a/arch/arm/configs/gta01_moredrivers_defconfig
++++ b/arch/arm/configs/gta01_moredrivers_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Tue Feb 24 02:13:21 2009
++# Fri Oct 2 16:49:49 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+@@ -203,6 +203,7 @@ CONFIG_S3C_GPIO_SPACE=0
+ CONFIG_S3C_GPIO_TRACK=y
+ CONFIG_S3C_DMA=y
+ CONFIG_S3C_PWM=y
++CONFIG_S3C_DEV_USB_HOST=y
+
+ #
+ # S3C2400 Machines
+@@ -1159,6 +1160,7 @@ CONFIG_WATCHDOG=y
+ #
+ # CONFIG_SOFT_WATCHDOG is not set
+ CONFIG_S3C2410_WATCHDOG=m
++CONFIG_PCF50606_WATCHDOG=y
+
+ #
+ # USB-based Watchdog Cards
+@@ -1686,17 +1688,14 @@ CONFIG_STAGING=y
+ #
+ # Android
+ #
+-CONFIG_ANDROID=y
+-CONFIG_ANDROID_BINDER_IPC=y
+-CONFIG_ANDROID_LOGGER=y
+-CONFIG_ANDROID_RAM_CONSOLE=y
+-CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
+-# CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION is not set
+-# CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT is not set
+-CONFIG_ANDROID_TIMED_GPIO=y
+-CONFIG_ANDROID_LOW_MEMORY_KILLER=y
++# CONFIG_ANDROID is not set
++# CONFIG_ANDROID_BINDER_IPC is not set
++# CONFIG_ANDROID_LOGGER is not set
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+ # CONFIG_ANDROID_WAKELOCK is not set
+-CONFIG_ANDROID_PARANOID_NETWORK=y
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
+
+ #
+ # File systems
+diff --git a/arch/arm/configs/gta02_moredrivers_defconfig b/arch/arm/configs/gta02_moredrivers_defconfig
+index 13b4121..e4fe9a9 100644
+--- a/arch/arm/configs/gta02_moredrivers_defconfig
++++ b/arch/arm/configs/gta02_moredrivers_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Sun Apr 19 23:22:38 2009
++# Fri Oct 2 20:52:45 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_HAVE_PWM=y
+@@ -1782,17 +1782,14 @@ CONFIG_STAGING=y
+ #
+ # Android
+ #
+-CONFIG_ANDROID=y
+-CONFIG_ANDROID_BINDER_IPC=y
+-CONFIG_ANDROID_LOGGER=y
+-CONFIG_ANDROID_RAM_CONSOLE=y
+-CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
+-# CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION is not set
+-# CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT is not set
+-CONFIG_ANDROID_TIMED_GPIO=y
+-CONFIG_ANDROID_LOW_MEMORY_KILLER=y
++# CONFIG_ANDROID is not set
++# CONFIG_ANDROID_BINDER_IPC is not set
++# CONFIG_ANDROID_LOGGER is not set
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+ # CONFIG_ANDROID_WAKELOCK is not set
+-CONFIG_ANDROID_PARANOID_NETWORK=y
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
+
+ #
+ # File systems
+diff --git a/arch/arm/configs/gta02_packaging_defconfig b/arch/arm/configs/gta02_packaging_defconfig
+index 03c72d5..e2dbbef 100644
+--- a/arch/arm/configs/gta02_packaging_defconfig
++++ b/arch/arm/configs/gta02_packaging_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Sun Apr 19 22:57:25 2009
++# Fri Oct 2 20:51:57 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_HAVE_PWM=y
+@@ -1785,17 +1785,14 @@ CONFIG_STAGING=y
+ #
+ # Android
+ #
+-CONFIG_ANDROID=y
+-CONFIG_ANDROID_BINDER_IPC=y
+-CONFIG_ANDROID_LOGGER=y
+-CONFIG_ANDROID_RAM_CONSOLE=y
+-CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
+-# CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION is not set
+-# CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT is not set
+-CONFIG_ANDROID_TIMED_GPIO=y
+-CONFIG_ANDROID_LOW_MEMORY_KILLER=y
++# CONFIG_ANDROID is not set
++# CONFIG_ANDROID_BINDER_IPC is not set
++# CONFIG_ANDROID_LOGGER is not set
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+ # CONFIG_ANDROID_WAKELOCK is not set
+-CONFIG_ANDROID_PARANOID_NETWORK=y
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
+
+ #
+ # File systems
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0003-glamo-spi-missing-semicolon-after-MODULE_AUTHOR.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0003-glamo-spi-missing-semicolon-after-MODULE_AUTHOR.patch
new file mode 100644
index 0000000000..0eed294911
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0003-glamo-spi-missing-semicolon-after-MODULE_AUTHOR.patch
@@ -0,0 +1,39 @@
+From cf7ef93a6d5eff863034fade19d7a1d6bc19789a Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 4 Nov 2009 20:09:03 +0100
+Subject: [PATCH 3/7] glamo-spi: missing semicolon after MODULE_AUTHOR()
+
+Fix compilation error due to missing semicolon
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Paul Fertser <fercerpav@gmail.com>
+---
+ drivers/mfd/glamo/glamo-lcm-spi.c | 2 +-
+ drivers/mfd/glamo/glamo-spi-gpio.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mfd/glamo/glamo-lcm-spi.c b/drivers/mfd/glamo/glamo-lcm-spi.c
+index a7129fe..446f058 100644
+--- a/drivers/mfd/glamo/glamo-lcm-spi.c
++++ b/drivers/mfd/glamo/glamo-lcm-spi.c
+@@ -236,5 +236,5 @@ module_init(glamo_spi_init);
+ module_exit(glamo_spi_exit);
+
+ MODULE_DESCRIPTION("Smedia Glamo 336x/337x LCM serial command SPI Driver");
+-MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>")
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
+ MODULE_LICENSE("GPL");
+diff --git a/drivers/mfd/glamo/glamo-spi-gpio.c b/drivers/mfd/glamo/glamo-spi-gpio.c
+index b92e48a..6ebf498 100644
+--- a/drivers/mfd/glamo/glamo-spi-gpio.c
++++ b/drivers/mfd/glamo/glamo-spi-gpio.c
+@@ -274,5 +274,5 @@ module_init(glamo_spi_init);
+ module_exit(glamo_spi_exit);
+
+ MODULE_DESCRIPTION("Smedia Glamo 336x/337x LCM serial command SPI Driver");
+-MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>")
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
+ MODULE_LICENSE("GPL");
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0004-gta02_drm_defconfig-start-from-gta02_packaging_defco.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0004-gta02_drm_defconfig-start-from-gta02_packaging_defco.patch
new file mode 100644
index 0000000000..adb3ce84e3
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0004-gta02_drm_defconfig-start-from-gta02_packaging_defco.patch
@@ -0,0 +1,129 @@
+From ab6c9baa5cc8ae3a922ae4baef2550d399b41550 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 10:48:28 +0100
+Subject: [PATCH 4/7] gta02_drm_defconfig: start from gta02_packaging_defconfig
+
+---
+ arch/arm/configs/gta02_drm_defconfig | 40 +++++++++++++--------------------
+ 1 files changed, 16 insertions(+), 24 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_drm_defconfig b/arch/arm/configs/gta02_drm_defconfig
+index 5349014..e2dbbef 100644
+--- a/arch/arm/configs/gta02_drm_defconfig
++++ b/arch/arm/configs/gta02_drm_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Thu Jul 2 20:40:33 2009
++# Fri Oct 2 20:51:57 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_HAVE_PWM=y
+@@ -35,7 +35,7 @@ CONFIG_EXPERIMENTAL=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_LOCK_KERNEL=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION="-mokodev"
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+@@ -180,7 +180,7 @@ CONFIG_S3C24XX_PWM=y
+ CONFIG_S3C24XX_GPIO_EXTRA=0
+ CONFIG_S3C2410_DMA=y
+ # CONFIG_S3C2410_DMA_DEBUG is not set
+-# CONFIG_S3C24XX_ADC is not set
++CONFIG_S3C24XX_ADC=y
+ CONFIG_MACH_SMDK=y
+ CONFIG_MACH_NEO1973=y
+ CONFIG_PLAT_S3C=y
+@@ -1084,7 +1084,6 @@ CONFIG_I2C=y
+ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ CONFIG_I2C_HELPER_AUTO=y
+-CONFIG_I2C_ALGOBIT=y
+
+ #
+ # I2C Hardware Bus support
+@@ -1181,7 +1180,7 @@ CONFIG_APM_POWER=y
+ CONFIG_CHARGER_PCF50633=y
+ CONFIG_BATTERY_BQ27000_HDQ=y
+ CONFIG_HDQ_GPIO_BITBANG=y
+-# CONFIG_BATTERY_GTA01 is not set
++CONFIG_BATTERY_GTA01=m
+ CONFIG_HWMON=y
+ # CONFIG_HWMON_VID is not set
+ # CONFIG_SENSORS_AD7414 is not set
+@@ -1283,14 +1282,11 @@ CONFIG_PCF50633_ADC=y
+ CONFIG_PCF50633_GPIO=y
+ # CONFIG_MFD_PCF50606 is not set
+ CONFIG_MFD_GLAMO=y
+-
+-#
+-# SMedia Glamo 336x/337x engine drivers
+-#
+-# CONFIG_MFD_GLAMO_FB is not set
++CONFIG_MFD_GLAMO_FB=y
++CONFIG_MFD_GLAMO_FB_XGLAMO_WORKAROUND=y
+ CONFIG_MFD_GLAMO_SPI_GPIO=y
++CONFIG_MFD_GLAMO_SPI_FB=y
+ CONFIG_MFD_GLAMO_MCI=y
+-CONFIG_MFD_GLAMO_DRM=y
+
+ #
+ # Multimedia devices
+@@ -1312,7 +1308,6 @@ CONFIG_DAB=y
+ #
+ # Graphics support
+ #
+-CONFIG_DRM=y
+ # CONFIG_VGASTATE is not set
+ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ CONFIG_FB=y
+@@ -1790,17 +1785,14 @@ CONFIG_STAGING=y
+ #
+ # Android
+ #
+-CONFIG_ANDROID=y
+-CONFIG_ANDROID_BINDER_IPC=y
+-CONFIG_ANDROID_LOGGER=y
+-CONFIG_ANDROID_RAM_CONSOLE=y
+-CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
+-# CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION is not set
+-# CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT is not set
+-CONFIG_ANDROID_TIMED_GPIO=y
+-CONFIG_ANDROID_LOW_MEMORY_KILLER=y
++# CONFIG_ANDROID is not set
++# CONFIG_ANDROID_BINDER_IPC is not set
++# CONFIG_ANDROID_LOGGER is not set
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+ # CONFIG_ANDROID_WAKELOCK is not set
+-CONFIG_ANDROID_PARANOID_NETWORK=y
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
+
+ #
+ # File systems
+@@ -1958,7 +1950,7 @@ CONFIG_NLS_CODEPAGE_850=m
+ # CONFIG_NLS_CODEPAGE_863 is not set
+ # CONFIG_NLS_CODEPAGE_864 is not set
+ # CONFIG_NLS_CODEPAGE_865 is not set
+-# CONFIG_NLS_CODEPAGE_866 is not set
++CONFIG_NLS_CODEPAGE_866=m
+ # CONFIG_NLS_CODEPAGE_869 is not set
+ CONFIG_NLS_CODEPAGE_936=m
+ CONFIG_NLS_CODEPAGE_950=m
+@@ -1967,7 +1959,7 @@ CONFIG_NLS_CODEPAGE_950=m
+ # CONFIG_NLS_CODEPAGE_874 is not set
+ # CONFIG_NLS_ISO8859_8 is not set
+ # CONFIG_NLS_CODEPAGE_1250 is not set
+-# CONFIG_NLS_CODEPAGE_1251 is not set
++CONFIG_NLS_CODEPAGE_1251=m
+ # CONFIG_NLS_ASCII is not set
+ CONFIG_NLS_ISO8859_1=y
+ # CONFIG_NLS_ISO8859_2 is not set
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0005-Enable-DRM-and-MFD_GLAMO_DRM.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0005-Enable-DRM-and-MFD_GLAMO_DRM.patch
new file mode 100644
index 0000000000..c9d56fa7ab
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0005-Enable-DRM-and-MFD_GLAMO_DRM.patch
@@ -0,0 +1,51 @@
+From 8fe4cb1bee0c8af760d8911c248e0904e44fa0b3 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 10:49:43 +0100
+Subject: [PATCH 5/7] Enable DRM and MFD_GLAMO_DRM
+
+---
+ arch/arm/configs/gta02_drm_defconfig | 12 ++++++++----
+ 1 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_drm_defconfig b/arch/arm/configs/gta02_drm_defconfig
+index e2dbbef..aac2832 100644
+--- a/arch/arm/configs/gta02_drm_defconfig
++++ b/arch/arm/configs/gta02_drm_defconfig
+@@ -35,7 +35,7 @@ CONFIG_EXPERIMENTAL=y
+ CONFIG_BROKEN_ON_SMP=y
+ CONFIG_LOCK_KERNEL=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-CONFIG_LOCALVERSION="-mokodev"
++CONFIG_LOCALVERSION="-drm"
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+@@ -1282,11 +1282,14 @@ CONFIG_PCF50633_ADC=y
+ CONFIG_PCF50633_GPIO=y
+ # CONFIG_MFD_PCF50606 is not set
+ CONFIG_MFD_GLAMO=y
+-CONFIG_MFD_GLAMO_FB=y
+-CONFIG_MFD_GLAMO_FB_XGLAMO_WORKAROUND=y
++
++#
++# SMedia Glamo 336x/337x engine drivers
++#
++# CONFIG_MFD_GLAMO_FB is not set
+ CONFIG_MFD_GLAMO_SPI_GPIO=y
+-CONFIG_MFD_GLAMO_SPI_FB=y
+ CONFIG_MFD_GLAMO_MCI=y
++CONFIG_MFD_GLAMO_DRM=y
+
+ #
+ # Multimedia devices
+@@ -1308,6 +1311,7 @@ CONFIG_DAB=y
+ #
+ # Graphics support
+ #
++CONFIG_DRM=y
+ # CONFIG_VGASTATE is not set
+ CONFIG_VIDEO_OUTPUT_CONTROL=y
+ CONFIG_FB=y
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0006-Enable-I2C_ALGOBIT-from-make-oldconfig.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0006-Enable-I2C_ALGOBIT-from-make-oldconfig.patch
new file mode 100644
index 0000000000..79305ce317
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0006-Enable-I2C_ALGOBIT-from-make-oldconfig.patch
@@ -0,0 +1,33 @@
+From 315bd3c8c368cf8097e3b0aecd21907755b617e1 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 10:54:55 +0100
+Subject: [PATCH 6/7] Enable I2C_ALGOBIT, from make oldconfig
+
+---
+ arch/arm/configs/gta02_drm_defconfig | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_drm_defconfig b/arch/arm/configs/gta02_drm_defconfig
+index aac2832..e17ddc3 100644
+--- a/arch/arm/configs/gta02_drm_defconfig
++++ b/arch/arm/configs/gta02_drm_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Fri Oct 2 20:51:57 2009
++# Sun Nov 8 10:53:31 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_HAVE_PWM=y
+@@ -1084,6 +1084,7 @@ CONFIG_I2C=y
+ CONFIG_I2C_BOARDINFO=y
+ CONFIG_I2C_CHARDEV=y
+ CONFIG_I2C_HELPER_AUTO=y
++CONFIG_I2C_ALGOBIT=y
+
+ #
+ # I2C Hardware Bus support
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/0007-Enable-UBI-UBIFS.patch b/recipes/linux/linux-openmoko-shr-drm-devel/0007-Enable-UBI-UBIFS.patch
new file mode 100644
index 0000000000..f7dd7615af
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/0007-Enable-UBI-UBIFS.patch
@@ -0,0 +1,90 @@
+From 8f907c17c068beb94264a4a6d40314658a0c1393 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 8 Nov 2009 10:58:28 +0100
+Subject: [PATCH 7/7] Enable UBI/UBIFS
+
+---
+ arch/arm/configs/gta02_drm_defconfig | 39 ++++++++++++++++++++++++++++++---
+ 1 files changed, 35 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/configs/gta02_drm_defconfig b/arch/arm/configs/gta02_drm_defconfig
+index e17ddc3..7506963 100644
+--- a/arch/arm/configs/gta02_drm_defconfig
++++ b/arch/arm/configs/gta02_drm_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Sun Nov 8 10:53:31 2009
++# Sun Nov 8 10:57:36 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_HAVE_PWM=y
+@@ -806,7 +806,30 @@ CONFIG_MTD_NAND_S3C2410_HWECC=y
+ #
+ # UBI - Unsorted block images
+ #
+-# CONFIG_MTD_UBI is not set
++CONFIG_MTD_UBI=y
++CONFIG_MTD_UBI_WL_THRESHOLD=4096
++CONFIG_MTD_UBI_BEB_RESERVE=1
++CONFIG_MTD_UBI_GLUEBI=y
++
++#
++# UBI debugging options
++#
++CONFIG_MTD_UBI_DEBUG=y
++CONFIG_MTD_UBI_DEBUG_MSG=y
++# CONFIG_MTD_UBI_DEBUG_PARANOID is not set
++# CONFIG_MTD_UBI_DEBUG_DISABLE_BGT is not set
++# CONFIG_MTD_UBI_DEBUG_USERSPACE_IO is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_BITFLIPS is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_WRITE_FAILURES is not set
++# CONFIG_MTD_UBI_DEBUG_EMULATE_ERASE_FAILURES is not set
++
++#
++# Additional UBI debugging messages
++#
++CONFIG_MTD_UBI_DEBUG_MSG_BLD=y
++CONFIG_MTD_UBI_DEBUG_MSG_EBA=y
++CONFIG_MTD_UBI_DEBUG_MSG_WL=y
++CONFIG_MTD_UBI_DEBUG_MSG_IO=y
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+ # CONFIG_BLK_DEV_COW_COMMON is not set
+@@ -1877,6 +1900,12 @@ CONFIG_JFFS2_ZLIB=y
+ # CONFIG_JFFS2_LZO is not set
+ CONFIG_JFFS2_RTIME=y
+ # CONFIG_JFFS2_RUBIN is not set
++CONFIG_UBIFS_FS=y
++# CONFIG_UBIFS_FS_XATTR is not set
++# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
++CONFIG_UBIFS_FS_LZO=y
++CONFIG_UBIFS_FS_ZLIB=y
++# CONFIG_UBIFS_FS_DEBUG is not set
+ CONFIG_CRAMFS=y
+ CONFIG_SQUASHFS=m
+ # CONFIG_SQUASHFS_EMBEDDED is not set
+@@ -2151,8 +2180,8 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
+ #
+ # Compression
+ #
+-CONFIG_CRYPTO_DEFLATE=m
+-# CONFIG_CRYPTO_LZO is not set
++CONFIG_CRYPTO_DEFLATE=y
++CONFIG_CRYPTO_LZO=y
+
+ #
+ # Random Number Generation
+@@ -2174,6 +2203,8 @@ CONFIG_CRC32=y
+ CONFIG_LIBCRC32C=m
+ CONFIG_ZLIB_INFLATE=y
+ CONFIG_ZLIB_DEFLATE=y
++CONFIG_LZO_COMPRESS=y
++CONFIG_LZO_DECOMPRESS=y
+ CONFIG_TEXTSEARCH=y
+ CONFIG_TEXTSEARCH_KMP=m
+ CONFIG_TEXTSEARCH_BM=m
+--
+1.6.5.2
+
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel/fix-install.patch b/recipes/linux/linux-openmoko-shr-drm-devel/fix-install.patch
new file mode 100644
index 0000000000..b14ca7d740
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel/fix-install.patch
@@ -0,0 +1,23 @@
+From: Steve Sakoman <steve@sakoman.com>
+Date: Mon, 18 Aug 2008 16:07:31 +0000 (-0700)
+Subject: scripts/Makefile.fwinst: add missing space when setting mode in cmd_install
+X-Git-Url: http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff_plain;h=f039944bdd491cde7327133e9976881d3133ae70
+
+scripts/Makefile.fwinst: add missing space when setting mode in cmd_install
+
+This was causing build failures on some machines
+---
+
+diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst
+index 6bf8e87..fb20532 100644
+--- a/scripts/Makefile.fwinst
++++ b/scripts/Makefile.fwinst
+@@ -37,7 +37,7 @@
+ @true
+
+ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@)
+- cmd_install = $(INSTALL) -m0644 $< $@
++ cmd_install = $(INSTALL) -m 0644 $< $@
+
+ $(installed-fw-dirs):
+ $(call cmd,mkdir)
diff --git a/recipes/linux/linux-openmoko-shr-drm-devel_git.bb b/recipes/linux/linux-openmoko-shr-drm-devel_git.bb
new file mode 100644
index 0000000000..12627cdf43
--- /dev/null
+++ b/recipes/linux/linux-openmoko-shr-drm-devel_git.bb
@@ -0,0 +1,35 @@
+require linux.inc
+require linux-openmoko.inc
+
+DESCRIPTION_${PN} = "Linux ${KERNEL_VERSION} kernel for the Openmoko Neo GSM Smartphones"
+
+DEFAULT_PREFERENCE = "-1"
+KERNEL_RELEASE = "2.6.29"
+KERNEL_VERSION = "2.6.29-rc3-drm"
+
+OMV = "oe14"
+PV = "${KERNEL_RELEASE}-drm-${OMV}+gitr${SRCPV}"
+PR = "r2"
+
+SRC_URI = "\
+# git://git.openmoko.org/git/kernel.git;protocol=git;branch=drm-tracking \
+ git://git.bitwiz.org.uk/kernel.git;protocol=git;branch=kms-tests \
+ file://fix-install.patch;patch=1 \
+ file://0001-Add-drm-to-Makefile-version.patch;patch=1 \
+ file://0001-Fix-s3c-adc-suspend.patch;patch=1 \
+ file://0002-GTA01-GTA02-disable-android-drivers-in-default-confi.patch;patch=1 \
+ file://0003-glamo-spi-missing-semicolon-after-MODULE_AUTHOR.patch;patch=1 \
+ file://0004-gta02_drm_defconfig-start-from-gta02_packaging_defco.patch;patch=1 \
+ file://0005-Enable-DRM-and-MFD_GLAMO_DRM.patch;patch=1 \
+ file://0006-Enable-I2C_ALGOBIT-from-make-oldconfig.patch;patch=1 \
+ file://0007-Enable-UBI-UBIFS.patch;patch=1 \
+"
+S = "${WORKDIR}/git"
+
+CONFIG_NAME_om-gta01 = "gta01_moredrivers_defconfig"
+CONFIG_NAME_om-gta02 = "gta02_drm_defconfig"
+CONFIG_NAME_om-gta03 = "gta03_defconfig"
+
+do_configure_prepend() {
+ install -m 644 ./arch/arm/configs/${CONFIG_NAME} ${WORKDIR}/defconfig-oe
+}