summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2008-02-13 11:15:20 +0000
committerMichael Lauer <mickey@vanille-media.de>2008-02-13 11:15:20 +0000
commit784e9e1768bfef0341ec13b7d17b32d98dafaef3 (patch)
tree42aeafee932d81641e82de922bcdc71b66e9f5b8
parent403333e2d7c0ff87a0a449d7f2d014d941a20d8a (diff)
parent32e690935379493f478d1b7a1cd43fce486083da (diff)
merge of '054216fcb27d4211cd8948d7407878afe1bbf15c'
and 'f26d3059129388297f1542283ce17d100f8c8acc'
-rw-r--r--classes/image.bbclass1
-rw-r--r--conf/bitbake.conf6
-rw-r--r--conf/distro/include/angstrom.inc2
-rw-r--r--conf/machine/davinci-sffsdr.conf2
-rw-r--r--packages/anki/.mtn2git_empty0
-rw-r--r--packages/anki/anki.inc15
-rw-r--r--packages/anki/anki_0.4.3.bb9
-rw-r--r--packages/anki/files/.mtn2git_empty0
-rw-r--r--packages/anki/files/no-need-for-pyqt-at-buildtime.patch28
-rw-r--r--packages/anki/libanki_0.4.3.bb5
-rw-r--r--packages/gpe-login/files/gpe-xcalibrate-rises-from-dead.patch2
-rw-r--r--packages/gpe-login/files/lock-on-supend.patch2
-rw-r--r--packages/gpe-login/files/size-autolock-properly.patch2
-rw-r--r--packages/keylaunch/files/unbreak-keyevents.patch2
-rw-r--r--packages/libpcap/libpcap.inc33
-rw-r--r--packages/libpcap/libpcap_0.9.3.bb33
-rw-r--r--packages/libpcap/libpcap_0.9.5.bb33
-rw-r--r--packages/libpcap/libpcap_0.9.6.bb37
-rw-r--r--packages/linux/linux-davinci/davinci-nand.patch905
-rw-r--r--packages/linux/linux-davinci/davinci-sffsdr/defconfig85
-rw-r--r--packages/linux/linux-davinci_2.6.x+git-davinci.bb1
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig14
-rw-r--r--packages/linux/linux-handhelds-2.6.inc5
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb2
-rw-r--r--packages/rxtx/rxtx_2.1-7r2.bb13
-rw-r--r--packages/swt/swt-gtk.inc3
-rw-r--r--packages/xorg-driver/xf86-input-acecad_1.2.2.bb5
-rw-r--r--packages/xorg-driver/xf86-video-trident_1.2.4.bb5
-rw-r--r--packages/xorg-driver/xorg-driver-common.inc2
52 files changed, 1244 insertions, 330 deletions
diff --git a/classes/image.bbclass b/classes/image.bbclass
index ca9c9458e1..d70cfa5daf 100644
--- a/classes/image.bbclass
+++ b/classes/image.bbclass
@@ -90,6 +90,7 @@ fakeroot do_rootfs () {
${IMAGE_PREPROCESS_COMMAND}
export TOPDIR=${TOPDIR}
+ export DISTRO=${USERDISTRO}
export MACHINE=${MACHINE}
for type in ${IMAGE_FSTYPES}; do
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index ac2d281123..27a04a028c 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -529,6 +529,10 @@ OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUIL
include conf/site.conf
include conf/auto.conf
include conf/local.conf
+# USERDISTRO should always contain original DISTRO value as set by user
+# If a distro config overrides DISTRO for whatever reason (e.g. to get
+# overrides like it wants), USERDISTRO must be reassigned with := first
+USERDISTRO = "${DISTRO}"
include conf/build/${BUILD_SYS}.conf
include conf/target/${TARGET_SYS}.conf
include conf/machine/${MACHINE}.conf
@@ -541,7 +545,7 @@ require conf/sanity.conf
##################################################################
DL_DIR ?= "${TMPDIR}/downloads"
-IMAGE_FSTYPES ?= "jffs2"
+IMAGE_FSTYPES ?= "tar.gz"
PCMCIA_MANAGER ?= "pcmcia-cs"
DEFAULT_TASK_PROVIDER ?= "task-base"
MACHINE_TASK_PROVIDER ?= "${DEFAULT_TASK_PROVIDER}"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index fe216800c3..6ba20c4830 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -2,6 +2,8 @@
#@NAME: Angstrom
#@DESCRIPTION: Release independent distribution configuration for Angstrom
+# Preserve original DISTRO value
+USERDISTRO := "${DISTRO}"
DISTRO = "angstrom"
DISTRO_NAME = "Angstrom"
diff --git a/conf/machine/davinci-sffsdr.conf b/conf/machine/davinci-sffsdr.conf
index ecff6fae13..faf86c5ed0 100644
--- a/conf/machine/davinci-sffsdr.conf
+++ b/conf/machine/davinci-sffsdr.conf
@@ -19,7 +19,7 @@ EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
#ROOT_FLASH_SIZE = "29"
-MACHINE_FEATURES = "kernel26 pcmcia usbhost alsa"
+MACHINE_FEATURES = "kernel26 serial"
require conf/machine/include/tune-arm926ejs.inc
diff --git a/packages/anki/.mtn2git_empty b/packages/anki/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/anki/.mtn2git_empty
diff --git a/packages/anki/anki.inc b/packages/anki/anki.inc
new file mode 100644
index 0000000000..e9a71c286b
--- /dev/null
+++ b/packages/anki/anki.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "Anki is a program designed to help you remember facts \
+(such as words and phrases in a foreign language) \
+as easily, quickly and efficiently as possible"
+HOMEPAGE = "http://ichi2.net/anki/"
+AUTHOR = "Damien Elmes"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+RDEPENDS = "python-pyqt"
+RRECOMMENDS = "kakasi virtual/japanese-font"
+
+SRC_URI = "http://ichi2.net/anki/download/anki-${PV}.tgz"
+
+inherit setuptools
+
+PACKAGE_ARCH = "all"
diff --git a/packages/anki/anki_0.4.3.bb b/packages/anki/anki_0.4.3.bb
new file mode 100644
index 0000000000..5d0c8fabe7
--- /dev/null
+++ b/packages/anki/anki_0.4.3.bb
@@ -0,0 +1,9 @@
+require anki.inc
+
+RDEPENDS += "libanki"
+PR = "r0"
+
+export PV
+
+SRC_URI += "file://no-need-for-pyqt-at-buildtime.patch;patch=1"
+S = "${WORKDIR}/anki-${PV}"
diff --git a/packages/anki/files/.mtn2git_empty b/packages/anki/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/anki/files/.mtn2git_empty
diff --git a/packages/anki/files/no-need-for-pyqt-at-buildtime.patch b/packages/anki/files/no-need-for-pyqt-at-buildtime.patch
new file mode 100644
index 0000000000..56cfec4999
--- /dev/null
+++ b/packages/anki/files/no-need-for-pyqt-at-buildtime.patch
@@ -0,0 +1,28 @@
+#
+# (C) Michael 'Mickey' Lauer <mlauer@vanille-media.de>
+#
+Index: anki-0.4.3/setup.py
+===================================================================
+--- anki-0.4.3.orig/setup.py 2008-02-12 19:17:56.000000000 +0000
++++ anki-0.4.3/setup.py 2008-02-12 19:19:29.000000000 +0000
+@@ -3,10 +3,8 @@
+ from setuptools import setup, find_packages
+ import sys, os
+
+-import ankiqt
+-
+ setup(name='ankiqt',
+- version=ankiqt.appVersion,
++ version=os.environ["PV"],
+ description='An intelligent spaced-repetition memory training program',
+ long_description="",
+ # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers
+@@ -24,7 +22,7 @@
+ license='GPLv2',
+ packages=find_packages(),
+ include_package_data=True,
+- install_requires = 'anki >= ' + ankiqt.appVersion,
++ install_requires = 'anki >= ' + os.environ["PV"],
+ zip_safe=False,
+ package_data={'ankiqt':
+ ['locale/*/*/*']},
diff --git a/packages/anki/libanki_0.4.3.bb b/packages/anki/libanki_0.4.3.bb
new file mode 100644
index 0000000000..ac33833790
--- /dev/null
+++ b/packages/anki/libanki_0.4.3.bb
@@ -0,0 +1,5 @@
+require anki.inc
+
+PR = "r0"
+
+S = "${WORKDIR}/anki-${PV}/libanki"
diff --git a/packages/gpe-login/files/gpe-xcalibrate-rises-from-dead.patch b/packages/gpe-login/files/gpe-xcalibrate-rises-from-dead.patch
index afad073acf..d1745f0897 100644
--- a/packages/gpe-login/files/gpe-xcalibrate-rises-from-dead.patch
+++ b/packages/gpe-login/files/gpe-xcalibrate-rises-from-dead.patch
@@ -1,3 +1,5 @@
+upstream: http://bugs.linuxtogo.org/show_bug.cgi?id=124
+
diff -r 976c01632fea gpe-login.keylaunchrc
--- a/gpe-login.keylaunchrc Sun Nov 25 22:39:23 2007 +0200
+++ b/gpe-login.keylaunchrc Mon Nov 26 01:12:14 2007 +0200
diff --git a/packages/gpe-login/files/lock-on-supend.patch b/packages/gpe-login/files/lock-on-supend.patch
index 2aeb20f1ea..29ccce5ae6 100644
--- a/packages/gpe-login/files/lock-on-supend.patch
+++ b/packages/gpe-login/files/lock-on-supend.patch
@@ -1,3 +1,5 @@
+upstream: http://bugs.linuxtogo.org/show_bug.cgi?id=125
+
Lock screen when device goes to suspend, not after some time has passed
since resume and they stole your data from the unprotected screen.
diff --git a/packages/gpe-login/files/size-autolock-properly.patch b/packages/gpe-login/files/size-autolock-properly.patch
index b8e2cd6f4f..cf2978f34d 100644
--- a/packages/gpe-login/files/size-autolock-properly.patch
+++ b/packages/gpe-login/files/size-autolock-properly.patch
@@ -1,3 +1,5 @@
+upstream: http://bugs.linuxtogo.org/show_bug.cgi?id=152
+
# HG changeset patch
# User "Paul Sokolovsky <pfalcon@users.sourceforge.net>"
# Date 1196345352 -7200
diff --git a/packages/keylaunch/files/unbreak-keyevents.patch b/packages/keylaunch/files/unbreak-keyevents.patch
index 0a2d58b16a..ee13cc9a63 100644
--- a/packages/keylaunch/files/unbreak-keyevents.patch
+++ b/packages/keylaunch/files/unbreak-keyevents.patch
@@ -1,3 +1,5 @@
+upstream: http://bugs.linuxtogo.org/show_bug.cgi?id=123
+
# HG changeset patch
# User "Paul Sokolovsky <pfalcon@users.sourceforge.net>"
# Date 1196027570 -7200
diff --git a/packages/libpcap/libpcap.inc b/packages/libpcap/libpcap.inc
new file mode 100644
index 0000000000..f2e5d3072b
--- /dev/null
+++ b/packages/libpcap/libpcap.inc
@@ -0,0 +1,33 @@
+DESCRIPTION = "Network Packet Capture Library"
+HOMEPAGE = "http://www.tcpdump.org/"
+SECTION = "libs/network"
+LICENSE = "BSD"
+DEPENDS = "flex-native bison-native"
+
+# Don't forget to edit shared.patch to have the correct version number inside
+SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz \
+ file://shared.patch;patch=1"
+
+inherit autotools
+
+EXTRA_OECONF = "--with-pcap=linux"
+
+CPPFLAGS_prepend = "-I${S} "
+CFLAGS_prepend = "-I${S} "
+CXXFLAGS_prepend = "-I${S} "
+
+do_configure_prepend () {
+ if [ ! -e acinclude.m4 ]; then
+ cat aclocal.m4 > acinclude.m4
+ fi
+}
+
+do_stage () {
+ install -m 0644 pcap.h ${STAGING_INCDIR}/pcap.h
+ install -m 0644 pcap-namedb.h ${STAGING_INCDIR}/pcap-namedb.h
+ install -m 0644 pcap-bpf.h ${STAGING_INCDIR}/pcap-bpf.h
+ oe_libinstall -a -so libpcap ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/net
+ ln -sf ${STAGING_INCDIR}/pcap-bpf.h ${STAGING_INCDIR}/net/bpf.h
+ install -m 0644 acinclude.m4 ${STAGING_DATADIR}/aclocal/libpcap.m4
+}
diff --git a/packages/libpcap/libpcap_0.9.3.bb b/packages/libpcap/libpcap_0.9.3.bb
index 5d66687482..865e57ab93 100644
--- a/packages/libpcap/libpcap_0.9.3.bb
+++ b/packages/libpcap/libpcap_0.9.3.bb
@@ -1,32 +1,3 @@
-DESCRIPTION = "Network Packet Capture Library"
-HOMEPAGE = "http://www.tcpdump.org/"
-LICENSE = "BSD"
-SECTION = "libs/network"
-PR = "r1"
+require libpcap.inc
-SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz \
- file://shared.patch;patch=1"
-
-inherit autotools
-
-EXTRA_OECONF = "--with-pcap=linux"
-
-CPPFLAGS_prepend = "-I${S} "
-CFLAGS_prepend = "-I${S} "
-CXXFLAGS_prepend = "-I${S} "
-
-do_configure_prepend () {
- if [ ! -e acinclude.m4 ]; then
- cat aclocal.m4 > acinclude.m4
- fi
-}
-
-do_stage () {
- install -m 0644 pcap.h ${STAGING_INCDIR}/pcap.h
- install -m 0644 pcap-namedb.h ${STAGING_INCDIR}/pcap-namedb.h
- install -m 0644 pcap-bpf.h ${STAGING_INCDIR}/pcap-bpf.h
- oe_libinstall -a -so libpcap ${STAGING_LIBDIR}
- install -d ${STAGING_INCDIR}/net
- ln -sf ${STAGING_INCDIR}/pcap-bpf.h ${STAGING_INCDIR}/net/bpf.h
- install -m 0644 acinclude.m4 ${STAGING_DATADIR}/aclocal/libpcap.m4
-}
+PR = "r2"
diff --git a/packages/libpcap/libpcap_0.9.5.bb b/packages/libpcap/libpcap_0.9.5.bb
index 5d66687482..865e57ab93 100644
--- a/packages/libpcap/libpcap_0.9.5.bb
+++ b/packages/libpcap/libpcap_0.9.5.bb
@@ -1,32 +1,3 @@
-DESCRIPTION = "Network Packet Capture Library"
-HOMEPAGE = "http://www.tcpdump.org/"
-LICENSE = "BSD"
-SECTION = "libs/network"
-PR = "r1"
+require libpcap.inc
-SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz \
- file://shared.patch;patch=1"
-
-inherit autotools
-
-EXTRA_OECONF = "--with-pcap=linux"
-
-CPPFLAGS_prepend = "-I${S} "
-CFLAGS_prepend = "-I${S} "
-CXXFLAGS_prepend = "-I${S} "
-
-do_configure_prepend () {
- if [ ! -e acinclude.m4 ]; then
- cat aclocal.m4 > acinclude.m4
- fi
-}
-
-do_stage () {
- install -m 0644 pcap.h ${STAGING_INCDIR}/pcap.h
- install -m 0644 pcap-namedb.h ${STAGING_INCDIR}/pcap-namedb.h
- install -m 0644 pcap-bpf.h ${STAGING_INCDIR}/pcap-bpf.h
- oe_libinstall -a -so libpcap ${STAGING_LIBDIR}
- install -d ${STAGING_INCDIR}/net
- ln -sf ${STAGING_INCDIR}/pcap-bpf.h ${STAGING_INCDIR}/net/bpf.h
- install -m 0644 acinclude.m4 ${STAGING_DATADIR}/aclocal/libpcap.m4
-}
+PR = "r2"
diff --git a/packages/libpcap/libpcap_0.9.6.bb b/packages/libpcap/libpcap_0.9.6.bb
index 9822f38ada..865e57ab93 100644
--- a/packages/libpcap/libpcap_0.9.6.bb
+++ b/packages/libpcap/libpcap_0.9.6.bb
@@ -1,36 +1,3 @@
-# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
-DESCRIPTION = "Network Packet Capture Library"
-HOMEPAGE = "http://www.tcpdump.org/"
-LICENSE = "BSD"
-SECTION = "libs/network"
-PR = "r1"
+require libpcap.inc
-
-# Don't forget to edit shared.patch to have the correct version number inside
-SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz \
- file://shared.patch;patch=1"
-
-inherit autotools
-
-EXTRA_OECONF = "--with-pcap=linux"
-
-CPPFLAGS_prepend = "-I${S} "
-CFLAGS_prepend = "-I${S} "
-CXXFLAGS_prepend = "-I${S} "
-
-do_configure_prepend () {
- if [ ! -e acinclude.m4 ]; then
- cat aclocal.m4 > acinclude.m4
- fi
-}
-
-do_stage () {
- install -m 0644 pcap.h ${STAGING_INCDIR}/pcap.h
- install -m 0644 pcap-namedb.h ${STAGING_INCDIR}/pcap-namedb.h
- install -m 0644 pcap-bpf.h ${STAGING_INCDIR}/pcap-bpf.h
- oe_libinstall -a -so libpcap ${STAGING_LIBDIR}
- install -d ${STAGING_INCDIR}/net
- ln -sf ${STAGING_INCDIR}/pcap-bpf.h ${STAGING_INCDIR}/net/bpf.h
- install -m 0644 acinclude.m4 ${STAGING_DATADIR}/aclocal/libpcap.m4
-}
+PR = "r2"
diff --git a/packages/linux/linux-davinci/davinci-nand.patch b/packages/linux/linux-davinci/davinci-nand.patch
new file mode 100644
index 0000000000..33e53cf095
--- /dev/null
+++ b/packages/linux/linux-davinci/davinci-nand.patch
@@ -0,0 +1,905 @@
+Index: linux-davinci/drivers/mtd/nand/davinci_nand.c
+===================================================================
+--- /dev/null
++++ linux-davinci/drivers/mtd/nand/davinci_nand.c
+@@ -0,0 +1,638 @@
++/*
++ * linux/drivers/mtd/nand/davinci_nand.c
++ *
++ * NAND Flash Driver
++ *
++ * Copyright (C) 2006 Texas Instruments.
++ *
++ * ported to 2.6.23 (C) 2008 by
++ * Sander Huijsen <Shuijsen@optelecom-nkf.com>
++ * Troy Kisky <troy.kisky@boundarydevices.com>
++ * Dirk Behme <Dirk.Behme@gmail.com>
++ *
++ * --------------------------------------------------------------------------
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ * --------------------------------------------------------------------------
++ *
++ * Overview:
++ * This is a device driver for the NAND flash device found on the
++ * DaVinci board which utilizes the Samsung k9k2g08 part.
++ *
++ * Modifications:
++ * ver. 1.0: Feb 2005, Vinod/Sudhakar
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/err.h>
++#include <linux/clk.h>
++#include <linux/io.h>
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/partitions.h>
++
++#include <asm/arch/hardware.h>
++#include <asm/arch/nand.h>
++#include <asm/arch/mux.h>
++
++#include <asm/mach/flash.h>
++
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++#define DAVINCI_NAND_ECC_MODE NAND_ECC_HW3_512
++#else
++#define DAVINCI_NAND_ECC_MODE NAND_ECC_SOFT
++#endif
++
++#define DRIVER_NAME "davinci_nand"
++
++static struct clk *nand_clock;
++static void __iomem *nand_vaddr;
++
++/*
++ * MTD structure for DaVinici board
++ */
++static struct mtd_info *nand_davinci_mtd;
++
++#ifdef CONFIG_MTD_PARTITIONS
++const char *part_probes[] = { "cmdlinepart", NULL };
++#endif
++
++static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
++
++/* BB marker is byte 5 in OOB of page 0 */
++static struct nand_bbt_descr davinci_memorybased_small = {
++ .options = NAND_BBT_SCAN2NDPAGE,
++ .offs = 5,
++ .len = 1,
++ .pattern = scan_ff_pattern
++};
++
++/* BB marker is bytes 0-1 in OOB of page 0 */
++static struct nand_bbt_descr davinci_memorybased_large = {
++ .options = 0,
++ .offs = 0,
++ .len = 2,
++ .pattern = scan_ff_pattern
++};
++
++inline unsigned int davinci_nand_readl(int offset)
++{
++ return davinci_readl(DAVINCI_ASYNC_EMIF_CNTRL_BASE + offset);
++}
++
++inline void davinci_nand_writel(unsigned long value, int offset)
++{
++ davinci_writel(value, DAVINCI_ASYNC_EMIF_CNTRL_BASE + offset);
++}
++
++/*
++ * Hardware specific access to control-lines
++ */
++static void nand_davinci_hwcontrol(struct mtd_info *mtd, int cmd,
++ unsigned int ctrl)
++{
++ struct nand_chip *chip = mtd->priv;
++ u32 IO_ADDR_W = (u32)chip->IO_ADDR_W;
++
++ /* Did the control lines change? */
++ if (ctrl & NAND_CTRL_CHANGE) {
++ IO_ADDR_W &= ~(MASK_ALE|MASK_CLE);
++
++ if ((ctrl & NAND_CTRL_CLE) == NAND_CTRL_CLE)
++ IO_ADDR_W |= MASK_CLE;
++ else if ((ctrl & NAND_CTRL_ALE) == NAND_CTRL_ALE)
++ IO_ADDR_W |= MASK_ALE;
++
++ chip->IO_ADDR_W = (void __iomem *)IO_ADDR_W;
++ }
++
++ if (cmd != NAND_CMD_NONE)
++ writeb(cmd, chip->IO_ADDR_W);
++}
++
++static void nand_davinci_select_chip(struct mtd_info *mtd, int chip)
++{
++ /* do nothing */
++}
++
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++static void nand_davinci_enable_hwecc(struct mtd_info *mtd, int mode)
++{
++ u32 retval;
++
++ /* Reset ECC hardware */
++ retval = davinci_nand_readl(NANDF1ECC_OFFSET);
++
++ /* Restart ECC hardware */
++ retval = davinci_nand_readl(NANDFCR_OFFSET);
++ retval |= (1 << 8);
++ davinci_nand_writel(retval, NANDFCR_OFFSET);
++}
++
++/*
++ * Read DaVinci ECC register
++ */
++static u32 nand_davinci_readecc(struct mtd_info *mtd)
++{
++ /* Read register ECC and clear it */
++ return davinci_nand_readl(NANDF1ECC_OFFSET);
++}
++
++/*
++ * Read DaVinci ECC registers and rework into MTD format
++ */
++static int nand_davinci_calculate_ecc(struct mtd_info *mtd,
++ const u_char *dat, u_char *ecc_code)
++{
++ unsigned int ecc_val = nand_davinci_readecc(mtd);
++ /* squeeze 0 middle bits out so that it fits in 3 bytes */
++ unsigned int tmp = (ecc_val&0x0fff)|((ecc_val&0x0fff0000)>>4);
++ /* invert so that erased block ecc is correct */
++ tmp = ~tmp;
++ ecc_code[0] = (u_char)(tmp);
++ ecc_code[1] = (u_char)(tmp >> 8);
++ ecc_code[2] = (u_char)(tmp >> 16);
++
++ return 0;
++}
++
++static int nand_davinci_correct_data(struct mtd_info *mtd, u_char *dat,
++ u_char *read_ecc, u_char *calc_ecc)
++{
++ struct nand_chip *chip = mtd->priv;
++ u_int32_t eccNand = read_ecc[0] | (read_ecc[1] << 8) |
++ (read_ecc[2] << 16);
++ u_int32_t eccCalc = calc_ecc[0] | (calc_ecc[1] << 8) |
++ (calc_ecc[2] << 16);
++ u_int32_t diff = eccCalc ^ eccNand;
++
++ if (diff) {
++ if ((((diff>>12)^diff) & 0xfff) == 0xfff) {
++ /* Correctable error */
++ if ((diff>>(12+3)) < chip->ecc.size) {
++ dat[diff>>(12+3)] ^= (1 << ((diff>>12)&7));
++ return 1;
++ } else {
++ return -1;
++ }
++ } else if (!(diff & (diff-1))) {
++ /* Single bit ECC error in the ECC itself,
++ nothing to fix */
++ return 1;
++ } else {
++ /* Uncorrectable error */
++ return -1;
++ }
++
++ }
++ return 0;
++}
++#endif
++
++/*
++ * Read OOB data from flash.
++ */
++static int read_oob_and_check(struct mtd_info *mtd, loff_t offs, uint8_t *buf,
++ struct nand_bbt_descr *bd)
++{
++ int i, ret;
++ int page;
++ struct nand_chip *chip = mtd->priv;
++
++ /* Calculate page address from offset */
++ page = (int)(offs >> chip->page_shift);
++ page &= chip->pagemask;
++
++ /* Read OOB data from flash */
++ ret = chip->ecc.read_oob(mtd, chip, page, 1);
++ if (ret < 0)
++ return ret;
++
++ /* Copy read OOB data to the buffer*/
++ memcpy(buf, chip->oob_poi, mtd->oobsize);
++
++ /* Check pattern against BBM in OOB area */
++ for (i = 0; i < bd->len; i++) {
++ if (buf[bd->offs + i] != bd->pattern[i])
++ return 1;
++ }
++ return 0;
++}
++
++/*
++ * Fill in the memory based Bad Block Table (BBT).
++ */
++static int nand_davinci_memory_bbt(struct mtd_info *mtd,
++ struct nand_bbt_descr *bd)
++{
++ int i, numblocks;
++ int startblock = 0;
++ loff_t from = 0;
++ struct nand_chip *chip = mtd->priv;
++ int blocksize = 1 << chip->bbt_erase_shift;
++ uint8_t *buf = chip->buffers->databuf;
++ int len = bd->options & NAND_BBT_SCAN2NDPAGE ? 2 : 1;
++
++ /* -numblocks- is 2 times the actual number of eraseblocks */
++ numblocks = mtd->size >> (chip->bbt_erase_shift - 1);
++
++ /* Now loop through all eraseblocks in the flash */
++ for (i = startblock; i < numblocks; i += 2) {
++ int j, ret;
++ int offs = from;
++
++ /* If NAND_BBT_SCAN2NDPAGE flag is set in bd->options,
++ * also each 2nd page of an eraseblock is checked
++ * for a Bad Block Marker. In that case, len equals 2.
++ */
++ for (j = 0; j < len; j++) {
++ /* Read OOB data and check pattern */
++ ret = read_oob_and_check(mtd, from, buf, bd);
++ if (ret < 0)
++ return ret;
++
++ /* Check pattern for bad block markers */
++ if (ret) {
++ /* Mark bad block by writing 0b11 in the
++ table */
++ chip->bbt[i >> 3] |= 0x03 << (i & 0x6);
++
++ printk(KERN_WARNING "Bad eraseblock %d at " \
++ "0x%08x\n", i >> 1,
++ (unsigned int)from);
++
++ mtd->ecc_stats.badblocks++;
++ break;
++ }
++ offs += mtd->writesize;
++ }
++
++ /* Make -from- point to next eraseblock */
++ from += blocksize;
++ }
++
++ printk(KERN_NOTICE "Bad block scan: %d out of %d blocks are bad.\n",
++ mtd->ecc_stats.badblocks, numblocks>>1);
++
++ return 0;
++}
++
++/*
++ * This function creates a memory based bad block table (BBT).
++ * It is largely based on the standard BBT function, but all
++ * unnecessary junk is thrown out to speed up.
++ */
++static int nand_davinci_scan_bbt(struct mtd_info *mtd)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct nand_bbt_descr *bd;
++ int len, ret = 0;
++
++ chip->bbt_td = NULL;
++ chip->bbt_md = NULL;
++
++ /* pagesize determines location of BBM */
++ if (mtd->writesize > 512)
++ bd = &davinci_memorybased_large;
++ else
++ bd = &davinci_memorybased_small;
++
++ chip->badblock_pattern = bd;
++
++ /* Use 2 bits per page meaning 4 page markers per byte */
++ len = mtd->size >> (chip->bbt_erase_shift + 2);
++
++ /* Allocate memory (2bit per block) and clear the memory bad block
++ table */
++ chip->bbt = kzalloc(len, GFP_KERNEL);
++ if (!chip->bbt) {
++ printk(KERN_ERR "nand_davinci_scan_bbt: Out of memory\n");
++ return -ENOMEM;
++ }
++
++ /* Now try to fill in the BBT */
++ ret = nand_davinci_memory_bbt(mtd, bd);
++ if (ret) {
++ printk(KERN_ERR "nand_davinci_scan_bbt: "
++ "Can't scan flash and build the RAM-based BBT\n");
++
++ kfree(chip->bbt);
++ chip->bbt = NULL;
++ }
++
++ return ret;
++}
++
++/*
++ * Read from memory register: we can read 4 bytes at a time.
++ * The hardware takes care of actually reading the NAND flash.
++ */
++static void nand_davinci_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
++{
++ int i;
++ int num_words = len >> 2;
++ u32 *p = (u32 *)buf;
++ struct nand_chip *chip = mtd->priv;
++
++ for (i = 0; i < num_words; i++)
++ p[i] = readl(chip->IO_ADDR_R);
++}
++
++/*
++ * Check hardware register for wait status. Returns 1 if device is ready,
++ * 0 if it is still busy.
++ */
++static int nand_davinci_dev_ready(struct mtd_info *mtd)
++{
++ return (davinci_nand_readl(NANDFSR_OFFSET) & NAND_BUSY_FLAG);
++}
++
++static void nand_davinci_set_eccsize(struct nand_chip *chip)
++{
++ chip->ecc.size = 256;
++
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++ switch (chip->ecc.mode) {
++ case NAND_ECC_HW12_2048:
++ chip->ecc.size = 2048;
++ break;
++
++ case NAND_ECC_HW3_512:
++ case NAND_ECC_HW6_512:
++ case NAND_ECC_HW8_512:
++ chip->ecc.size = 512;
++ break;
++
++ case NAND_ECC_HW3_256:
++ default:
++ /* do nothing */
++ break;
++ }
++#endif
++}
++
++static void nand_davinci_set_eccbytes(struct nand_chip *chip)
++{
++ chip->ecc.bytes = 3;
++
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++ switch (chip->ecc.mode) {
++ case NAND_ECC_HW12_2048:
++ chip->ecc.bytes += 4;
++ case NAND_ECC_HW8_512:
++ chip->ecc.bytes += 2;
++ case NAND_ECC_HW6_512:
++ chip->ecc.bytes += 3;
++ case NAND_ECC_HW3_512:
++ case NAND_ECC_HW3_256:
++ default:
++ /* do nothing */
++ break;
++ }
++#endif
++}
++
++static void __devinit nand_davinci_flash_init(void)
++{
++ u32 regval, tmp;
++
++ /* Check for correct pin mux, reconfigure if necessary */
++ tmp = davinci_readl(DAVINCI_SYSTEM_MODULE_BASE + PINMUX0);
++
++ if ((tmp & 0x20020C1F) != 0x00000C1F) {
++ /* Disable HPI and ATA mux */
++ davinci_mux_peripheral(DAVINCI_MUX_HPIEN, 0);
++ davinci_mux_peripheral(DAVINCI_MUX_ATAEN, 0);
++
++ /* Enable VLYNQ and AEAW */
++ davinci_mux_peripheral(DAVINCI_MUX_AEAW0, 1);
++ davinci_mux_peripheral(DAVINCI_MUX_AEAW1, 1);
++ davinci_mux_peripheral(DAVINCI_MUX_AEAW2, 1);
++ davinci_mux_peripheral(DAVINCI_MUX_AEAW3, 1);
++ davinci_mux_peripheral(DAVINCI_MUX_AEAW4, 1);
++ davinci_mux_peripheral(DAVINCI_MUX_VLSCREN, 1);
++ davinci_mux_peripheral(DAVINCI_MUX_VLYNQEN, 1);
++
++ regval = davinci_readl(DAVINCI_SYSTEM_MODULE_BASE + PINMUX0);
++
++ printk(KERN_WARNING "Warning: MUX config for NAND: Set " \
++ "PINMUX0 reg to 0x%08x, was 0x%08x, should be done " \
++ "by bootloader.\n", regval, tmp);
++ }
++
++ regval = davinci_nand_readl(AWCCR_OFFSET);
++ regval |= 0x10000000;
++ davinci_nand_writel(regval, AWCCR_OFFSET);
++
++ /*------------------------------------------------------------------*
++ * NAND FLASH CHIP TIMEOUT @ 459 MHz *
++ * *
++ * AEMIF.CLK freq = PLL1/6 = 459/6 = 76.5 MHz *
++ * AEMIF.CLK period = 1/76.5 MHz = 13.1 ns *
++ * *
++ *------------------------------------------------------------------*/
++ regval = 0
++ | (0 << 31) /* selectStrobe */
++ | (0 << 30) /* extWait */
++ | (1 << 26) /* writeSetup 10 ns */
++ | (3 << 20) /* writeStrobe 40 ns */
++ | (1 << 17) /* writeHold 10 ns */
++ | (0 << 13) /* readSetup 10 ns */
++ | (3 << 7) /* readStrobe 60 ns */
++ | (0 << 4) /* readHold 10 ns */
++ | (3 << 2) /* turnAround ?? ns */
++ | (0 << 0) /* asyncSize 8-bit bus */
++ ;
++ tmp = davinci_nand_readl(A1CR_OFFSET);
++ if (tmp != regval) {
++ printk(KERN_WARNING "Warning: NAND config: Set A1CR " \
++ "reg to 0x%08x, was 0x%08x, should be done by " \
++ "bootloader.\n", regval, tmp);
++ davinci_nand_writel(regval, A1CR_OFFSET); /* 0x0434018C */
++ }
++
++ davinci_nand_writel(0x00000101, NANDFCR_OFFSET);
++}
++
++/*
++ * Main initialization routine
++ */
++int __devinit nand_davinci_probe(struct platform_device *pdev)
++{
++ struct nand_platform_data *pdata = pdev->dev.platform_data;
++ struct resource *res = pdev->resource;
++ struct nand_chip *chip;
++ struct device *dev = NULL;
++ u32 nand_rev_code;
++#ifdef CONFIG_MTD_CMDLINE_PARTS
++ char *master_name;
++ int mtd_parts_nb = 0;
++ struct mtd_partition *mtd_parts = 0;
++#endif
++
++ nand_clock = clk_get(dev, "AEMIFCLK");
++ if (IS_ERR(nand_clock)) {
++ printk(KERN_ERR "Error %ld getting AEMIFCLK clock?\n",
++ PTR_ERR(nand_clock));
++ return -1;
++ }
++
++ clk_enable(nand_clock);
++
++ /* Allocate memory for MTD device structure and private data */
++ nand_davinci_mtd = kmalloc(sizeof(struct mtd_info) +
++ sizeof(struct nand_chip), GFP_KERNEL);
++
++ if (!nand_davinci_mtd) {
++ printk(KERN_ERR "Unable to allocate davinci NAND MTD device " \
++ "structure.\n");
++ clk_disable(nand_clock);
++ return -ENOMEM;
++ }
++
++ /* Get pointer to private data */
++ chip = (struct nand_chip *) (&nand_davinci_mtd[1]);
++
++ /* Initialize structures */
++ memset((char *)nand_davinci_mtd, 0, sizeof(struct mtd_info));
++ memset((char *)chip, 0, sizeof(struct nand_chip));
++
++ /* Link the private data with the MTD structure */
++ nand_davinci_mtd->priv = chip;
++
++ nand_rev_code = davinci_nand_readl(NRCSR_OFFSET);
++
++ printk("DaVinci NAND Controller rev. %d.%d\n",
++ (nand_rev_code >> 8) & 0xff, nand_rev_code & 0xff);
++
++ nand_vaddr = ioremap(res->start, res->end - res->start);
++ if (nand_vaddr == NULL) {
++ printk(KERN_ERR "DaVinci NAND: ioremap failed.\n");
++ clk_disable(nand_clock);
++ kfree(nand_davinci_mtd);
++ return -ENOMEM;
++ }
++
++ chip->IO_ADDR_R = (void __iomem *)nand_vaddr;
++ chip->IO_ADDR_W = (void __iomem *)nand_vaddr;
++ chip->chip_delay = 0;
++ chip->select_chip = nand_davinci_select_chip;
++ chip->options = 0;
++ chip->ecc.mode = DAVINCI_NAND_ECC_MODE;
++
++ /* Set ECC size and bytes */
++ nand_davinci_set_eccsize(chip);
++ nand_davinci_set_eccbytes(chip);
++
++ /* Set address of hardware control function */
++ chip->cmd_ctrl = nand_davinci_hwcontrol;
++ chip->dev_ready = nand_davinci_dev_ready;
++
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++ chip->ecc.calculate = nand_davinci_calculate_ecc;
++ chip->ecc.correct = nand_davinci_correct_data;
++ chip->ecc.hwctl = nand_davinci_enable_hwecc;
++#endif
++
++ /* Speed up the read buffer */
++ chip->read_buf = nand_davinci_read_buf;
++
++ /* Speed up the creation of the bad block table */
++ chip->scan_bbt = nand_davinci_scan_bbt;
++
++ nand_davinci_flash_init();
++
++ nand_davinci_mtd->owner = THIS_MODULE;
++
++ /* Scan to find existence of the device */
++ if (nand_scan(nand_davinci_mtd, 1)) {
++ printk(KERN_ERR "Chip Select is not set for NAND\n");
++ clk_disable(nand_clock);
++ kfree(nand_davinci_mtd);
++ return -ENXIO;
++ }
++
++ /* Register the partitions */
++ add_mtd_partitions(nand_davinci_mtd, pdata->parts, pdata->nr_parts);
++
++#ifdef CONFIG_MTD_CMDLINE_PARTS
++ /* Set nand_davinci_mtd->name = 0 temporarily */
++ master_name = nand_davinci_mtd->name;
++ nand_davinci_mtd->name = (char *)0;
++
++ /* nand_davinci_mtd->name == 0, means: don't bother checking
++ <mtd-id> */
++ mtd_parts_nb = parse_mtd_partitions(nand_davinci_mtd, part_probes,
++ &mtd_parts, 0);
++
++ /* Restore nand_davinci_mtd->name */
++ nand_davinci_mtd->name = master_name;
++
++ add_mtd_partitions(nand_davinci_mtd, mtd_parts, mtd_parts_nb);
++#endif
++
++ return 0;
++}
++
++/*
++ * Clean up routine
++ */
++static int nand_davinci_remove(struct platform_device *pdev)
++{
++ clk_disable(nand_clock);
++
++ if (nand_vaddr)
++ iounmap(nand_vaddr);
++
++ /* Release resources, unregister device */
++ nand_release(nand_davinci_mtd);
++
++ /* Free the MTD device structure */
++ kfree(nand_davinci_mtd);
++
++ return 0;
++}
++
++
++static struct platform_driver nand_davinci_driver = {
++ .probe = nand_davinci_probe,
++ .remove = nand_davinci_remove,
++ .driver = {
++ .name = DRIVER_NAME,
++ },
++};
++
++static int __init nand_davinci_init(void)
++{
++ return platform_driver_register(&nand_davinci_driver);
++}
++module_init(nand_davinci_init);
++
++#ifdef MODULE
++static void __exit nand_davinci_exit(void)
++{
++ platform_driver_unregister(&nand_davinci_driver);
++}
++module_exit(nand_davinci_exit);
++#endif
++
++MODULE_ALIAS(DRIVER_NAME);
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Texas Instruments");
++MODULE_DESCRIPTION("Board-specific glue layer for NAND flash on davinci" \
++ "board");
+Index: linux-davinci/drivers/mtd/nand/Makefile
+===================================================================
+--- linux-davinci.orig/drivers/mtd/nand/Makefile
++++ linux-davinci/drivers/mtd/nand/Makefile
+@@ -29,5 +29,6 @@ obj-$(CONFIG_MTD_NAND_AT91) += at91_nan
+ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx270_nand.o
+ obj-$(CONFIG_MTD_NAND_BASLER_EXCITE) += excite_nandflash.o
+ obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
++obj-$(CONFIG_MTD_NAND_DAVINCI) += davinci_nand.o
+
+ nand-objs := nand_base.o nand_bbt.o
+Index: linux-davinci/drivers/mtd/nand/Kconfig
+===================================================================
+--- linux-davinci.orig/drivers/mtd/nand/Kconfig
++++ linux-davinci/drivers/mtd/nand/Kconfig
+@@ -293,5 +293,17 @@ config MTD_NAND_PLATFORM
+ devices. You will need to provide platform-specific functions
+ via platform_data.
+
++config MTD_NAND_DAVINCI
++ tristate "NAND Flash device on DaVinci SoC"
++ depends on MTD_NAND
++ select MTD_PARTITIONS
++ help
++ Support for NAND flash on Texas Instruments DaVinci SoC.
++
++config NAND_FLASH_HW_ECC
++ bool "Hardware ECC Support on NAND Device for DaVinci"
++ depends on MTD_NAND_DAVINCI
++ help
++ Support for Hardware ECC on NAND device for DaVinci.
+
+ endif # MTD_NAND
+Index: linux-davinci/include/asm-arm/arch-davinci/nand.h
+===================================================================
+--- /dev/null
++++ linux-davinci/include/asm-arm/arch-davinci/nand.h
+@@ -0,0 +1,45 @@
++/*
++ * include/asm-arm/arch-davinci/nand.h
++ *
++ * Copyright (C) 2006 Texas Instruments.
++ *
++ * ported to 2.6.23 (C) 2008 by
++ * Sander Huijsen <Shuijsen@optelecom-nkf.com>
++ * Troy Kisky <troy.kisky@boundarydevices.com>
++ * Dirk Behme <Dirk.Behme@gmail.com>
++ *
++ * --------------------------------------------------------------------------
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ * --------------------------------------------------------------------------
++ *
++ */
++
++#ifndef __ARCH_ARM_DAVINCI_NAND_H
++#define __ARCH_ARM_DAVINCI_NAND_H
++
++#define NRCSR_OFFSET 0x00
++#define AWCCR_OFFSET 0x04
++#define A1CR_OFFSET 0x10
++#define NANDFCR_OFFSET 0x60
++#define NANDFSR_OFFSET 0x64
++#define NANDF1ECC_OFFSET 0x70
++
++#define MASK_ALE 0x0A
++#define MASK_CLE 0x10
++
++#define NAND_BUSY_FLAG 0x01
++
++#endif /* __ARCH_ARM_DAVINCI_NAND_H */
+Index: linux-davinci/arch/arm/mach-davinci/mux.c
+===================================================================
+--- linux-davinci.orig/arch/arm/mach-davinci/mux.c
++++ linux-davinci/arch/arm/mach-davinci/mux.c
+@@ -15,10 +15,6 @@
+
+ #include <asm/arch/mux.h>
+
+-/* System control register offsets */
+-#define PINMUX0 0x00
+-#define PINMUX1 0x04
+-
+ static DEFINE_SPINLOCK(mux_lock);
+
+ void davinci_mux_peripheral(unsigned int mux, unsigned int enable)
+Index: linux-davinci/include/asm-arm/arch-davinci/mux.h
+===================================================================
+--- linux-davinci.orig/include/asm-arm/arch-davinci/mux.h
++++ linux-davinci/include/asm-arm/arch-davinci/mux.h
+@@ -11,6 +11,11 @@
+ #ifndef __ASM_ARCH_MUX_H
+ #define __ASM_ARCH_MUX_H
+
++/* System control register offsets */
++#define PINMUX0 0x00
++#define PINMUX1 0x04
++
++/* System control register bits */
+ #define DAVINCI_MUX_AEAW0 0
+ #define DAVINCI_MUX_AEAW1 1
+ #define DAVINCI_MUX_AEAW2 2
+Index: linux-davinci/include/linux/mtd/nand.h
+===================================================================
+--- linux-davinci.orig/include/linux/mtd/nand.h
++++ linux-davinci/include/linux/mtd/nand.h
+@@ -123,6 +123,13 @@ typedef enum {
+ NAND_ECC_SOFT,
+ NAND_ECC_HW,
+ NAND_ECC_HW_SYNDROME,
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++ NAND_ECC_HW3_256,
++ NAND_ECC_HW3_512,
++ NAND_ECC_HW6_512,
++ NAND_ECC_HW8_512,
++ NAND_ECC_HW12_2048,
++#endif
+ } nand_ecc_modes_t;
+
+ /*
+Index: linux-davinci/drivers/mtd/nand/nand_base.c
+===================================================================
+--- linux-davinci.orig/drivers/mtd/nand/nand_base.c
++++ linux-davinci/drivers/mtd/nand/nand_base.c
+@@ -2456,6 +2456,13 @@ int nand_scan_tail(struct mtd_info *mtd)
+ chip->ecc.write_page_raw = nand_write_page_raw;
+
+ switch (chip->ecc.mode) {
++#ifdef CONFIG_NAND_FLASH_HW_ECC
++ case NAND_ECC_HW12_2048:
++ case NAND_ECC_HW8_512:
++ case NAND_ECC_HW6_512:
++ case NAND_ECC_HW3_512:
++ case NAND_ECC_HW3_256:
++#endif
+ case NAND_ECC_HW:
+ /* Use standard hwecc read page function ? */
+ if (!chip->ecc.read_page)
+Index: linux-davinci/arch/arm/mach-davinci/board-evm.c
+===================================================================
+--- linux-davinci.orig/arch/arm/mach-davinci/board-evm.c
++++ linux-davinci/arch/arm/mach-davinci/board-evm.c
+@@ -14,6 +14,7 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/platform_device.h>
+ #include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
+ #include <linux/mtd/partitions.h>
+ #include <linux/mtd/physmap.h>
+
+@@ -27,6 +28,7 @@
+ #include <asm/mach/flash.h>
+
+ #include <asm/arch/common.h>
++#include <asm/arch/hardware.h>
+ #include <asm/arch/psc.h>
+
+ /* other misc. init functions */
+@@ -38,7 +40,7 @@ void __init davinci_init_common_hw(void)
+ /* NOR Flash base address set to CS0 by default */
+ #define NOR_FLASH_PHYS 0x02000000
+
+-static struct mtd_partition davinci_evm_partitions[] = {
++static struct mtd_partition davinci_evm_norflash_partitions[] = {
+ /* bootloader (U-Boot, etc) in first 4 sectors */
+ {
+ .name = "bootloader",
+@@ -69,30 +71,63 @@ static struct mtd_partition davinci_evm_
+ }
+ };
+
+-static struct physmap_flash_data davinci_evm_flash_data = {
++static struct physmap_flash_data davinci_evm_norflash_data = {
+ .width = 2,
+- .parts = davinci_evm_partitions,
+- .nr_parts = ARRAY_SIZE(davinci_evm_partitions),
++ .parts = davinci_evm_norflash_partitions,
++ .nr_parts = ARRAY_SIZE(davinci_evm_norflash_partitions),
+ };
+
+ /* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF
+ * limits addresses to 16M, so using addresses past 16M will wrap */
+-static struct resource davinci_evm_flash_resource = {
++static struct resource davinci_evm_norflash_resource = {
+ .start = NOR_FLASH_PHYS,
+ .end = NOR_FLASH_PHYS + SZ_16M - 1,
+ .flags = IORESOURCE_MEM,
+ };
+
+-static struct platform_device davinci_evm_flash_device = {
++static struct platform_device davinci_evm_norflash_device = {
+ .name = "physmap-flash",
+ .id = 0,
+ .dev = {
+- .platform_data = &davinci_evm_flash_data,
++ .platform_data = &davinci_evm_norflash_data,
+ },
+ .num_resources = 1,
+- .resource = &davinci_evm_flash_resource,
++ .resource = &davinci_evm_norflash_resource,
+ };
+
++#if defined(CONFIG_MTD_NAND_DAVINCI) || defined(CONFIG_MTD_NAND_DAVINCI_MODULE)
++struct mtd_partition davinci_evm_nandflash_partition[] = {
++ /* 5 MB space at the beginning for bootloader and kernel */
++ {
++ .name = "NAND filesystem",
++ .offset = 5 * SZ_1M,
++ .size = MTDPART_SIZ_FULL,
++ .mask_flags = 0,
++ }
++};
++
++static struct nand_platform_data davinci_evm_nandflash_data = {
++ .parts = davinci_evm_nandflash_partition,
++ .nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition),
++};
++
++static struct resource davinci_evm_nandflash_resource = {
++ .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
++ .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16K - 1,
++ .flags = IORESOURCE_MEM,
++};
++
++static struct platform_device davinci_evm_nandflash_device = {
++ .name = "davinci_nand",
++ .id = 0,
++ .dev = {
++ .platform_data = &davinci_evm_nandflash_data,
++ },
++ .num_resources = 1,
++ .resource = &davinci_evm_nandflash_resource,
++};
++#endif
++
+ #if defined(CONFIG_FB_DAVINCI) || defined(CONFIG_FB_DAVINCI_MODULE)
+
+ static u64 davinci_fb_dma_mask = DMA_32BIT_MASK;
+@@ -168,7 +203,10 @@ static struct platform_device rtc_dev =
+ };
+
+ static struct platform_device *davinci_evm_devices[] __initdata = {
+- &davinci_evm_flash_device,
++ &davinci_evm_norflash_device,
++#if defined(CONFIG_MTD_NAND_DAVINCI) || defined(CONFIG_MTD_NAND_DAVINCI_MODULE)
++ &davinci_evm_nandflash_device,
++#endif
+ #if defined(CONFIG_FB_DAVINCI) || defined(CONFIG_FB_DAVINCI_MODULE)
+ &davinci_fb_device,
+ #endif
diff --git a/packages/linux/linux-davinci/davinci-sffsdr/defconfig b/packages/linux/linux-davinci/davinci-sffsdr/defconfig
index ac53caffc9..0d5155f32a 100644
--- a/packages/linux/linux-davinci/davinci-sffsdr/defconfig
+++ b/packages/linux/linux-davinci/davinci-sffsdr/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23-davinci1
-# Sat Oct 20 12:59:22 2007
+# Sun Feb 3 08:30:51 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -241,7 +241,8 @@ CONFIG_CMDLINE=""
#
# At least one emulation must be selected
#
-# CONFIG_FPE_NWFPE is not set
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
# CONFIG_VFP is not set
@@ -442,7 +443,10 @@ CONFIG_MTD_CFI_UTIL=y
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_PLATRAM is not set
@@ -461,13 +465,15 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_VERIFY_WRITE=y
# CONFIG_MTD_NAND_ECC_SMC is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_NANDSIM is not set
-CONFIG_MTD_NAND_PLATFORM=y
+# CONFIG_MTD_NAND_PLATFORM is not set
+CONFIG_MTD_NAND_DAVINCI=y
+CONFIG_NAND_FLASH_HW_ECC=y
# CONFIG_MTD_ONENAND is not set
#
@@ -592,10 +598,7 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
@@ -605,10 +608,10 @@ CONFIG_INPUT_EVDEV=m
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_XTKBD=y
+# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_GPIO is not set
@@ -623,7 +626,7 @@ CONFIG_KEYBOARD_XTKBD=y
#
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
-CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_LIBPS2 is not set
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
@@ -820,46 +823,14 @@ CONFIG_DAB=y
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_CFB_FILLRECT is not set
-# CONFIG_FB_CFB_COPYAREA is not set
-# CONFIG_FB_CFB_IMAGEBLIT is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_SYS_FOPS is not set
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_DAVINCI=y
-# CONFIG_FB_VIRTUAL is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
@@ -874,10 +845,7 @@ CONFIG_SOUND=y
#
# Open Sound System
#
-CONFIG_SOUND_PRIME=y
-# CONFIG_SOUND_MSNDCLAS is not set
-# CONFIG_SOUND_MSNDPIN is not set
-# CONFIG_SOUND_DAVINCI is not set
+# CONFIG_SOUND_PRIME is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
@@ -1027,20 +995,20 @@ CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_G_SERIAL=m
# CONFIG_USB_MIDI_GADGET is not set
-CONFIG_MMC=y
+CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
#
# MMC/SD Card Drivers
#
-CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y
#
# MMC/SD Host Controller Drivers
#
-# CONFIG_MMC_DAVINCI is not set
+CONFIG_MMC_DAVINCI=m
CONFIG_RTC_LIB=y
# CONFIG_RTC_CLASS is not set
@@ -1100,9 +1068,9 @@ CONFIG_AUTOFS4_FS=m
#
# DOS/FAT/NT Filesystems
#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
@@ -1138,7 +1106,7 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
-CONFIG_CRAMFS=y
+# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
@@ -1167,8 +1135,7 @@ CONFIG_SUNRPC=y
# CONFIG_SUNRPC_BIND34 is not set
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
diff --git a/packages/linux/linux-davinci_2.6.x+git-davinci.bb b/packages/linux/linux-davinci_2.6.x+git-davinci.bb
index 9228d1ffda..916b4e252c 100644
--- a/packages/linux/linux-davinci_2.6.x+git-davinci.bb
+++ b/packages/linux/linux-davinci_2.6.x+git-davinci.bb
@@ -7,6 +7,7 @@ COMPATIBLE_MACHINE = "(davinci-dvevm|davinci-sffsdr)"
SRC_URI = "git://source.mvista.com/git/linux-davinci-2.6.git;protocol=git \
file://binutils-buildid-arm.patch;patch=1 \
+ file://davinci-nand.patch;patch=1 \
file://defconfig"
S = "${WORKDIR}/git"
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig
index c9d51692f1..b4ed9dc01b 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:18 2008
+# Tue Feb 12 22:00:35 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig
index c3969f2d7c..5456b9d6db 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:19 2008
+# Tue Feb 12 22:00:36 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig
index 89eec63677..f7200e9b53 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:19 2008
+# Tue Feb 12 22:00:37 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig
index 4a4abb9375..87dbcbe9e2 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:20 2008
+# Tue Feb 12 22:00:37 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -95,14 +95,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig
index fab476ca75..d5f7ec70ad 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:20 2008
+# Tue Feb 12 22:00:38 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig
index a62949b67e..5ae9220e3d 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:21 2008
+# Tue Feb 12 22:00:39 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig
index ae663cfc31..2ec8b863be 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:21 2008
+# Tue Feb 12 22:00:39 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig
index 34c2a83bd1..b3e75f0cff 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:21 2008
+# Tue Feb 12 22:00:40 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig
index eb184f552e..75591a1545 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:22 2008
+# Tue Feb 12 22:00:41 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig
index 8b15cfa458..2d0f6fdc5d 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:22 2008
+# Tue Feb 12 22:00:42 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig
index 11e42b0336..db78efafca 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:23 2008
+# Tue Feb 12 22:00:42 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig
index ce17fad6a0..f1c29a7ce1 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:24 2008
+# Tue Feb 12 22:00:44 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig
index 67f0e76bf0..4f90d2c2e8 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:24 2008
+# Tue Feb 12 22:00:45 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig
index 9b4037354f..d428d53055 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:25 2008
+# Tue Feb 12 22:00:46 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig
index 1a2f64f28b..f6477d1189 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:25 2008
+# Tue Feb 12 22:00:46 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig
index b7c9c46845..25982ed5a8 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:26 2008
+# Tue Feb 12 22:00:47 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig
index 8c42382e27..1e5afd496f 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:26 2008
+# Tue Feb 12 22:00:47 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig
index eb4d556fa0..060ec46886 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:27 2008
+# Tue Feb 12 22:00:48 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig
index 4ff70afbea..b64b0e2ece 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:27 2008
+# Tue Feb 12 22:00:49 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig
index 47d754d73e..779a872d29 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:23 2008
+# Tue Feb 12 22:00:43 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig
index a59a838ae1..cd8fdd8420 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:27 2008
+# Tue Feb 12 22:00:49 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig
index d19918874b..e76999499e 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:24 2008
+# Tue Feb 12 22:00:44 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -96,14 +96,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig
index 67f823f5f9..a73eec0cec 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:28 2008
+# Tue Feb 12 22:00:50 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -95,14 +95,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig
index c5f80cd5df..3cae44cf08 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Sun Feb 10 21:02:28 2008
+# Tue Feb 12 22:00:51 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -95,14 +95,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_AS=y
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
#
# System Type
diff --git a/packages/linux/linux-handhelds-2.6.inc b/packages/linux/linux-handhelds-2.6.inc
index 0db5e93974..81af72e413 100644
--- a/packages/linux/linux-handhelds-2.6.inc
+++ b/packages/linux/linux-handhelds-2.6.inc
@@ -98,6 +98,11 @@ set cmdline "root=/dev/mmcblk0p2 rootdelay=10 console=ttyS0,115200n8 console=tty
# 192.168.y.y - Handheld's address
#set cmdline "root=/dev/nfs nfsroot=192.168.x.x:<nfs_path> ip=192.168.y.y:192.168.x.x:192.168.x.x:255.255.255.0:pda:usb0 console=ttyS0,115200n8 console=tty0"
+## Choice 5 - Boot from MTD partition, for devices with lots of flash
+# to have both WinCE and Linux there. Note the value of root param,
+# that's how it should be, not "/dev/mtdblockN".
+# set cmdline "root=mtdN console=ttyS0,115200n8 console=tty0"
+
bootlinux
EOF
}
diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
index 22ea976815..32f3e3053f 100644
--- a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
@@ -1,7 +1,7 @@
SECTION = "kernel"
DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
LICENSE = "GPL"
-PR = "r8"
+PR = "r10"
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/rxtx/rxtx_2.1-7r2.bb b/packages/rxtx/rxtx_2.1-7r2.bb
index 260b70a1fe..0630d498d6 100644
--- a/packages/rxtx/rxtx_2.1-7r2.bb
+++ b/packages/rxtx/rxtx_2.1-7r2.bb
@@ -3,6 +3,10 @@ LICENSE = "LGPL"
SECTION = "libs"
HOMEPAGE = "http://rxtx.org"
+PR = "r1"
+
+DEPENDS = "classpath classpath-native virtual/javac-native"
+
inherit autotools java-library
SRC_URI = "\
@@ -10,6 +14,15 @@ SRC_URI = "\
file://rxtx-fixes-from-debian.patch;patch=1 \
"
+do_compile() {
+ # Whatever configure detected it is completely unusable. So we override heavily.
+ oe_runmake \
+ JAVAH="gjavah -classpath \$(CLASSPATH) -d \$(DEST) -jni" \
+ JAR=gjar \
+ JAVAC="javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3" \
+ JAVAINCLUDEDIR=${STAGING_INCDIR}/classpath
+}
+
do_install() {
install -d ${D}/${libdir_jni}
install -d ${D}/${datadir_java}
diff --git a/packages/swt/swt-gtk.inc b/packages/swt/swt-gtk.inc
index 6afadf1cab..9c978950c8 100644
--- a/packages/swt/swt-gtk.inc
+++ b/packages/swt/swt-gtk.inc
@@ -3,7 +3,7 @@ LICENSE = "CPL MPL LGPL"
inherit java-library
-DEPENDS = "cairo gtk+ atk libxtst"
+DEPENDS = "classpath-native cairo gtk+ atk libxtst"
S = "${WORKDIR}/swt-source"
@@ -36,7 +36,6 @@ do_install() {
oe_jarinstall swt.jar
oe_jarinstall swt-gtk-${PV}.jar swt-gtk.jar
- install -d ${D}${libdir_jni}
oe_libinstall -so libswt-atk-gtk-${SWTVERSION} ${D}/${libdir_jni}
oe_libinstall -so libswt-cairo-gtk-${SWTVERSION} ${D}/${libdir_jni}
oe_libinstall -so libswt-pi-gtk-${SWTVERSION} ${D}/${libdir_jni}
diff --git a/packages/xorg-driver/xf86-input-acecad_1.2.2.bb b/packages/xorg-driver/xf86-input-acecad_1.2.2.bb
new file mode 100644
index 0000000000..c993bc7718
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-acecad_1.2.2.bb
@@ -0,0 +1,5 @@
+require xorg-driver-input.inc
+
+DESCRIPTION = "X.Org X server -- AceCad input driver"
+PE = "1"
+
diff --git a/packages/xorg-driver/xf86-video-trident_1.2.4.bb b/packages/xorg-driver/xf86-video-trident_1.2.4.bb
new file mode 100644
index 0000000000..fe37be5d0b
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-trident_1.2.4.bb
@@ -0,0 +1,5 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.org X server -- Trident display driver"
+DEPENDS += " xf86dgaproto"
+PE = "1"
diff --git a/packages/xorg-driver/xorg-driver-common.inc b/packages/xorg-driver/xorg-driver-common.inc
index 76bc89fa10..a75e409c8c 100644
--- a/packages/xorg-driver/xorg-driver-common.inc
+++ b/packages/xorg-driver/xorg-driver-common.inc
@@ -7,7 +7,7 @@ PR = "r2"
DEPENDS = "randrproto xorg-server xproto"
XORG_PN = "${PN}"
-SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI = "${XORG_MIRROR}/individual/driver/${XORG_PN}-${PV}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"