summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/bl/bl_cvs.bb22
-rw-r--r--packages/bl/files/zaurus-hinge.bl-off10
-rw-r--r--packages/bl/files/zaurus-hinge.bl-on10
-rw-r--r--packages/glibc/glibc-cvs-2.3.5/raise.patch37
-rw-r--r--packages/glibc/glibc_2.3.5+cvs20050627.bb3
-rw-r--r--packages/gnome/libart-lgpl/sh3/.mtn2git_empty0
-rw-r--r--packages/gnome/libart-lgpl/sh3/art_config.h10
-rw-r--r--packages/gnome/libart-lgpl/sh4/.mtn2git_empty0
-rw-r--r--packages/gnome/libart-lgpl/sh4/art_config.h10
-rw-r--r--packages/gnome/libsoup_2.2.93.bb17
-rw-r--r--packages/gpe-conf/files/ipaq-sleep-configName.patch20
-rw-r--r--packages/gpe-conf/gpe-conf_0.1.30.bb5
-rw-r--r--packages/ipaq-sleep/files/.mtn2git_empty0
-rw-r--r--packages/ipaq-sleep/files/init-script-busybox.patch11
-rw-r--r--packages/ipaq-sleep/ipaq-sleep_0.9.bb4
-rw-r--r--packages/libeventdb/libeventdb_0.30.bb2
-rw-r--r--packages/linux/linux-ezx/a780-leds-r0.patch185
-rw-r--r--packages/linux/linux-ezx/defconfig-a78039
-rw-r--r--packages/linux/linux-ezx/defconfig-e68036
-rw-r--r--packages/linux/linux-ezx/e680-leds-r1.patch374
-rw-r--r--packages/linux/linux-ezx/led_ezx-r0.patch174
-rw-r--r--packages/linux/linux-ezx_2.6.16.13.bb14
-rw-r--r--packages/linux/logicpd-pxa270-2.6.17-rc5/.mtn2git_empty0
-rw-r--r--packages/linux/logicpd-pxa270-2.6.17-rc5/linux-2.6.17-rc5.patch2183
-rw-r--r--packages/linux/logicpd-pxa270_2.6.17-rc5.bb33
-rw-r--r--packages/opensync/libsyncml_0.4.0.bb34
-rw-r--r--packages/opensync/wbxml2_0.9.0.bb24
-rw-r--r--packages/orinoco/spectrum-fw.bb2
-rw-r--r--packages/qemu/files/trunk_nodocs.patch37
-rw-r--r--packages/wget/wget_1.9.1.bb12
-rw-r--r--packages/zaurusd/files/zaurus-hinge.in67
-rw-r--r--packages/zaurusd/files/zaurus-hinge.matchbox-landscape21
-rw-r--r--packages/zaurusd/files/zaurus-hinge.matchbox-portrait26
-rw-r--r--packages/zaurusd/zaurusd_svn.bb16
34 files changed, 3147 insertions, 291 deletions
diff --git a/packages/bl/bl_cvs.bb b/packages/bl/bl_cvs.bb
index a207702eba..099f739656 100644
--- a/packages/bl/bl_cvs.bb
+++ b/packages/bl/bl_cvs.bb
@@ -5,10 +5,13 @@ DESCRIPTION = "Command line tool for iPaq backlight control"
MAINTAINER = "Florian Boor <florian@kernelconcepts.de>"
SRC_URI = "${HANDHELDS_CVS};module=apps/h3600_test \
- file://nokernelheader.patch;patch=1;pnum=0"
+ file://nokernelheader.patch;patch=1;pnum=0 \
+ file://zaurus-hinge.bl-on \
+ file://zaurus-hinge.bl-off"
+
S = "${WORKDIR}/h3600_test"
-PR = "r0"
+PR = "r1"
inherit pkgconfig
@@ -22,6 +25,17 @@ do_compile (){
}
do_install () {
- install -d ${D}${bindir}
+ install -d ${D}${bindir}
+ install -d ${D}/etc/apm/resume.d
+ install -d ${D}/etc/zaurusd/hinge-close.d
+ install -d ${D}/etc/zaurusd/hinge-portrait.d
+ install -d ${D}/etc/zaurusd/hinge-landscape.d
+
install -m 4755 ${S}/bl ${D}${bindir}/bl
-}
+
+ install -m 0755 "${WORKDIR}/zaurus-hinge.bl-on" "${D}/etc/apm/resume.d/00-backlight-on"
+ install -m 0755 "${WORKDIR}/zaurus-hinge.bl-on" "${D}/etc/zaurusd/hinge-landscape.d/00-backlight-on"
+ install -m 0755 "${WORKDIR}/zaurus-hinge.bl-on" "${D}/etc/zaurusd/hinge-portrait.d/00-backlight-on"
+ install -m 0755 "${WORKDIR}/zaurus-hinge.bl-off" "${D}/etc/zaurusd/hinge-close.d/00-backlight-off"
+
+}
diff --git a/packages/bl/files/zaurus-hinge.bl-off b/packages/bl/files/zaurus-hinge.bl-off
new file mode 100644
index 0000000000..888f90bfc5
--- /dev/null
+++ b/packages/bl/files/zaurus-hinge.bl-off
@@ -0,0 +1,10 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: zaurus-hinge.bl-off
+# Date: 04-Jun-06
+
+test -z "${ZD_BINDIR}" && ZD_BINDIR="/usr/bin"
+${ZD_BINDIR}/bl off
diff --git a/packages/bl/files/zaurus-hinge.bl-on b/packages/bl/files/zaurus-hinge.bl-on
new file mode 100644
index 0000000000..6d416ad8c4
--- /dev/null
+++ b/packages/bl/files/zaurus-hinge.bl-on
@@ -0,0 +1,10 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: zaurus-hinge.bl-on
+# Date: 04-Jun-06
+
+test -z "${ZD_BINDIR}" && ZD_BINDIR="/usr/bin"
+${ZD_BINDIR}/bl on
diff --git a/packages/glibc/glibc-cvs-2.3.5/raise.patch b/packages/glibc/glibc-cvs-2.3.5/raise.patch
new file mode 100644
index 0000000000..16b4cb85a1
--- /dev/null
+++ b/packages/glibc/glibc-cvs-2.3.5/raise.patch
@@ -0,0 +1,37 @@
+--- glibc.orig/linuxthreads/sysdeps/unix/sysv/linux/raise.c 2003-01-02 19:38:38.000000000 -0500
++++ glibc/linuxthreads/sysdeps/unix/sysv/linux/raise.c 2005-10-31 14:19:58.000000000 -0500
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1991, 1996, 2002, 2003 Free Software Foundation, Inc.
++/* Copyright (C) 1991, 1996, 2002, 2003, 2005 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -18,10 +18,13 @@
+
+ #include <signal.h>
+ #include <unistd.h>
+-#include <bits/libc-lock.h>
+
+-#ifndef SHARED
++#ifndef IS_IN_rtld
++# include <bits/libc-lock.h>
++
++# ifndef SHARED
+ weak_extern (__pthread_raise)
++# endif
+ #endif
+
+ /* Raise the signal SIG. */
+@@ -29,8 +32,12 @@ int
+ raise (sig)
+ int sig;
+ {
++#ifdef IS_IN_rtld
++ return __kill (__getpid (), sig);
++#else
+ return __libc_maybe_call2 (pthread_raise, (sig),
+ __kill (__getpid (), sig));
++#endif
+ }
+ libc_hidden_def (raise)
+ weak_alias (raise, gsignal
diff --git a/packages/glibc/glibc_2.3.5+cvs20050627.bb b/packages/glibc/glibc_2.3.5+cvs20050627.bb
index ff434d2a1b..fc5abcc266 100644
--- a/packages/glibc/glibc_2.3.5+cvs20050627.bb
+++ b/packages/glibc/glibc_2.3.5+cvs20050627.bb
@@ -7,7 +7,7 @@ MAINTAINER = "Phil Blundell <pb@handhelds.org>"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs-2.3.5"
SRCDATE = "20050627"
-PR = "r6"
+PR = "r7"
GLIBC_ADDONS ?= "ports,linuxthreads"
GLIBC_EXTRA_OECONF ?= ""
@@ -54,6 +54,7 @@ SRC_URI = "http://familiar.handhelds.org/source/v0.8.3/stash_libc_sources.redhat
file://dl-cache-libcmp.patch;patch=1 \
file://ldsocache-varrun.patch;patch=1 \
file://5090_all_stubs-rule-fix.patch;patch=1 \
+ file://raise.patch;patch=1 \
file://etc/ld.so.conf \
file://generate-supported.mk"
diff --git a/packages/gnome/libart-lgpl/sh3/.mtn2git_empty b/packages/gnome/libart-lgpl/sh3/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gnome/libart-lgpl/sh3/.mtn2git_empty
diff --git a/packages/gnome/libart-lgpl/sh3/art_config.h b/packages/gnome/libart-lgpl/sh3/art_config.h
new file mode 100644
index 0000000000..b0e74ad6ae
--- /dev/null
+++ b/packages/gnome/libart-lgpl/sh3/art_config.h
@@ -0,0 +1,10 @@
+/* Automatically generated by gen_art_config.c */
+
+#define ART_SIZEOF_CHAR 1
+#define ART_SIZEOF_SHORT 2
+#define ART_SIZEOF_INT 4
+#define ART_SIZEOF_LONG 4
+
+typedef unsigned char art_u8;
+typedef unsigned short art_u16;
+typedef unsigned int art_u32;
diff --git a/packages/gnome/libart-lgpl/sh4/.mtn2git_empty b/packages/gnome/libart-lgpl/sh4/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gnome/libart-lgpl/sh4/.mtn2git_empty
diff --git a/packages/gnome/libart-lgpl/sh4/art_config.h b/packages/gnome/libart-lgpl/sh4/art_config.h
new file mode 100644
index 0000000000..b0e74ad6ae
--- /dev/null
+++ b/packages/gnome/libart-lgpl/sh4/art_config.h
@@ -0,0 +1,10 @@
+/* Automatically generated by gen_art_config.c */
+
+#define ART_SIZEOF_CHAR 1
+#define ART_SIZEOF_SHORT 2
+#define ART_SIZEOF_INT 4
+#define ART_SIZEOF_LONG 4
+
+typedef unsigned char art_u8;
+typedef unsigned short art_u16;
+typedef unsigned int art_u32;
diff --git a/packages/gnome/libsoup_2.2.93.bb b/packages/gnome/libsoup_2.2.93.bb
new file mode 100644
index 0000000000..7ee1a1877e
--- /dev/null
+++ b/packages/gnome/libsoup_2.2.93.bb
@@ -0,0 +1,17 @@
+LICENSE = "GPL"
+DESCRIPTION = "An HTTP library implementation in C"
+SECTION = "x11/gnome/libs"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${PN}/2.2/${PN}-${PV}.tar.bz2"
+DEPENDS = "glib-2.0 gnutls libxml2"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev = "${includedir} ${libdir}"
+FILES_${PN}-doc = "${datadir}"
+
+do_stage() {
+ autotools_stage_all
+ install -m 0644 ${STAGING_DATADIR}/pkgconfig/libsoup.pc ${STAGING_DATADIR}/pkgconfig/libsoup-2.2.pc
+}
diff --git a/packages/gpe-conf/files/ipaq-sleep-configName.patch b/packages/gpe-conf/files/ipaq-sleep-configName.patch
new file mode 100644
index 0000000000..34f22094ad
--- /dev/null
+++ b/packages/gpe-conf/files/ipaq-sleep-configName.patch
@@ -0,0 +1,20 @@
+--- gpe-conf-0.1.30/sleep/main.c.orig 2006-06-05 12:23:34.458994776 +0200
++++ gpe-conf-0.1.30/sleep/main.c 2006-06-05 12:23:40.216119560 +0200
+@@ -23,7 +23,7 @@
+ g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL);
+ if(save_ISconf(ISconf, ISconf->confName)) {
+ char homeConf[MAXPATHLEN];
+- sprintf(homeConf, "%s/ipaq-sleep.conf", getenv("HOME"));
++ sprintf(homeConf, "%s/.sleep.conf", getenv("HOME"));
+ if(!save_ISconf(ISconf, homeConf))
+ strcpy(ISconf->confName, homeConf);
+ }
+@@ -42,7 +42,7 @@
+ char cname[MAXPATHLEN];
+ GtkWidget *GPE_Config_Sleep;
+
+- sprintf(cname,"%s/ipaq-sleep.conf",g_get_home_dir());
++ sprintf(cname,"%s/.sleep.conf",g_get_home_dir());
+ ISconf = load_ISconf(cname);
+ if(ISconf == NULL) {
+ strcpy(cname, "/etc/ipaq-sleep.conf");
diff --git a/packages/gpe-conf/gpe-conf_0.1.30.bb b/packages/gpe-conf/gpe-conf_0.1.30.bb
index c0ee7e2ea0..5588420e45 100644
--- a/packages/gpe-conf/gpe-conf_0.1.30.bb
+++ b/packages/gpe-conf/gpe-conf_0.1.30.bb
@@ -3,11 +3,12 @@ LICENSE = "GPL"
SECTION = "gpe"
PRIORITY = "optional"
MAINTAINER = "Florian Boor <florian.boor@kernelconcepts.de>"
-PR="r1"
+PR="r2"
inherit gpe
-SRC_URI += " file://fixsegfault.patch;patch=1;pnum=0"
+SRC_URI += " file://fixsegfault.patch;patch=1;pnum=0 \
+ file://ipaq-sleep-configName.patch;patch=1"
DEPENDS = "gtk+ libgpewidget libxsettings libxsettings-client pcmcia-cs xst xset ipaq-sleep ntp gpe-login gpe-icons"
RDEPENDS_${PN} = "xst xset ipaq-sleep ntpdate gpe-login gpe-icons"
diff --git a/packages/ipaq-sleep/files/.mtn2git_empty b/packages/ipaq-sleep/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipaq-sleep/files/.mtn2git_empty
diff --git a/packages/ipaq-sleep/files/init-script-busybox.patch b/packages/ipaq-sleep/files/init-script-busybox.patch
new file mode 100644
index 0000000000..9a8685de68
--- /dev/null
+++ b/packages/ipaq-sleep/files/init-script-busybox.patch
@@ -0,0 +1,11 @@
+--- ipaq-sleep-0.9/ipaq-sleep.init.orig 2006-06-05 12:11:38.889777832 +0200
++++ ipaq-sleep-0.9/ipaq-sleep.init 2006-06-05 12:11:53.059623688 +0200
+@@ -9,7 +9,7 @@
+ ;;
+ stop)
+ echo -n "Stopping sleep daemon: ipaq-sleep"
+- /sbin/start-stop-daemon --stop --quiet --oknodo --exec /usr/bin/ipaq-sleep
++ /sbin/start-stop-daemon --stop --quiet --exec /usr/bin/ipaq-sleep
+ echo "."
+ ;;
+ *)
diff --git a/packages/ipaq-sleep/ipaq-sleep_0.9.bb b/packages/ipaq-sleep/ipaq-sleep_0.9.bb
index a63ec83a7c..17d80eff69 100644
--- a/packages/ipaq-sleep/ipaq-sleep_0.9.bb
+++ b/packages/ipaq-sleep/ipaq-sleep_0.9.bb
@@ -6,5 +6,9 @@ DEPENDS = "apmd virtual/xserver xextensions libx11 libxau xscrnsaverh libxss"
SECTION = "x11/base"
RDEPENDS = "apm"
+SRC_URI_append = " file://init-script-busybox.patch;patch=1"
+
+PR = "r1"
+
DESCRIPTION = "Automatic sleep/suspend control daemon"
diff --git a/packages/libeventdb/libeventdb_0.30.bb b/packages/libeventdb/libeventdb_0.30.bb
index 30dc81c34c..38d48098d6 100644
--- a/packages/libeventdb/libeventdb_0.30.bb
+++ b/packages/libeventdb/libeventdb_0.30.bb
@@ -1,3 +1,5 @@
+DEFAULT_PREFERENCE = "-1"
+
LICENSE = "LGPL"
DESCRIPTION = "Database access library for GPE calendar"
SECTION = "gpe/libs"
diff --git a/packages/linux/linux-ezx/a780-leds-r0.patch b/packages/linux/linux-ezx/a780-leds-r0.patch
new file mode 100644
index 0000000000..31fdfc635b
--- /dev/null
+++ b/packages/linux/linux-ezx/a780-leds-r0.patch
@@ -0,0 +1,185 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.6.16/drivers/leds/Kconfig~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200
++++ linux-2.6.16/drivers/leds/Kconfig 2006-06-05 18:05:32.000000000 +0200
+@@ -66,6 +66,13 @@
+ This options enables support for the LEDs on the
+ Motorola E680(i) GSM Phone.
+
++config LEDS_A780
++ tristate "LED Support for the Motorola A780 GSM Phone"
++ depends LEDS_CLASS && PXA_EZX_A780
++ help
++ This option enables support for the LEDs on the
++ Motorola A780 GSM Phone.
++
+ config LEDS_TRIGGER_TIMER
+ tristate "LED Timer Trigger"
+ depends LEDS_TRIGGERS
+--- linux-2.6.16/drivers/leds/Makefile~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200
++++ linux-2.6.16/drivers/leds/Makefile 2006-06-05 18:05:32.000000000 +0200
+@@ -11,6 +11,7 @@
+ obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
+ obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
+ obj-$(CONFIG_LEDS_E680) += leds-e680.o
++obj-$(CONFIG_LEDS_A780) += leds-a780.o
+
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
+--- linux-2.6.16/arch/arm/mach-pxa/ezx.c~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200
++++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-05 18:05:32.000000000 +0200
+@@ -367,6 +367,15 @@
+ };
+ #endif
+
++#ifdef CONFIG_PXA_EZX_A780
++/*
++ * A780 LEDs
++ */
++static struct platform_device a780led_device = {
++ .name = "a780-led",
++ .id = -1,
++};
++#endif
+
+ /* keyboard */
+
+@@ -780,6 +789,9 @@
+ #ifdef CONFIG_PXA_EZX_E680
+ &e680led_device,
+ #endif
++#ifdef CONFIG_PXA_EZX_A780
++ &a780led_device,
++#endif
+ };
+
+ static void __init
+--- /dev/null 2006-06-05 13:59:28.329930680 +0200
++++ linux-2.6.16/drivers/leds/leds-a780.c 2006-06-05 18:27:13.000000000 +0200
+@@ -0,0 +1,123 @@
++/*
++ * EZX Platform LED Driver for the Motorola A780 GSM Phone
++ *
++ * Copyright 2006 Vanille-Media
++ *
++ * Author: Michael Lauer <mickey@Vanille.de>
++ *
++ * Based on keylight.c by Motorola and leds-corgi.c by Richard Purdie
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/leds.h>
++#include <asm/arch/ezx-pcap.h>
++
++static void a780led_main_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ if ( value > 31 ) value = 31;
++ printk( KERN_DEBUG "a780led_main_set: %d\n", value );
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL0, value & 0x01);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL1, value & 0x02);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL2, value & 0x04);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL3, value & 0x08);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL4, value & 0x10);
++}
++
++static void a780led_aux_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ if ( value > 31 ) value = 31;
++ printk( KERN_DEBUG "a780led_aux_set: %d\n", value );
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL0, value & 0x01);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL1, value & 0x02);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL2, value & 0x04);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL3, value & 0x08);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL4, value & 0x10);
++}
++
++static struct led_classdev a780_main_led = {
++ .name = "a780:main",
++ .default_trigger = "none",
++ .brightness_set = a780led_main_set,
++};
++
++static struct led_classdev a780_aux_led = {
++ .name = "a780:aux",
++ .default_trigger = "none",
++ .brightness_set = a780led_aux_set,
++};
++
++#ifdef CONFIG_PM
++static int a780led_suspend(struct platform_device *dev, pm_message_t state)
++{
++ led_classdev_suspend(&a780_main_led);
++ led_classdev_suspend(&a780_aux_led);
++ return 0;
++}
++
++static int a780led_resume(struct platform_device *dev)
++{
++ led_classdev_resume(&a780_main_led);
++ led_classdev_resume(&a780_aux_led);
++ return 0;
++}
++#endif
++
++static int a780led_probe(struct platform_device *pdev)
++{
++ int ret;
++
++ ret = led_classdev_register(&pdev->dev, &a780_main_led);
++ if (ret < 0)
++ return ret;
++
++ ret = led_classdev_register(&pdev->dev, &a780_aux_led);
++ if (ret < 0)
++ led_classdev_unregister(&a780_main_led);
++
++ return ret;
++}
++
++static int a780led_remove(struct platform_device *pdev)
++{
++ led_classdev_unregister(&a780_main_led);
++ led_classdev_unregister(&a780_aux_led);
++ return 0;
++}
++
++static struct platform_driver a780led_driver = {
++ .probe = a780led_probe,
++ .remove = a780led_remove,
++#ifdef CONFIG_PM
++ .suspend = a780led_suspend,
++ .resume = a780led_resume,
++#endif
++ .driver = {
++ .name = "a780-led",
++ },
++};
++
++static int __init a780led_init(void)
++{
++ return platform_driver_register(&a780led_driver);
++}
++
++static void __exit a780led_exit(void)
++{
++ a780led_main_set( &a780_main_led, 0 );
++ a780led_aux_set( &a780_aux_led, 0 );
++ platform_driver_unregister(&a780led_driver);
++}
++
++module_init(a780led_init);
++module_exit(a780led_exit);
++
++MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>");
++MODULE_DESCRIPTION("Motorola A780 LED driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-ezx/defconfig-a780 b/packages/linux/linux-ezx/defconfig-a780
index bc94f511c9..e1aa2db375 100644
--- a/packages/linux/linux-ezx/defconfig-a780
+++ b/packages/linux/linux-ezx/defconfig-a780
@@ -14,6 +14,7 @@ CONFIG_ARCH_MTD_XIP=y
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
@@ -152,8 +153,8 @@ CONFIG_XSCALE_PMU=y
#
# Kernel Features
#
-CONFIG_PREEMPT=y
-CONFIG_NO_IDLE_HZ=y
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
# CONFIG_AEABI is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
@@ -220,7 +221,10 @@ CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
@@ -847,6 +851,16 @@ CONFIG_SPI_BITBANG=m
#
#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_E680 is not set
+CONFIG_LEDS_A780=m
+CONFIG_LEDS_TRIGGER_TIMER=y
+
+#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
@@ -1120,7 +1134,7 @@ CONFIG_CONFIGFS_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
-CONFIG_CRAMFS=y
+CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
@@ -1130,7 +1144,7 @@ CONFIG_CRAMFS=y
#
# Network File Systems
#
-CONFIG_NFS_FS=m
+CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
@@ -1140,13 +1154,14 @@ CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
@@ -1250,13 +1265,13 @@ CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
@@ -1283,7 +1298,7 @@ CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC16=y
diff --git a/packages/linux/linux-ezx/defconfig-e680 b/packages/linux/linux-ezx/defconfig-e680
index 9f57ea29f8..4ecdfc9220 100644
--- a/packages/linux/linux-ezx/defconfig-e680
+++ b/packages/linux/linux-ezx/defconfig-e680
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.16.13
-# Fri Jun 2 15:01:31 2006
+# Thu May 18 19:40:25 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
@@ -153,8 +153,8 @@ CONFIG_XSCALE_PMU=y
#
# Kernel Features
#
-CONFIG_PREEMPT=y
-CONFIG_NO_IDLE_HZ=y
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
# CONFIG_AEABI is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
@@ -172,7 +172,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="console=ttyS2,115200n8 console=tty1 noinitrd root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug"
+CONFIG_CMDLINE="mem=32M root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=1 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off console=ttyS2,115200n8 console=tty0"
# CONFIG_XIP_KERNEL is not set
#
@@ -221,7 +221,10 @@ CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
@@ -853,7 +856,8 @@ CONFIG_SPI_BITBANG=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_EZX=m
+CONFIG_LEDS_E680=m
+# CONFIG_LEDS_A780 is not set
CONFIG_LEDS_TRIGGER_TIMER=y
#
@@ -1130,7 +1134,7 @@ CONFIG_CONFIGFS_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
-CONFIG_CRAMFS=y
+CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
@@ -1140,7 +1144,7 @@ CONFIG_CRAMFS=y
#
# Network File Systems
#
-CONFIG_NFS_FS=m
+CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
@@ -1150,13 +1154,14 @@ CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
@@ -1230,7 +1235,6 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_DETECT_SOFTLOCKUP is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
@@ -1261,13 +1265,13 @@ CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
@@ -1294,7 +1298,7 @@ CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC16=y
diff --git a/packages/linux/linux-ezx/e680-leds-r1.patch b/packages/linux/linux-ezx/e680-leds-r1.patch
new file mode 100644
index 0000000000..abbab2937d
--- /dev/null
+++ b/packages/linux/linux-ezx/e680-leds-r1.patch
@@ -0,0 +1,374 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.6.16/arch/arm/mach-pxa/ezx.c~e680-leds-r0.patch 2006-06-06 17:14:06.000000000 +0200
++++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-06 17:23:14.000000000 +0200
+@@ -357,6 +357,17 @@
+ .num_resources = ARRAY_SIZE(ezx_backlight_resources),
+ };
+
++#ifdef CONFIG_PXA_EZX_E680
++/*
++ * E680 LEDs
++ */
++static struct platform_device e680led_device = {
++ .name = "e680-led",
++ .id = -1,
++};
++#endif
++
++
+ /* keyboard */
+
+ #if defined(CONFIG_PXA_EZX_V700)
+@@ -766,6 +777,9 @@
+
+ static struct platform_device *devices[] __initdata = {
+ &ezx_bp_device,
++#ifdef CONFIG_PXA_EZX_E680
++ &e680led_device,
++#endif
+ };
+
+ static void __init
+--- linux-2.6.16/drivers/leds/Kconfig~e680-leds-r0.patch 2006-06-06 17:14:05.000000000 +0200
++++ linux-2.6.16/drivers/leds/Kconfig 2006-06-06 17:23:14.000000000 +0200
+@@ -59,6 +59,13 @@
+ This option enables support for the LEDs on Sharp Zaurus
+ SL-6000 series.
+
++config LEDS_E680
++ tristate "LED Support for the Motorola E680(i) GSM Phone"
++ depends LEDS_CLASS && PXA_EZX_E680
++ help
++ This options enables support for the LEDs on the
++ Motorola E680(i) GSM Phone.
++
+ config LEDS_TRIGGER_TIMER
+ tristate "LED Timer Trigger"
+ depends LEDS_TRIGGERS
+--- linux-2.6.16/drivers/leds/Makefile~e680-leds-r0.patch 2006-06-06 17:14:05.000000000 +0200
++++ linux-2.6.16/drivers/leds/Makefile 2006-06-06 17:23:14.000000000 +0200
+@@ -10,7 +10,8 @@
+ obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o
+ obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
+ obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
++obj-$(CONFIG_LEDS_E680) += leds-e680.o
+
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
+-obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
+\ Kein Zeilenumbruch am Dateiende.
++obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
+--- /dev/null 2006-06-06 16:58:36.577045136 +0200
++++ linux-2.6.16/drivers/leds/leds-e680.c 2006-06-06 17:55:46.000000000 +0200
+@@ -0,0 +1,307 @@
++/*
++ * EZX Platform LED Driver for the Motorola E680(i) GSM Phone
++ *
++ * Copyright 2006 Vanille-Media
++ *
++ * Author: Michael Lauer <mickey@Vanille.de>
++ *
++ * Based on the Motorola 2.4 leds-e680.c and leds-corgi.c by Richard Purdie
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/delay.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/platform_device.h>
++#include <linux/leds.h>
++#include <asm/mach-types.h>
++#include <asm/arch/hardware.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/arch/ezx-pcap.h>
++
++//FIXME move defines to a common header file
++#define IND_CNTL_R_BUL 46
++#define IND_CNTL_G_BUL 47
++#define SSP_PCAP_LED_MASK 0x000fffe0
++#define SSP_PCAP_LED_SHIFT 5
++#define GPIO_TC_MM_EN 99
++
++static enum led_brightness old_red;
++static enum led_brightness old_green;
++static enum led_brightness old_blue;
++
++typedef struct {
++ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/
++ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/
++ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/
++ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/
++ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/
++ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/
++ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/
++ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/
++ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/
++} PCAP2_LED_REGISTER_VALUE;
++
++const PCAP2_LED_REGISTER_VALUE led_register_value[]=
++{
++ /* on/off pulsepower timing intensity */
++ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */
++ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */
++ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */
++ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */
++ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */
++ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */
++ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */
++ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */
++};
++
++static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue )
++{
++ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue );
++ unsigned int tempValue = 0;
++ unsigned int value = 0;
++ unsigned int stateIndex = 0;
++ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip;
++
++ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7;
++ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex );
++ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1;
++ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1;
++ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1;
++ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1;
++ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf;
++ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf;
++ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3;
++ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3;
++ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1;
++
++ /* disable LEDs */
++ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS )
++ {
++ printk( KERN_WARNING "LED PCAP Read Failed\n" );
++ return;
++ }
++ tempValue &= (~SSP_PCAP_LED_MASK);
++ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS )
++ {
++ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" );
++ return;
++ }
++
++ /* configure GPIOs as output */
++ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT);
++ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT);
++
++ //FIXME: Simplify this logic
++ if ( (gpio_green && gpio_red) )
++ {
++ /*Disable Red & Green signal*/
++ set_GPIO(IND_CNTL_R_BUL); /*IND_CNTL_R_BUL Low active*/
++ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
++
++ clr_GPIO(IND_CNTL_G_BUL); /*IND_CNTL_G_BUL High active*/
++ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
++
++ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n");
++ } else if ( gpio_green && !gpio_red )
++ {
++ /*Green Disable, Red Enable*/
++ clr_GPIO(IND_CNTL_R_BUL);
++ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
++
++ clr_GPIO(IND_CNTL_G_BUL);
++ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
++
++ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n");
++ } else if (gpio_red && !gpio_green )
++ {
++ /*Red Disable, Green Enable*/
++ set_GPIO(IND_CNTL_R_BUL);
++ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
++
++ set_GPIO(IND_CNTL_G_BUL);
++ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL);
++ printk( KERN_DEBUG "LED GPIO Red Disable, Green Enable");
++ }else
++ {
++ /*Red & Green enable*/
++ clr_GPIO(IND_CNTL_R_BUL);
++ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
++
++ set_GPIO(IND_CNTL_G_BUL);
++ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL);
++ printk( KERN_DEBUG "LED GPIO Red & Green Enable\n");
++ }
++
++ /* Write PCAP LED Peripheral Control Register*/
++ value = ( ledr_en | (ledg_en <<1) | (ledr_ctrl <<2) | (ledg_ctrl <<6) |
++ (ledr_i << 10) | (ledg_i <<12) | (skip <<14) ) & 0x7fff;
++ tempValue |= (value <<SSP_PCAP_LED_SHIFT);
++
++ if ( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) == SSP_PCAP_SUCCESS )
++ {
++ printk( KERN_DEBUG "LED PCAP Write Success (0x%x :0x%x)\n",tempValue,value);
++ old_red = red;
++ old_green = green;
++ old_blue = blue;
++ return;
++ } else {
++ printk( KERN_DEBUG "LED PCAP Write Failed (State Change)\n");
++ return;
++ }
++}
++
++static void e680led_red_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ printk( KERN_DEBUG "e680led_red_set: %d\n", value );
++ e680led_led_set( 1 && value, old_green, old_blue );
++}
++
++static void e680led_green_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ printk( KERN_DEBUG "e680led_green_set: %d\n", value );
++ e680led_led_set( old_red, 1 && value, old_blue );
++}
++
++static void e680led_blue_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ printk( KERN_DEBUG "e680led_blue_set: %d\n", value );
++ e680led_led_set( old_red, old_green, 1 && value );
++}
++
++static void e680led_keypad_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ /* this is not working yet, as there is something else missing */
++#if 0
++ printk( KERN_DEBUG "e680led_keypad_set: %d\n", value );
++
++ pxa_gpio_mode(GPIO_TC_MM_EN);
++ GPDR(GPIO_TC_MM_EN) |= GPIO_bit(GPIO_TC_MM_EN);
++ GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN);
++
++ udelay( 100 );
++
++ if ( value ) {
++ GPCR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN);
++ PGSR3 &= ~GPIO_bit(GPIO_TC_MM_EN);
++ } else {
++ GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN);
++ PGSR3 |= GPIO_bit(GPIO_TC_MM_EN);
++ }
++#endif
++}
++
++static struct led_classdev e680_red_led = {
++ .name = "e680:red",
++ .default_trigger = "none",
++ .brightness_set = e680led_red_set,
++};
++
++static struct led_classdev e680_green_led = {
++ .name = "e680:green",
++ .default_trigger = "none",
++ .brightness_set = e680led_green_set,
++};
++
++static struct led_classdev e680_blue_led = {
++ .name = "e680:blue",
++ .default_trigger = "none",
++ .brightness_set = e680led_blue_set,
++};
++
++static struct led_classdev e680_keypad_led = {
++ .name = "e680:keypad",
++ .default_trigger = "none",
++ .brightness_set = e680led_keypad_set,
++};
++
++#ifdef CONFIG_PM
++static int e680led_suspend(struct platform_device *dev, pm_message_t state)
++{
++ led_classdev_suspend(&e680_red_led);
++ led_classdev_suspend(&e680_green_led);
++ led_classdev_suspend(&e680_blue_led);
++ led_classdev_suspend(&e680_keypad_led);
++ return 0;
++}
++
++static int e680led_resume(struct platform_device *dev)
++{
++ led_classdev_resume(&e680_red_led);
++ led_classdev_resume(&e680_green_led);
++ led_classdev_resume(&e680_blue_led);
++ led_classdev_resume(&e680_keypad_led);
++ return 0;
++}
++#endif
++
++static int e680led_probe(struct platform_device *pdev)
++{
++ int ret;
++
++ ret = led_classdev_register(&pdev->dev, &e680_red_led);
++ if (ret < 0)
++ return ret;
++
++ ret = led_classdev_register(&pdev->dev, &e680_green_led);
++ if (ret < 0)
++ led_classdev_unregister(&e680_red_led);
++
++ ret = led_classdev_register(&pdev->dev, &e680_blue_led);
++ if (ret < 0) {
++ led_classdev_unregister(&e680_red_led);
++ led_classdev_unregister(&e680_green_led);
++ }
++
++ ret = led_classdev_register(&pdev->dev, &e680_keypad_led);
++ if (ret < 0) {
++ led_classdev_unregister(&e680_red_led);
++ led_classdev_unregister(&e680_green_led);
++ led_classdev_unregister(&e680_blue_led);
++ }
++ return ret;
++}
++
++static int e680led_remove(struct platform_device *pdev)
++{
++ led_classdev_unregister(&e680_red_led);
++ led_classdev_unregister(&e680_green_led);
++ led_classdev_unregister(&e680_blue_led);
++ led_classdev_unregister(&e680_keypad_led);
++ return 0;
++}
++
++static struct platform_driver e680led_driver = {
++ .probe = e680led_probe,
++ .remove = e680led_remove,
++#ifdef CONFIG_PM
++ .suspend = e680led_suspend,
++ .resume = e680led_resume,
++#endif
++ .driver = {
++ .name = "e680-led",
++ },
++};
++
++static int __init e680led_init(void)
++{
++ return platform_driver_register(&e680led_driver);
++}
++
++static void __exit e680led_exit(void)
++{
++ e680led_led_set( 0, 0, 0 );
++ platform_driver_unregister(&e680led_driver);
++}
++
++module_init(e680led_init);
++module_exit(e680led_exit);
++
++MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>");
++MODULE_DESCRIPTION("Motorola E680 LED driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-ezx/led_ezx-r0.patch b/packages/linux/linux-ezx/led_ezx-r0.patch
deleted file mode 100644
index 6fc2031d86..0000000000
--- a/packages/linux/linux-ezx/led_ezx-r0.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~led_ezx-r0.patch
-+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c
-@@ -357,6 +357,15 @@
- .num_resources = ARRAY_SIZE(ezx_backlight_resources),
- };
-
-+/*
-+ * EZX LEDs
-+ */
-+static struct platform_device ezxled_device = {
-+ .name = "ezx-led",
-+ .id = -1,
-+};
-+
-+
- /* keyboard */
-
- #if defined(CONFIG_PXA_EZX_V700)
-@@ -770,6 +779,7 @@
-
- static struct platform_device *devices[] __initdata = {
- &ezx_bp_device,
-+ &ezxled_device,
- };
-
- static void __init
---- linux-2.6.16/drivers/leds/Kconfig~led_ezx-r0.patch
-+++ linux-2.6.16/drivers/leds/Kconfig
-@@ -59,6 +59,13 @@
- This option enables support for the LEDs on Sharp Zaurus
- SL-6000 series.
-
-+config LEDS_EZX
-+ tristate "LED Support for the Motorola EZX Platform"
-+ depends LEDS_CLASS && PXA_EZX && PXA_EZX_E680
-+ help
-+ This options enables support for the LEDs on Motorola EZX
-+ A780 and E680(i) GSM Phones.
-+
- config LEDS_TRIGGER_TIMER
- tristate "LED Timer Trigger"
- depends LEDS_TRIGGERS
---- linux-2.6.16/drivers/leds/Makefile~led_ezx-r0.patch
-+++ linux-2.6.16/drivers/leds/Makefile
-@@ -10,7 +10,8 @@
- obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o
- obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
- obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
-+obj-$(CONFIG_LEDS_EZX) += leds-ezx.o
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
--obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
-\ Kein Zeilenumbruch am Dateiende.
-+obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
---- /dev/null
-+++ linux-2.6.16/drivers/leds/leds-ezx.c
-@@ -0,0 +1,111 @@
-+/*
-+ * EZX Platform LED Driver
-+ *
-+ * Copyright 2006 Vanille-Media
-+ *
-+ * Author: Michael Lauer <mickey@Vanille.de>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+//#include <asm/mach-types.h>
-+//#include <asm/arch/hardware.h>
-+//#include <asm/arch/pxa-regs.h>
-+#include "../misc/ezx/ssp_pcap.h"
-+
-+static void ezxled_red_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "exzled_red_set: %d", value );
-+}
-+
-+static void ezxled_green_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "exzled_green_set: %d", value );
-+}
-+
-+static struct led_classdev ezx_red_led = {
-+ .name = "ezx:red",
-+ .default_trigger = "timer",
-+ .brightness_set = ezxled_red_set,
-+};
-+
-+static struct led_classdev ezx_green_led = {
-+ .name = "ezx:green",
-+ .default_trigger = "timer",
-+ .brightness_set = ezxled_green_set,
-+};
-+
-+#ifdef CONFIG_PM
-+static int ezxled_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+ led_classdev_suspend(&ezx_red_led);
-+ led_classdev_suspend(&ezx_green_led);
-+ return 0;
-+}
-+
-+static int ezxled_resume(struct platform_device *dev)
-+{
-+ led_classdev_resume(&ezx_red_led);
-+ led_classdev_resume(&ezx_green_led);
-+ return 0;
-+}
-+#endif
-+
-+static int ezxled_probe(struct platform_device *pdev)
-+{
-+ int ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &ezx_red_led);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &ezx_green_led);
-+ if (ret < 0)
-+ led_classdev_unregister(&ezx_red_led);
-+
-+ return ret;
-+}
-+
-+static int ezxled_remove(struct platform_device *pdev)
-+{
-+ led_classdev_unregister(&ezx_red_led);
-+ led_classdev_unregister(&ezx_green_led);
-+ return 0;
-+}
-+
-+static struct platform_driver ezxled_driver = {
-+ .probe = ezxled_probe,
-+ .remove = ezxled_remove,
-+#ifdef CONFIG_PM
-+ .suspend = ezxled_suspend,
-+ .resume = ezxled_resume,
-+#endif
-+ .driver = {
-+ .name = "ezx-led",
-+ },
-+};
-+
-+static int __init ezxled_init(void)
-+{
-+ return platform_driver_register(&ezxled_driver);
-+}
-+
-+static void __exit ezxled_exit(void)
-+{
-+ platform_driver_unregister(&ezxled_driver);
-+}
-+
-+module_init(ezxled_init);
-+module_exit(ezxled_exit);
-+
-+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>");
-+MODULE_DESCRIPTION("EZX LED driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-ezx_2.6.16.13.bb b/packages/linux/linux-ezx_2.6.16.13.bb
index eb92b221a1..1cc9ec6d83 100644
--- a/packages/linux/linux-ezx_2.6.16.13.bb
+++ b/packages/linux/linux-ezx_2.6.16.13.bb
@@ -6,7 +6,7 @@ MAINTAINER = "Michael 'Mickey' Lauer <mickey@vanille.de>"
LICENSE = "GPL"
DEPENDS += "quilt-native"
EZX = "ezx6"
-PR = "${EZX}-r6"
+PR = "${EZX}-r7"
inherit kernel
@@ -30,11 +30,14 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \
${RPSRC}/led_ide-r6.patch;patch=1 \
${RPSRC}/led_nand-r3.patch;patch=1 \
\
- file://led_ezx-r0.patch;patch=1 \
file://touchscreen-fix-r0.patch;patch=1 \
\
file://e680-keypad-compile-HACK.patch;patch=1 \
file://e680-disable-boomer-HACK.patch;patch=1 \
+ \
+ file://e680-leds-r1.patch;patch=1 \
+ file://a780-leds-r0.patch;patch=1 \
+ \
file://defconfig-a780 \
file://defconfig-e680"
S = "${WORKDIR}/linux-2.6.16"
@@ -50,10 +53,13 @@ COMPATIBLE_MACHINE = '(a780|e680)'
CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 noinitrd"
CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5"
-# CMDLINE_OTHER = "dyntick=enable"
+# uncomment if you want to boot over NFS
+#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3"
+# uncomment to enable dyntick
+#CMDLINE_OTHER = "dyntick=enable"
CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off"
-CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}"
+CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG} mem=32M"
###############################################################
# module configs specific to this kernel
diff --git a/packages/linux/logicpd-pxa270-2.6.17-rc5/.mtn2git_empty b/packages/linux/logicpd-pxa270-2.6.17-rc5/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/logicpd-pxa270-2.6.17-rc5/.mtn2git_empty
diff --git a/packages/linux/logicpd-pxa270-2.6.17-rc5/linux-2.6.17-rc5.patch b/packages/linux/logicpd-pxa270-2.6.17-rc5/linux-2.6.17-rc5.patch
new file mode 100644
index 0000000000..074f6e123d
--- /dev/null
+++ b/packages/linux/logicpd-pxa270-2.6.17-rc5/linux-2.6.17-rc5.patch
@@ -0,0 +1,2183 @@
+Index: arch/arm/configs/lpd270_defconfig
+===================================================================
+RCS file: arch/arm/configs/lpd270_defconfig
+diff -N arch/arm/configs/lpd270_defconfig
+*** /dev/null 1 Jan 1970 00:00:00 -0000
+--- arch/arm/configs/lpd270_defconfig 1 Jun 2006 17:31:13 -0000 1.3
+***************
+*** 0 ****
+--- 1,926 ----
++ #
++ # Automatically generated make config: don't edit
++ # Linux kernel version: 2.6.17-rc5
++ # Tue May 30 12:40:27 2006
++ #
++ CONFIG_ARM=y
++ CONFIG_MMU=y
++ CONFIG_RWSEM_GENERIC_SPINLOCK=y
++ CONFIG_GENERIC_HWEIGHT=y
++ CONFIG_GENERIC_CALIBRATE_DELAY=y
++ CONFIG_ARCH_MTD_XIP=y
++ CONFIG_VECTORS_BASE=0xffff0000
++
++ #
++ # Code maturity level options
++ #
++ CONFIG_EXPERIMENTAL=y
++ CONFIG_BROKEN_ON_SMP=y
++ CONFIG_INIT_ENV_ARG_LIMIT=32
++
++ #
++ # General setup
++ #
++ CONFIG_LOCALVERSION=""
++ CONFIG_LOCALVERSION_AUTO=y
++ CONFIG_SWAP=y
++ CONFIG_SYSVIPC=y
++ # CONFIG_POSIX_MQUEUE is not set
++ # CONFIG_BSD_PROCESS_ACCT is not set
++ CONFIG_SYSCTL=y
++ # CONFIG_AUDIT is not set
++ # CONFIG_IKCONFIG is not set
++ # CONFIG_RELAY is not set
++ CONFIG_INITRAMFS_SOURCE=""
++ CONFIG_UID16=y
++ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++ # CONFIG_EMBEDDED is not set
++ CONFIG_KALLSYMS=y
++ # CONFIG_KALLSYMS_ALL is not set
++ # CONFIG_KALLSYMS_EXTRA_PASS is not set
++ CONFIG_HOTPLUG=y
++ CONFIG_PRINTK=y
++ CONFIG_BUG=y
++ CONFIG_ELF_CORE=y
++ CONFIG_BASE_FULL=y
++ CONFIG_FUTEX=y
++ CONFIG_EPOLL=y
++ CONFIG_SHMEM=y
++ CONFIG_SLAB=y
++ # CONFIG_TINY_SHMEM is not set
++ CONFIG_BASE_SMALL=0
++ # CONFIG_SLOB is not set
++ CONFIG_OBSOLETE_INTERMODULE=y
++
++ #
++ # Loadable module support
++ #
++ CONFIG_MODULES=y
++ # CONFIG_MODULE_UNLOAD is not set
++ # CONFIG_MODVERSIONS is not set
++ # CONFIG_MODULE_SRCVERSION_ALL is not set
++ # CONFIG_KMOD is not set
++
++ #
++ # Block layer
++ #
++ # CONFIG_BLK_DEV_IO_TRACE is not set
++
++ #
++ # IO Schedulers
++ #
++ CONFIG_IOSCHED_NOOP=y
++ CONFIG_IOSCHED_AS=y
++ CONFIG_IOSCHED_DEADLINE=y
++ CONFIG_IOSCHED_CFQ=y
++ CONFIG_DEFAULT_AS=y
++ # CONFIG_DEFAULT_DEADLINE is not set
++ # CONFIG_DEFAULT_CFQ is not set
++ # CONFIG_DEFAULT_NOOP is not set
++ CONFIG_DEFAULT_IOSCHED="anticipatory"
++
++ #
++ # System Type
++ #
++ # CONFIG_ARCH_CLPS7500 is not set
++ # CONFIG_ARCH_CLPS711X is not set
++ # CONFIG_ARCH_CO285 is not set
++ # CONFIG_ARCH_EBSA110 is not set
++ # CONFIG_ARCH_EP93XX is not set
++ # CONFIG_ARCH_FOOTBRIDGE is not set
++ # CONFIG_ARCH_INTEGRATOR is not set
++ # CONFIG_ARCH_IOP3XX is not set
++ # CONFIG_ARCH_IXP4XX is not set
++ # CONFIG_ARCH_IXP2000 is not set
++ # CONFIG_ARCH_IXP23XX is not set
++ # CONFIG_ARCH_L7200 is not set
++ CONFIG_ARCH_PXA=y
++ # CONFIG_ARCH_RPC is not set
++ # CONFIG_ARCH_SA1100 is not set
++ # CONFIG_ARCH_S3C2410 is not set
++ # CONFIG_ARCH_SHARK is not set
++ # CONFIG_ARCH_LH7A40X is not set
++ # CONFIG_ARCH_OMAP is not set
++ # CONFIG_ARCH_VERSATILE is not set
++ # CONFIG_ARCH_REALVIEW is not set
++ # CONFIG_ARCH_IMX is not set
++ # CONFIG_ARCH_H720X is not set
++ # CONFIG_ARCH_AAEC2000 is not set
++ # CONFIG_ARCH_AT91RM9200 is not set
++
++ #
++ # Intel PXA2xx Implementations
++ #
++ # CONFIG_ARCH_LUBBOCK is not set
++ CONFIG_MACH_LOGICPD_PXA270=y
++ # CONFIG_MACH_MAINSTONE is not set
++ # CONFIG_ARCH_PXA_IDP is not set
++ # CONFIG_PXA_SHARPSL is not set
++ CONFIG_PXA27x=y
++ CONFIG_IWMMXT=y
++
++ #
++ # Processor Type
++ #
++ CONFIG_CPU_32=y
++ CONFIG_CPU_XSCALE=y
++ CONFIG_CPU_32v5=y
++ CONFIG_CPU_ABRT_EV5T=y
++ CONFIG_CPU_CACHE_VIVT=y
++ CONFIG_CPU_TLB_V4WBI=y
++
++ #
++ # Processor Features
++ #
++ # CONFIG_ARM_THUMB is not set
++ CONFIG_XSCALE_PMU=y
++
++ #
++ # Bus support
++ #
++
++ #
++ # PCCARD (PCMCIA/CardBus) support
++ #
++ # CONFIG_PCCARD is not set
++
++ #
++ # Kernel Features
++ #
++ # CONFIG_PREEMPT is not set
++ # CONFIG_NO_IDLE_HZ is not set
++ CONFIG_HZ=100
++ # CONFIG_AEABI is not set
++ # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
++ CONFIG_SELECT_MEMORY_MODEL=y
++ CONFIG_FLATMEM_MANUAL=y
++ # CONFIG_DISCONTIGMEM_MANUAL is not set
++ # CONFIG_SPARSEMEM_MANUAL is not set
++ CONFIG_FLATMEM=y
++ CONFIG_FLAT_NODE_MEM_MAP=y
++ # CONFIG_SPARSEMEM_STATIC is not set
++ CONFIG_SPLIT_PTLOCK_CPUS=4096
++ CONFIG_ALIGNMENT_TRAP=y
++
++ #
++ # Boot options
++ #
++ CONFIG_ZBOOT_ROM_TEXT=0x0
++ CONFIG_ZBOOT_ROM_BSS=0x0
++ CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 ip=dhcp console=ttyS0,115200 mem=64M"
++ #CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.3.5:/opt/nfs-exports/pxa-nfs-root ip=dhcp console=ttyS0,115200 mem=64M"
++ # CONFIG_XIP_KERNEL is not set
++
++ #
++ # Floating point emulation
++ #
++
++ #
++ # At least one emulation must be selected
++ #
++ CONFIG_FPE_NWFPE=y
++ # CONFIG_FPE_NWFPE_XP is not set
++ # CONFIG_FPE_FASTFPE is not set
++
++ #
++ # Userspace binary formats
++ #
++ CONFIG_BINFMT_ELF=y
++ # CONFIG_BINFMT_AOUT is not set
++ # CONFIG_BINFMT_MISC is not set
++ # CONFIG_ARTHUR is not set
++
++ #
++ # Power management options
++ #
++ # CONFIG_PM is not set
++ # CONFIG_APM is not set
++
++ #
++ # Networking
++ #
++ CONFIG_NET=y
++
++ #
++ # Networking options
++ #
++ # CONFIG_NETDEBUG is not set
++ # CONFIG_PACKET is not set
++ CONFIG_UNIX=y
++ # CONFIG_NET_KEY is not set
++ CONFIG_INET=y
++ # CONFIG_IP_MULTICAST is not set
++ # CONFIG_IP_ADVANCED_ROUTER is not set
++ CONFIG_IP_FIB_HASH=y
++ CONFIG_IP_PNP=y
++ CONFIG_IP_PNP_DHCP=y
++ # CONFIG_IP_PNP_BOOTP is not set
++ # CONFIG_IP_PNP_RARP is not set
++ # CONFIG_NET_IPIP is not set
++ # CONFIG_NET_IPGRE is not set
++ # CONFIG_ARPD is not set
++ # CONFIG_SYN_COOKIES is not set
++ # CONFIG_INET_AH is not set
++ # CONFIG_INET_ESP is not set
++ # CONFIG_INET_IPCOMP is not set
++ # CONFIG_INET_XFRM_TUNNEL is not set
++ # CONFIG_INET_TUNNEL is not set
++ CONFIG_INET_DIAG=y
++ CONFIG_INET_TCP_DIAG=y
++ # CONFIG_TCP_CONG_ADVANCED is not set
++ CONFIG_TCP_CONG_BIC=y
++ # CONFIG_IPV6 is not set
++ # CONFIG_INET6_XFRM_TUNNEL is not set
++ # CONFIG_INET6_TUNNEL is not set
++ # CONFIG_NETFILTER is not set
++
++ #
++ # DCCP Configuration (EXPERIMENTAL)
++ #
++ # CONFIG_IP_DCCP is not set
++
++ #
++ # SCTP Configuration (EXPERIMENTAL)
++ #
++ # CONFIG_IP_SCTP is not set
++
++ #
++ # TIPC Configuration (EXPERIMENTAL)
++ #
++ # CONFIG_TIPC is not set
++ # CONFIG_ATM is not set
++ # CONFIG_BRIDGE is not set
++ # CONFIG_VLAN_8021Q is not set
++ # CONFIG_DECNET is not set
++ # CONFIG_LLC2 is not set
++ # CONFIG_IPX is not set
++ # CONFIG_ATALK is not set
++ # CONFIG_X25 is not set
++ # CONFIG_LAPB is not set
++ # CONFIG_NET_DIVERT is not set
++ # CONFIG_ECONET is not set
++ # CONFIG_WAN_ROUTER is not set
++
++ #
++ # QoS and/or fair queueing
++ #
++ # CONFIG_NET_SCHED is not set
++
++ #
++ # Network testing
++ #
++ # CONFIG_NET_PKTGEN is not set
++ # CONFIG_HAMRADIO is not set
++ # CONFIG_IRDA is not set
++ # CONFIG_BT is not set
++ # CONFIG_IEEE80211 is not set
++
++ #
++ # Device Drivers
++ #
++
++ #
++ # Generic Driver Options
++ #
++ CONFIG_STANDALONE=y
++ CONFIG_PREVENT_FIRMWARE_BUILD=y
++ # CONFIG_FW_LOADER is not set
++ # CONFIG_DEBUG_DRIVER is not set
++
++ #
++ # Connector - unified userspace <-> kernelspace linker
++ #
++ # CONFIG_CONNECTOR is not set
++
++ #
++ # Memory Technology Devices (MTD)
++ #
++ CONFIG_MTD=y
++ # CONFIG_MTD_DEBUG is not set
++ # CONFIG_MTD_CONCAT is not set
++ CONFIG_MTD_PARTITIONS=y
++ CONFIG_MTD_REDBOOT_PARTS=y
++ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
++ # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
++ # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
++ # CONFIG_MTD_CMDLINE_PARTS is not set
++ # CONFIG_MTD_AFS_PARTS is not set
++
++ #
++ # User Modules And Translation Layers
++ #
++ CONFIG_MTD_CHAR=y
++ CONFIG_MTD_BLOCK=y
++ # CONFIG_FTL is not set
++ # CONFIG_NFTL is not set
++ # CONFIG_INFTL is not set
++ # CONFIG_RFD_FTL is not set
++
++ #
++ # RAM/ROM/Flash chip drivers
++ #
++ CONFIG_MTD_CFI=y
++ # CONFIG_MTD_JEDECPROBE is not set
++ CONFIG_MTD_GEN_PROBE=y
++ CONFIG_MTD_CFI_ADV_OPTIONS=y
++ CONFIG_MTD_CFI_NOSWAP=y
++ # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
++ # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
++ CONFIG_MTD_CFI_GEOMETRY=y
++ CONFIG_MTD_MAP_BANK_WIDTH_1=y
++ CONFIG_MTD_MAP_BANK_WIDTH_2=y
++ CONFIG_MTD_MAP_BANK_WIDTH_4=y
++ # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++ # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++ # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++ # CONFIG_MTD_CFI_I1 is not set
++ CONFIG_MTD_CFI_I2=y
++ # CONFIG_MTD_CFI_I4 is not set
++ # CONFIG_MTD_CFI_I8 is not set
++ # CONFIG_MTD_OTP is not set
++ CONFIG_MTD_CFI_INTELEXT=y
++ # CONFIG_MTD_CFI_AMDSTD is not set
++ # CONFIG_MTD_CFI_STAA is not set
++ CONFIG_MTD_CFI_UTIL=y
++ # CONFIG_MTD_RAM is not set
++ # CONFIG_MTD_ROM is not set
++ # CONFIG_MTD_ABSENT is not set
++ # CONFIG_MTD_OBSOLETE_CHIPS is not set
++ # CONFIG_MTD_XIP is not set
++
++ #
++ # Mapping drivers for chip access
++ #
++ # CONFIG_MTD_COMPLEX_MAPPINGS is not set
++ # CONFIG_MTD_PHYSMAP is not set
++ CONFIG_MTD_LOGICPD_PXA270=y
++ # CONFIG_MTD_ARM_INTEGRATOR is not set
++ # CONFIG_MTD_SHARP_SL is not set
++ # CONFIG_MTD_PLATRAM is not set
++
++ #
++ # Self-contained MTD device drivers
++ #
++ # CONFIG_MTD_SLRAM is not set
++ # CONFIG_MTD_PHRAM is not set
++ # CONFIG_MTD_MTDRAM is not set
++ # CONFIG_MTD_BLOCK2MTD is not set
++
++ #
++ # Disk-On-Chip Device Drivers
++ #
++ # CONFIG_MTD_DOC2000 is not set
++ # CONFIG_MTD_DOC2001 is not set
++ # CONFIG_MTD_DOC2001PLUS is not set
++
++ #
++ # NAND Flash Device Drivers
++ #
++ # CONFIG_MTD_NAND is not set
++
++ #
++ # OneNAND Flash Device Drivers
++ #
++ # CONFIG_MTD_ONENAND is not set
++
++ #
++ # Parallel port support
++ #
++ # CONFIG_PARPORT is not set
++
++ #
++ # Plug and Play support
++ #
++
++ #
++ # Block devices
++ #
++ CONFIG_BLK_DEV_LOGICPD_CF=y
++ # CONFIG_BLK_DEV_COW_COMMON is not set
++ # CONFIG_BLK_DEV_LOOP is not set
++ # CONFIG_BLK_DEV_NBD is not set
++ # CONFIG_BLK_DEV_RAM is not set
++ # CONFIG_BLK_DEV_INITRD is not set
++ # CONFIG_CDROM_PKTCDVD is not set
++ # CONFIG_ATA_OVER_ETH is not set
++
++ #
++ # ATA/ATAPI/MFM/RLL support
++ #
++ CONFIG_IDE=y
++ CONFIG_BLK_DEV_IDE=y
++
++ #
++ # Please see Documentation/ide.txt for help/info on IDE drives
++ #
++ # CONFIG_BLK_DEV_IDE_SATA is not set
++ CONFIG_BLK_DEV_IDEDISK=y
++ # CONFIG_IDEDISK_MULTI_MODE is not set
++ # CONFIG_BLK_DEV_IDECD is not set
++ # CONFIG_BLK_DEV_IDETAPE is not set
++ # CONFIG_BLK_DEV_IDEFLOPPY is not set
++ # CONFIG_IDE_TASK_IOCTL is not set
++
++ #
++ # IDE chipset support/bugfixes
++ #
++ # CONFIG_IDE_GENERIC is not set
++ # CONFIG_IDE_ARM is not set
++ # CONFIG_BLK_DEV_IDEDMA is not set
++ # CONFIG_IDEDMA_AUTO is not set
++ # CONFIG_BLK_DEV_HD is not set
++
++ #
++ # SCSI device support
++ #
++ # CONFIG_RAID_ATTRS is not set
++ # CONFIG_SCSI is not set
++
++ #
++ # Multi-device support (RAID and LVM)
++ #
++ # CONFIG_MD is not set
++
++ #
++ # Fusion MPT device support
++ #
++ # CONFIG_FUSION is not set
++
++ #
++ # IEEE 1394 (FireWire) support
++ #
++
++ #
++ # I2O device support
++ #
++
++ #
++ # Network device support
++ #
++ CONFIG_NETDEVICES=y
++ # CONFIG_DUMMY is not set
++ # CONFIG_BONDING is not set
++ # CONFIG_EQUALIZER is not set
++ # CONFIG_TUN is not set
++
++ #
++ # PHY device support
++ #
++ # CONFIG_PHYLIB is not set
++
++ #
++ # Ethernet (10 or 100Mbit)
++ #
++ CONFIG_NET_ETHERNET=y
++ CONFIG_MII=y
++ CONFIG_SMC91X=y
++ # CONFIG_DM9000 is not set
++
++ #
++ # Ethernet (1000 Mbit)
++ #
++
++ #
++ # Ethernet (10000 Mbit)
++ #
++
++ #
++ # Token Ring devices
++ #
++
++ #
++ # Wireless LAN (non-hamradio)
++ #
++ # CONFIG_NET_RADIO is not set
++
++ #
++ # Wan interfaces
++ #
++ # CONFIG_WAN is not set
++ # CONFIG_PPP is not set
++ # CONFIG_SLIP is not set
++ # CONFIG_SHAPER is not set
++ # CONFIG_NETCONSOLE is not set
++ # CONFIG_NETPOLL is not set
++ # CONFIG_NET_POLL_CONTROLLER is not set
++
++ #
++ # ISDN subsystem
++ #
++ # CONFIG_ISDN is not set
++
++ #
++ # Input device support
++ #
++ 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_JOYDEV is not set
++ # CONFIG_INPUT_TSDEV is not set
++ CONFIG_INPUT_EVDEV=y
++ # CONFIG_INPUT_EVBUG is not set
++
++ #
++ # Input Device Drivers
++ #
++ CONFIG_INPUT_KEYBOARD=y
++ CONFIG_KEYBOARD_ATKBD=y
++ # CONFIG_KEYBOARD_SUNKBD is not set
++ # CONFIG_KEYBOARD_LKKBD is not set
++ # CONFIG_KEYBOARD_XTKBD is not set
++ # CONFIG_KEYBOARD_NEWTON is not set
++ # CONFIG_INPUT_MOUSE is not set
++ # CONFIG_INPUT_JOYSTICK is not set
++ # CONFIG_INPUT_TOUCHSCREEN is not set
++ # CONFIG_INPUT_MISC is not set
++
++ #
++ # Hardware I/O ports
++ #
++ CONFIG_SERIO=y
++ # CONFIG_SERIO_SERPORT is not set
++ CONFIG_SERIO_LIBPS2=y
++ # CONFIG_SERIO_RAW is not set
++ # CONFIG_GAMEPORT is not set
++
++ #
++ # Character devices
++ #
++ CONFIG_VT=y
++ CONFIG_VT_CONSOLE=y
++ CONFIG_HW_CONSOLE=y
++ # CONFIG_SERIAL_NONSTANDARD is not set
++
++ #
++ # Serial drivers
++ #
++ # CONFIG_SERIAL_8250 is not set
++
++ #
++ # Non-8250 serial port support
++ #
++ CONFIG_SERIAL_PXA=y
++ CONFIG_SERIAL_PXA_CONSOLE=y
++ CONFIG_SERIAL_CORE=y
++ CONFIG_SERIAL_CORE_CONSOLE=y
++ CONFIG_UNIX98_PTYS=y
++ CONFIG_LEGACY_PTYS=y
++ CONFIG_LEGACY_PTY_COUNT=256
++
++ #
++ # IPMI
++ #
++ # CONFIG_IPMI_HANDLER is not set
++
++ #
++ # Watchdog Cards
++ #
++ # CONFIG_WATCHDOG is not set
++ # CONFIG_NVRAM is not set
++ # CONFIG_DTLK is not set
++ # CONFIG_R3964 is not set
++
++ #
++ # Ftape, the floppy tape device driver
++ #
++ # CONFIG_RAW_DRIVER is not set
++
++ #
++ # TPM devices
++ #
++ # CONFIG_TCG_TPM is not set
++ # CONFIG_TELCLOCK is not set
++
++ #
++ # I2C support
++ #
++ # CONFIG_I2C is not set
++
++ #
++ # SPI support
++ #
++ # CONFIG_SPI is not set
++ # CONFIG_SPI_MASTER is not set
++
++ #
++ # Dallas's 1-wire bus
++ #
++ # CONFIG_W1 is not set
++
++ #
++ # Hardware Monitoring support
++ #
++ CONFIG_HWMON=y
++ # CONFIG_HWMON_VID is not set
++ # CONFIG_SENSORS_F71805F is not set
++ # CONFIG_HWMON_DEBUG_CHIP is not set
++
++ #
++ # Misc devices
++ #
++
++ #
++ # LED devices
++ #
++ # CONFIG_NEW_LEDS is not set
++
++ #
++ # LED drivers
++ #
++
++ #
++ # LED Triggers
++ #
++
++ #
++ # Multimedia devices
++ #
++ # CONFIG_VIDEO_DEV is not set
++ CONFIG_VIDEO_V4L2=y
++
++ #
++ # Digital Video Broadcasting Devices
++ #
++ # CONFIG_DVB is not set
++
++ #
++ # Graphics support
++ #
++ CONFIG_FB=y
++ CONFIG_FB_CFB_FILLRECT=y
++ CONFIG_FB_CFB_COPYAREA=y
++ CONFIG_FB_CFB_IMAGEBLIT=y
++ # CONFIG_FB_MACMODES is not set
++ CONFIG_FB_FIRMWARE_EDID=y
++ # CONFIG_FB_MODE_HELPERS is not set
++ # CONFIG_FB_TILEBLITTING is not set
++ # CONFIG_FB_S1D13XXX is not set
++ CONFIG_FB_PXA=y
++ # CONFIG_FB_PXA_PARAMETERS is not set
++ # CONFIG_FB_PXA_LPD_LQ64D343 is not set
++ # CONFIG_FB_PXA_LPD_LQ035Q7DB02 is not set
++ # CONFIG_FB_PXA_LPD_LQ057Q3DC02 is not set
++ CONFIG_FB_PXA_LPD_LQ10D368=y
++ # CONFIG_FB_VIRTUAL is not set
++
++ #
++ # Console display driver support
++ #
++ # CONFIG_VGA_CONSOLE is not set
++ CONFIG_DUMMY_CONSOLE=y
++ CONFIG_FRAMEBUFFER_CONSOLE=y
++ # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
++ # CONFIG_FONTS is not set
++ CONFIG_FONT_8x8=y
++ CONFIG_FONT_8x16=y
++
++ #
++ # Logo configuration
++ #
++ CONFIG_LOGO=y
++ CONFIG_LOGO_LINUX_MONO=y
++ CONFIG_LOGO_LINUX_VGA16=y
++ CONFIG_LOGO_LINUX_CLUT224=y
++ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++ #
++ # Sound
++ #
++ # CONFIG_SOUND is not set
++
++ #
++ # USB support
++ #
++ CONFIG_USB_ARCH_HAS_HCD=y
++ CONFIG_USB_ARCH_HAS_OHCI=y
++ # CONFIG_USB_ARCH_HAS_EHCI is not set
++ # CONFIG_USB is not set
++
++ #
++ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
++ #
++
++ #
++ # USB Gadget Support
++ #
++ # CONFIG_USB_GADGET is not set
++
++ #
++ # MMC/SD Card support
++ #
++ # CONFIG_MMC is not set
++
++ #
++ # Real Time Clock
++ #
++ CONFIG_RTC_LIB=y
++ # CONFIG_RTC_CLASS is not set
++
++ #
++ # File systems
++ #
++ CONFIG_EXT2_FS=y
++ # CONFIG_EXT2_FS_XATTR is not set
++ # CONFIG_EXT2_FS_XIP is not set
++ # CONFIG_EXT3_FS is not set
++ # CONFIG_REISERFS_FS is not set
++ # CONFIG_JFS_FS is not set
++ # CONFIG_FS_POSIX_ACL is not set
++ # CONFIG_XFS_FS is not set
++ # CONFIG_OCFS2_FS is not set
++ # CONFIG_MINIX_FS is not set
++ # CONFIG_ROMFS_FS is not set
++ CONFIG_INOTIFY=y
++ # CONFIG_QUOTA is not set
++ CONFIG_DNOTIFY=y
++ # CONFIG_AUTOFS_FS is not set
++ # CONFIG_AUTOFS4_FS is not set
++ # CONFIG_FUSE_FS is not set
++
++ #
++ # CD-ROM/DVD Filesystems
++ #
++ # CONFIG_ISO9660_FS is not set
++ # CONFIG_UDF_FS is not set
++
++ #
++ # DOS/FAT/NT Filesystems
++ #
++ CONFIG_FAT_FS=y
++ CONFIG_MSDOS_FS=y
++ CONFIG_VFAT_FS=y
++ CONFIG_FAT_DEFAULT_CODEPAGE=437
++ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++ # CONFIG_NTFS_FS is not set
++
++ #
++ # Pseudo filesystems
++ #
++ CONFIG_PROC_FS=y
++ CONFIG_SYSFS=y
++ # CONFIG_TMPFS is not set
++ # CONFIG_HUGETLB_PAGE is not set
++ CONFIG_RAMFS=y
++ # CONFIG_CONFIGFS_FS is not set
++
++ #
++ # Miscellaneous filesystems
++ #
++ # CONFIG_ADFS_FS is not set
++ # CONFIG_AFFS_FS is not set
++ # CONFIG_HFS_FS is not set
++ # CONFIG_HFSPLUS_FS is not set
++ # CONFIG_BEFS_FS is not set
++ # CONFIG_BFS_FS is not set
++ # CONFIG_EFS_FS is not set
++ # CONFIG_JFFS_FS is not set
++ CONFIG_JFFS2_FS=y
++ CONFIG_JFFS2_FS_DEBUG=0
++ CONFIG_JFFS2_FS_WRITEBUFFER=y
++ # CONFIG_JFFS2_SUMMARY is not set
++ # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++ CONFIG_JFFS2_ZLIB=y
++ CONFIG_JFFS2_RTIME=y
++ # CONFIG_JFFS2_RUBIN is not set
++ # CONFIG_CRAMFS is not set
++ # CONFIG_VXFS_FS is not set
++ # CONFIG_HPFS_FS is not set
++ # CONFIG_QNX4FS_FS is not set
++ # CONFIG_SYSV_FS is not set
++ # CONFIG_UFS_FS is not set
++
++ #
++ # Network File Systems
++ #
++ CONFIG_NFS_FS=y
++ CONFIG_NFS_V3=y
++ # CONFIG_NFS_V3_ACL is not set
++ # CONFIG_NFS_V4 is not set
++ # CONFIG_NFS_DIRECTIO is not set
++ # CONFIG_NFSD is not set
++ CONFIG_ROOT_NFS=y
++ CONFIG_LOCKD=y
++ CONFIG_LOCKD_V4=y
++ CONFIG_NFS_COMMON=y
++ CONFIG_SUNRPC=y
++ # CONFIG_RPCSEC_GSS_KRB5 is not set
++ # CONFIG_RPCSEC_GSS_SPKM3 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
++ # CONFIG_AFS_FS is not set
++ # CONFIG_9P_FS is not set
++
++ #
++ # Partition Types
++ #
++ # CONFIG_PARTITION_ADVANCED is not set
++ CONFIG_MSDOS_PARTITION=y
++
++ #
++ # Native Language Support
++ #
++ CONFIG_NLS=y
++ CONFIG_NLS_DEFAULT="iso8859-1"
++ CONFIG_NLS_CODEPAGE_437=y
++ # CONFIG_NLS_CODEPAGE_737 is not set
++ # CONFIG_NLS_CODEPAGE_775 is not set
++ # CONFIG_NLS_CODEPAGE_850 is not set
++ # CONFIG_NLS_CODEPAGE_852 is not set
++ # CONFIG_NLS_CODEPAGE_855 is not set
++ # CONFIG_NLS_CODEPAGE_857 is not set
++ # CONFIG_NLS_CODEPAGE_860 is not set
++ # CONFIG_NLS_CODEPAGE_861 is not set
++ # CONFIG_NLS_CODEPAGE_862 is not set
++ # 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_869 is not set
++ # CONFIG_NLS_CODEPAGE_936 is not set
++ # CONFIG_NLS_CODEPAGE_950 is not set
++ # CONFIG_NLS_CODEPAGE_932 is not set
++ # CONFIG_NLS_CODEPAGE_949 is not set
++ # 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_ASCII is not set
++ CONFIG_NLS_ISO8859_1=y
++ # CONFIG_NLS_ISO8859_2 is not set
++ # CONFIG_NLS_ISO8859_3 is not set
++ # CONFIG_NLS_ISO8859_4 is not set
++ # CONFIG_NLS_ISO8859_5 is not set
++ # CONFIG_NLS_ISO8859_6 is not set
++ # CONFIG_NLS_ISO8859_7 is not set
++ # CONFIG_NLS_ISO8859_9 is not set
++ # CONFIG_NLS_ISO8859_13 is not set
++ # CONFIG_NLS_ISO8859_14 is not set
++ # CONFIG_NLS_ISO8859_15 is not set
++ # CONFIG_NLS_KOI8_R is not set
++ # CONFIG_NLS_KOI8_U is not set
++ # CONFIG_NLS_UTF8 is not set
++
++ #
++ # Profiling support
++ #
++ # CONFIG_PROFILING is not set
++
++ #
++ # Kernel hacking
++ #
++ # CONFIG_PRINTK_TIME is not set
++ CONFIG_MAGIC_SYSRQ=y
++ CONFIG_DEBUG_KERNEL=y
++ CONFIG_LOG_BUF_SHIFT=14
++ CONFIG_DETECT_SOFTLOCKUP=y
++ # CONFIG_SCHEDSTATS is not set
++ # CONFIG_DEBUG_SLAB is not set
++ # CONFIG_DEBUG_MUTEXES is not set
++ # CONFIG_DEBUG_SPINLOCK is not set
++ # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
++ # CONFIG_DEBUG_KOBJECT is not set
++ CONFIG_DEBUG_BUGVERBOSE=y
++ CONFIG_DEBUG_INFO=y
++ # CONFIG_DEBUG_FS is not set
++ # CONFIG_DEBUG_VM is not set
++ CONFIG_FRAME_POINTER=y
++ # CONFIG_UNWIND_INFO is not set
++ CONFIG_FORCED_INLINING=y
++ # CONFIG_RCU_TORTURE_TEST is not set
++ CONFIG_DEBUG_USER=y
++ # CONFIG_DEBUG_WAITQ is not set
++ CONFIG_DEBUG_ERRORS=y
++ CONFIG_DEBUG_LL=y
++ # CONFIG_DEBUG_ICEDCC is not set
++
++ #
++ # Security options
++ #
++ # CONFIG_KEYS is not set
++ # CONFIG_SECURITY is not set
++
++ #
++ # Cryptographic options
++ #
++ # CONFIG_CRYPTO is not set
++
++ #
++ # Hardware crypto devices
++ #
++
++ #
++ # Library routines
++ #
++ # CONFIG_CRC_CCITT is not set
++ # CONFIG_CRC16 is not set
++ CONFIG_CRC32=y
++ # CONFIG_LIBCRC32C is not set
++ CONFIG_ZLIB_INFLATE=y
++ CONFIG_ZLIB_DEFLATE=y
+Index: arch/arm/kernel/head.S
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/arch/arm/kernel/head.S,v
+retrieving revision 1.1.1.1
+diff -c -3 -p -r1.1.1.1 head.S
+*** arch/arm/kernel/head.S 29 May 2006 00:53:47 -0000 1.1.1.1
+--- arch/arm/kernel/head.S 1 Jun 2006 17:37:16 -0000
+*************** ENTRY(stext)
+*** 74,79 ****
+--- 74,93 ----
+ msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | MODE_SVC @ ensure svc mode
+ @ and irqs disabled
+ mrc p15, 0, r9, c0, c0 @ get processor id
++
++ /* LPD--
++ * This fakes out the Linux kernel into believing that it is
++ * running on a Mainstone hardware platform. The LogicLoader (LoLo)
++ * doesn't currently pass kernel parameters correctly for 2.6 ARM
++ * kernels. Therefore, we just hardcode it here.
++ *
++ * --LPD
++ */
++ mov r0, #0
++ mov r1, #0x300
++ orr r1, r1, #0x0a0
++ orr r1, r1, #0x002
++
+ bl __lookup_processor_type @ r5=procinfo r9=cpuid
+ movs r10, r5 @ invalid processor (r5=0)?
+ beq __error_p @ yes, error 'p'
+Index: arch/arm/mach-pxa/lpd270.c
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/arch/arm/mach-pxa/lpd270.c,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** arch/arm/mach-pxa/lpd270.c 29 May 2006 00:53:55 -0000 1.1.1.1
+--- arch/arm/mach-pxa/lpd270.c 1 Jun 2006 17:04:24 -0000 1.2
+*************** static void lpd270_backlight_power(int o
+*** 246,288 ****
+ }
+ }
+
+! /* 5.7" TFT QVGA (LoLo display number 1) */
+! static struct pxafb_mach_info sharp_lq057q3dc02 __initdata = {
+! .pixclock = 100000,
+! .xres = 240,
+! .yres = 320,
+! .bpp = 16,
+! .hsync_len = 64,
+! .left_margin = 0x27,
+! .right_margin = 0x09,
+! .vsync_len = 0x04,
+! .upper_margin = 0x08,
+! .lower_margin = 0x14,
+! .sync = 0,
+! .lccr0 = 0x07800080,
+! .lccr3 = 0x04400007,
+! .pxafb_backlight_power = lpd270_backlight_power,
+! };
+!
+ /* 6.4" TFT VGA (LoLo display number 5) */
+ static struct pxafb_mach_info sharp_lq64d343 __initdata = {
+ .pixclock = 20000,
+ .xres = 640,
+ .yres = 480,
+ .bpp = 16,
+! .hsync_len = 49,
+! .left_margin = 0x89,
+! .right_margin = 0x19,
+! .vsync_len = 18,
+ .upper_margin = 0x22,
+ .lower_margin = 0,
+! .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
+! .lccr0 = 0x07800080,
+ .lccr3 = 0x04400001,
+ .pxafb_backlight_power = lpd270_backlight_power,
+ };
+
+! /* 3.5" TFT QVGA (LoLo display number 8) */
+ static struct pxafb_mach_info sharp_lq035q7db02_20 __initdata = {
+ .pixclock = 100000,
+ .xres = 240,
+--- 246,273 ----
+ }
+ }
+
+! #ifdef CONFIG_FB_PXA_LPD_LQ64D343
+ /* 6.4" TFT VGA (LoLo display number 5) */
+ static struct pxafb_mach_info sharp_lq64d343 __initdata = {
+ .pixclock = 20000,
+ .xres = 640,
+ .yres = 480,
+ .bpp = 16,
+! .hsync_len = 64,
+! .left_margin = 0x88,
+! .right_margin = 0x18,
+! .vsync_len = 64,
+ .upper_margin = 0x22,
+ .lower_margin = 0,
+! .sync = 0,
+! .lccr0 = 0x078000f9,
+ .lccr3 = 0x04400001,
+ .pxafb_backlight_power = lpd270_backlight_power,
+ };
++ #endif
+
+! #ifdef CONFIG_FB_PXA_LPD_LQ035Q7DB02
+! /* 3.5" TFT QVGA (LoLo display number 8) */
+ static struct pxafb_mach_info sharp_lq035q7db02_20 __initdata = {
+ .pixclock = 100000,
+ .xres = 240,
+*************** static struct pxafb_mach_info sharp_lq03
+*** 299,304 ****
+--- 284,330 ----
+ .lccr3 = 0x04400007,
+ .pxafb_backlight_power = lpd270_backlight_power,
+ };
++ #endif
++
++ #ifdef CONFIG_FB_PXA_LPD_LQ057Q3DC02
++ /* 5.7" TFT QVGA (LoLo display number 1) */
++ static struct pxafb_mach_info sharp_lq057q3dc02 __initdata = {
++ .pixclock = 100000,
++ .xres = 240,
++ .yres = 320,
++ .bpp = 16,
++ .hsync_len = 64,
++ .left_margin = 0x27,
++ .right_margin = 0x09,
++ .vsync_len = 0x04,
++ .upper_margin = 0x08,
++ .lower_margin = 0x14,
++ .sync = 0,
++ .lccr0 = 0x07800080,
++ .lccr3 = 0x04400007,
++ .pxafb_backlight_power = lpd270_backlight_power,
++ };
++ #endif
++
++ #ifdef CONFIG_FB_PXA_LPD_LQ10D368
++ /* 10.4" TFT QVGA (LoLo display number 7) */
++ static struct pxafb_mach_info sharp_lq10d368 __initdata = {
++ .pixclock = 25000,
++ .xres = 640,
++ .yres = 480,
++ .bpp = 16,
++ .hsync_len = 0x31,
++ .left_margin = 0x89,
++ .right_margin = 0x19,
++ .vsync_len = 0x12,
++ .upper_margin = 0x22,
++ .lower_margin = 0x00,
++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
++ .lccr0 = 0x078000f8,
++ .lccr3 = 0x04400001,
++ .pxafb_backlight_power = lpd270_backlight_power,
++ };
++ #endif
+
+ static struct platform_device *platform_devices[] __initdata = {
+ &smc91x_device,
+*************** static void __init lpd270_init(void)
+*** 345,353 ****
+
+ platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
+
+! // set_pxa_fb_info(&sharp_lq057q3dc02);
+ set_pxa_fb_info(&sharp_lq64d343);
+! // set_pxa_fb_info(&sharp_lq035q7db02_20);
+
+ pxa_set_ohci_info(&lpd270_ohci_platform_data);
+ }
+--- 371,387 ----
+
+ platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
+
+! #ifdef CONFIG_FB_PXA_LPD_LQ64D343
+ set_pxa_fb_info(&sharp_lq64d343);
+! #elif defined(CONFIG_FB_PXA_LPD_LQ045Q7DB02)
+! set_pxa_fb_info(&sharp_lq035q7db02_20);
+! #elif defined(CONFIG_FB_PXA_LPD_LQ057Q3DC02)
+! set_pxa_fb_info(&sharp_lq057q3dc02);
+! #elif defined(CONFIG_FB_PXA_LPD_LQ10D368)
+! set_pxa_fb_info(&sharp_lq10d368);
+! #elif defined(CONFIG_FB_PXA)
+! printk("No Logic LCD panel selected!");
+! #endif
+
+ pxa_set_ohci_info(&lpd270_ohci_platform_data);
+ }
+Index: drivers/block/Kconfig
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/drivers/block/Kconfig,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** drivers/block/Kconfig 29 May 2006 00:55:20 -0000 1.1.1.1
+--- drivers/block/Kconfig 1 Jun 2006 17:05:41 -0000 1.2
+***************
+*** 4,9 ****
+--- 4,16 ----
+
+ menu "Block devices"
+
++ config BLK_DEV_LOGICPD_CF
++ bool "LogicPD memory-mapped CompactFlash card support"
++ depends on MACH_LOGICPD_PXA270
++ ---help---
++ If you want to use the memory-mapped comapct flash card on
++ the LogicPD SDK, say Y.
++
+ config BLK_DEV_FD
+ tristate "Normal floppy disk support"
+ depends on ARCH_MAY_HAVE_PC_FDC
+Index: drivers/block/Makefile
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/drivers/block/Makefile,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** drivers/block/Makefile 29 May 2006 00:55:20 -0000 1.1.1.1
+--- drivers/block/Makefile 1 Jun 2006 17:05:59 -0000 1.2
+***************
+*** 5,10 ****
+--- 5,12 ----
+ # Rewritten to use lists instead of if-statements.
+ #
+
++ obj-$(CONFIG_BLK_DEV_LOGICPD_CF)+= lpd270-cf.o
++
+ obj-$(CONFIG_MAC_FLOPPY) += swim3.o
+ obj-$(CONFIG_BLK_DEV_FD) += floppy.o
+ obj-$(CONFIG_AMIGA_FLOPPY) += amiflop.o
+Index: drivers/block/lpd270-cf.c
+===================================================================
+RCS file: drivers/block/lpd270-cf.c
+diff -N drivers/block/lpd270-cf.c
+*** /dev/null 1 Jan 1970 00:00:00 -0000
+--- drivers/block/lpd270-cf.c 1 Jun 2006 16:23:35 -0000 1.1
+***************
+*** 0 ****
+--- 1,675 ----
++ /*
++ * Support for LogicPD SDK Memory-mapped CompactFlash interface
++ *
++ * Copyright 2006 Logic Product Development <peterb@logicpd.com>
++ *
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License. See the file COPYING in the main directory of this archive
++ * for more details.
++ */
++
++
++ /* Uncomment the following if you want verbose error reports. */
++ /* #define VERBOSE_ERRORS */
++
++ #include <linux/blkdev.h>
++ #include <linux/errno.h>
++ #include <linux/signal.h>
++ #include <linux/interrupt.h>
++ #include <linux/timer.h>
++ #include <linux/fs.h>
++ #include <linux/kernel.h>
++ #include <linux/genhd.h>
++ #include <linux/slab.h>
++ #include <linux/string.h>
++ #include <linux/ioport.h>
++ #include <linux/mc146818rtc.h> /* CMOS defines */
++ #include <linux/init.h>
++ #include <linux/blkpg.h>
++ #include <linux/hdreg.h>
++
++ #define REALLY_SLOW_IO
++ #include <asm/system.h>
++ #include <asm/io.h>
++ #include <asm/uaccess.h>
++ #include <asm/delay.h>
++
++ #ifdef __arm__
++ #undef HD_IRQ
++ #endif
++ #include <asm/irq.h>
++ #ifdef __arm__
++ #define HD_IRQ IRQ_HARDDISK
++ #endif
++
++ #define DEBUG
++
++ /* Hd controller regster ports */
++
++ #define HD_DATA 0x1f0 /* _CTL when writing */
++ #define HD_ERROR 0x1f1 /* see err-bits */
++ #define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */
++ #define HD_SECTOR 0x1f3 /* starting sector */
++ #define HD_LCYL 0x1f4 /* starting cylinder */
++ #define HD_HCYL 0x1f5 /* high byte of starting cyl */
++ #define HD_CURENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */
++ #define HD_STATUS 0x1f7 /* see status-bits */
++ #define HD_FEATURE HD_ERROR /* same io address, read=error, write=feature */
++ #define HD_PRECOMP HD_FEATURE /* obsolete use of this port - predates IDE */
++ #define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */
++
++ #define HD_CMD 0x3f6 /* used for resets */
++ #define HD_ALTSTATUS 0x3f6 /* same as HD_STATUS but doesn't clear irq */
++
++ /* Bits of HD_STATUS */
++ #define ERR_STAT 0x01
++ #define INDEX_STAT 0x02
++ #define ECC_STAT 0x04 /* Corrected error */
++ #define DRQ_STAT 0x08
++ #define SEEK_STAT 0x10
++ #define SERVICE_STAT SEEK_STAT
++ #define WRERR_STAT 0x20
++ #define READY_STAT 0x40
++ #define BUSY_STAT 0x80
++
++ /* Bits for HD_ERROR */
++ #define MARK_ERR 0x01 /* Bad address mark */
++ #define TRK0_ERR 0x02 /* couldn't find track 0 */
++ #define ABRT_ERR 0x04 /* Command aborted */
++ #define MCR_ERR 0x08 /* media change request */
++ #define ID_ERR 0x10 /* ID field not found */
++ #define MC_ERR 0x20 /* media changed */
++ #define ECC_ERR 0x40 /* Uncorrectable ECC error */
++ #define BBD_ERR 0x80 /* pre-EIDE meaning: block marked bad */
++ #define ICRC_ERR 0x80 /* new meaning: CRC error during transfer */
++
++ static DEFINE_SPINLOCK(hd_lock);
++ static struct request_queue *hd_queue;
++
++ #define MAJOR_NR HD_MAJOR
++ #define QUEUE (hd_queue)
++ #define CURRENT elv_next_request(hd_queue)
++
++ #define TIMEOUT_VALUE (6*HZ)
++ #define HD_DELAY 0
++
++ #define MAX_ERRORS 16 /* Max read/write errors/sector */
++ #define RESET_FREQ 8 /* Reset controller every 8th retry */
++ #define RECAL_FREQ 4 /* Recalibrate every 4th retry */
++ #define MAX_HD 2
++
++ #define STAT_OK (READY_STAT|SEEK_STAT)
++ #define OK_STATUS(s) (((s)&(STAT_OK|(BUSY_STAT|WRERR_STAT|ERR_STAT)))==STAT_OK)
++
++ static int driveno = 0;
++ static int debug = 0;
++
++ // Start of CF registers
++ #define CPLD_ATA_REG_BASE 0x14001800
++ static unsigned char *reg_base;
++
++ static inline unsigned int read_reg(unsigned char *base, unsigned int reg)
++ {
++ volatile unsigned short val;
++
++ if (reg & 1)
++ val = *((volatile unsigned short *)(base + reg - 1)) >> 8;
++ else
++ val = *((volatile unsigned short *)(base + reg));
++
++ if (debug)
++ printk("%s: %02x %04x \n", __FUNCTION__, reg, val);
++
++ return val;
++ }
++
++ static inline void write_reg(unsigned char *base, unsigned int reg, unsigned int val)
++ {
++ if (debug)
++ printk("%s: %02x %04x\n", __FUNCTION__, reg, val);
++ if (reg & 1)
++ *((volatile unsigned short *)(base + reg - 1)) = (val << 8);
++ else
++ *((volatile unsigned short *)(base + reg)) = val;
++ }
++
++ #define CB_DATA 0x08
++ #define CB_ERR 0x0d
++ #define CB_SC_SN 0x02
++ #define CB_CYL 0x04
++ #define CB_STAT 0x07
++ #define CB_DH_CMD 0x06
++ #define CB_ASTAT 0x0e
++ #define CB_DC 0x0e
++ #define CB_DA 0x0f
++
++ #define CB_STAT_BSY 0x80
++ #define CB_STAT_DRQ 0x08
++ #define CB_STAT_SEEK 0x10
++ #define CB_STAT_DF 0x20
++ #define CB_STAT_READY 0x40
++ #define CB_STAT_ERR 0x01
++ #define CB_DC_HD15 0x08
++ #define CB_DC_NIEN 0x02
++
++ #define CMD_IDENTIFY_DEVICE 0xec
++ #define CMD_READ_SECTORS 0x20
++ #define CMD_WRITE_SECTORS 0x30
++
++ #define TIMEOUT 0x800000
++
++ int cfide_card_present(void)
++ {
++ unsigned char data, data1, data2;
++
++ /* Flip Sector Count */
++ data = read_reg(reg_base, CB_SC_SN);
++ data1 = (~data) & 0xff;
++ write_reg(reg_base, CB_SC_SN, data1);
++
++ /* write to the data register to waggle the bus */
++ write_reg(reg_base, CB_DATA, data);
++
++ /* Read back the sector count and if it matches what we put there
++ then the CF is present */
++ data2 = read_reg(reg_base, CB_SC_SN);
++ if (data2 == data1)
++ return 1;
++ else {
++ printk("data %02x data1 %02x data2 %02x\n", data, data1, data2);
++ return 0;
++ }
++ }
++
++ /*
++ * This struct defines the HD's and their types.
++ */
++ struct hd_i_struct {
++ unsigned int head,sect,cyl,wpcom,lzone,ctl;
++ int unit;
++ int recalibrate;
++ int special_op;
++ };
++
++ #ifdef HD_TYPE
++ static struct hd_i_struct hd_info[] = { HD_TYPE };
++ static int NR_HD = ((sizeof (hd_info))/(sizeof (struct hd_i_struct)));
++ #else
++ static struct hd_i_struct hd_info[MAX_HD];
++ static int NR_HD;
++ #endif
++
++ static struct gendisk *hd_gendisk[MAX_HD];
++
++
++
++ #if (HD_DELAY > 0)
++
++ #include <asm/i8253.h>
++
++ unsigned long last_req;
++
++ unsigned long read_timer(void)
++ {
++ unsigned long t, flags;
++ int i;
++
++ spin_lock_irqsave(&i8253_lock, flags);
++ t = jiffies * 11932;
++ outb_p(0, 0x43);
++ i = inb_p(0x40);
++ i |= inb(0x40) << 8;
++ spin_unlock_irqrestore(&i8253_lock, flags);
++ return(t - i);
++ }
++ #endif
++
++ static void __init hd_setup(char *str, int *ints)
++ {
++ int hdind = 0;
++
++ if (ints[0] != 3)
++ return;
++ if (hd_info[0].head != 0)
++ hdind=1;
++ hd_info[hdind].head = ints[2];
++ hd_info[hdind].sect = ints[3];
++ hd_info[hdind].cyl = ints[1];
++ hd_info[hdind].wpcom = 0;
++ hd_info[hdind].lzone = ints[1];
++ hd_info[hdind].ctl = (ints[2] > 8 ? 8 : 0);
++ NR_HD = hdind+1;
++ }
++
++
++
++ void cfide_wait_fin(void)
++ {
++ unsigned long timer;
++
++ // printk("%s:%d\n", __FUNCTION__, __LINE__);
++
++ udelay(500); // wait 500us
++
++ for (timer = 0;
++ timer < TIMEOUT && (read_reg(reg_base, CB_STAT) & CB_STAT_BSY); ++timer)
++ yield();
++
++ if (timer == TIMEOUT)
++ printk("%s:%d\n", __FUNCTION__, __LINE__);
++ }
++
++ void cfide_wait_drq(void)
++ {
++ unsigned long timer;
++
++ for (timer = 0;
++ timer < TIMEOUT && !(read_reg(reg_base, CB_STAT) & CB_STAT_DRQ); ++timer)
++ yield();
++
++ if (timer == TIMEOUT)
++ printk("%s:%d\n", __FUNCTION__, __LINE__);
++ }
++
++ static union {
++ struct hd_driveid id;
++ short sh[512/2];
++ } info_buf;
++
++
++ /* Read cnt sectors from the flash, starting at lba, storing the data
++ at dest */
++ static int cfide_read_sectors(uint8_t *dest, uint32_t lba, uint32_t cnt)
++ {
++ uint8_t sect, head, devHead, status, devCtrl;
++ uint16_t cyl;
++ uint32_t orig_lba = lba;
++ uint32_t i,j;
++ uint16_t data;
++
++ // printk("%s: dest %p lba %u cnt %u\n", __FUNCTION__, dest, lba, cnt);
++
++ if (lba + cnt > info_buf.id.lba_capacity) {
++ printk("%s: %u+%u is larger than %u\n", __FUNCTION__, lba, cnt, info_buf.id.lba_capacity);
++ return -EINVAL;
++ }
++
++ if (cnt > 255) {
++ printk("%s: cnt %u is too large\n", __FUNCTION__, cnt);
++ return -EINVAL;
++ }
++
++
++ /* translate from LBA */
++ sect = lba & 0xff;
++ lba >>= 8;
++ cyl = lba & 0xffff;
++ lba >>= 16;
++ head = (lba & 0x0f) | 0x40;
++
++ devCtrl = CB_DC_HD15 | CB_DC_NIEN;
++ devHead = driveno | head;
++
++ write_reg(reg_base, CB_DC, devCtrl);
++ write_reg(reg_base, CB_SC_SN, ((uint16_t)cnt & 0xff) | ((uint16_t)sect << 8));
++ write_reg(reg_base, CB_CYL, cyl);
++
++ write_reg(reg_base, CB_DH_CMD, devHead | (CMD_READ_SECTORS << 8));
++
++ for (j=0; j<cnt; ++j) {
++ udelay(1); // spin for a moment to let the controller raise BSY
++
++ cfide_wait_fin();
++ cfide_wait_drq();
++ for (i=0; i<256; ++i) {
++ data = read_reg(reg_base, CB_DATA);
++ #if 0
++ *dest++ = data>>8;
++ *dest++ = data;
++ #else
++ *dest++ = data;
++ *dest++ = data>>8;
++ #endif
++ }
++
++
++ cfide_wait_fin();
++
++ status = read_reg(reg_base, CB_STAT);
++ if (status & (CB_STAT_DF|CB_STAT_ERR)) {
++ printk("%s: error at block %d status %#x\n", __FUNCTION__, orig_lba+j, status);
++ break;
++ }
++
++ }
++
++ return 0;
++ }
++
++ /* Write cnt sectors to the flash, starting at lba, reading the data
++ from src */
++ static int cfide_write_sectors(uint8_t *src, uint32_t lba, uint32_t cnt)
++ {
++ uint8_t sect, head, devHead, status, devCtrl;
++ uint16_t cyl;
++ uint32_t orig_lba = lba;
++ uint32_t i,j;
++ uint16_t data;
++
++ if (lba + cnt > info_buf.id.lba_capacity) {
++ printk("%s: %u+%u is larger than %u\n", __FUNCTION__, lba, cnt, info_buf.id.lba_capacity);
++ return -EINVAL;
++ }
++
++ if (cnt > 255) {
++ printk("%s: cnt %u is too large\n", __FUNCTION__, cnt);
++ return -EINVAL;
++ }
++
++ /* translate from LBA */
++ sect = lba & 0xff;
++ lba >>= 8;
++ cyl = lba & 0xffff;
++ lba >>= 16;
++ head = (lba & 0x0f) | 0x40;
++
++ devCtrl = CB_DC_HD15 | CB_DC_NIEN;
++ devHead = driveno | head;
++
++ write_reg(reg_base, CB_DC, devCtrl);
++ write_reg(reg_base, CB_SC_SN, ((uint16_t)cnt & 0xff) | ((uint16_t)sect << 8));
++ write_reg(reg_base, CB_CYL, cyl);
++
++ write_reg(reg_base, CB_DH_CMD, devHead | (CMD_WRITE_SECTORS << 8));
++
++ for (j=0; j<cnt; ++j) {
++ udelay(1); // spin for a moment to let the controller raise BSY
++
++ cfide_wait_fin();
++
++ cfide_wait_drq();
++
++ for (i=0; i<256; ++i) {
++ #if 0
++ data = (*src++ << 8);
++ data |= *src++;
++ #else
++ data = *src++;
++ data |= (*src++ << 8);
++ #endif
++ write_reg(reg_base, CB_DATA, data);
++ }
++
++ cfide_wait_fin();
++
++ status = read_reg(reg_base, CB_STAT);
++ if (status & (CB_STAT_DF|CB_STAT_ERR)) {
++ printk("%s: error at block %d status %#x\n", __FUNCTION__, orig_lba+j, status);
++ break;
++ }
++
++ }
++ return 0;
++ }
++
++
++ static void cfide_transfer(unsigned long sector,
++ unsigned long nsect, char *buffer, int write)
++ {
++ int ret;
++ if (write)
++ ret = cfide_write_sectors(buffer, sector, nsect);
++ else
++ ret = cfide_read_sectors(buffer, sector, nsect);
++ if (ret)
++ printk("%s:%d\n", __FUNCTION__, __LINE__);
++
++ }
++
++
++ static void do_hd_request (request_queue_t * q)
++ {
++ struct request *req;
++
++ // printk("%s:%d q %p\n", __FUNCTION__, __LINE__, q);
++
++ while ((req = elv_next_request(q)) != NULL) {
++ if (blk_fs_request(req)) {
++ cfide_transfer(req->sector, req->current_nr_sectors,
++ req->buffer, rq_data_dir(req));
++ end_request(req, 1);
++ } else {
++ printk (KERN_NOTICE "Skip non-fs request\n");
++ end_request(req, 0);
++ continue;
++ }
++ }
++ }
++
++ static int hd_getgeo(struct block_device *bdev, struct hd_geometry *geo)
++ {
++ struct hd_i_struct *disk = bdev->bd_disk->private_data;
++
++ geo->heads = disk->head;
++ geo->sectors = disk->sect;
++ geo->cylinders = disk->cyl;
++ return 0;
++ }
++
++
++ static struct block_device_operations hd_fops = {
++ .getgeo = hd_getgeo,
++ };
++
++ void cfide_fetch_info(void)
++ {
++ int i;
++
++ // printk("%s:%d\n", __FUNCTION__, __LINE__);
++
++ /* Select the drive and wait for it to finish */
++ driveno &= 1;
++ write_reg(reg_base, CB_DH_CMD, driveno);
++ cfide_wait_fin();
++
++ // printk("%s:%d\n", __FUNCTION__, __LINE__);
++
++ write_reg(reg_base, CB_DH_CMD, driveno | (CMD_IDENTIFY_DEVICE << 8));
++ cfide_wait_fin();
++
++ // printk("%s:%d\n", __FUNCTION__, __LINE__);
++
++
++ cfide_wait_drq();
++
++ // printk("%s:%d\n", __FUNCTION__, __LINE__);
++
++ for (i=0; i<512; i+=2)
++ info_buf.sh[i/2] = read_reg(reg_base, CB_DATA);
++
++ /* Fix lba_capcity */
++ info_buf.id.lba_capacity = (info_buf.id.lba_capacity>>16) | (info_buf.id.lba_capacity<<16);
++ // printk("%s:%d lba_capacity %#x\n", __FUNCTION__, __LINE__, info_buf.id.lba_capacity);
++ }
++
++ /*
++ * This is the hard disk IRQ description. The SA_INTERRUPT in sa_flags
++ * means we run the IRQ-handler with interrupts disabled: this is bad for
++ * interrupt latency, but anything else has led to problems on some
++ * machines.
++ *
++ * We enable interrupts in some of the routines after making sure it's
++ * safe.
++ */
++
++ static int __init hd_init(void)
++ {
++ int drive;
++
++ printk("%s:%d MAJOR_NR %d\n", __FUNCTION__, __LINE__, MAJOR_NR);
++
++ if (register_blkdev(MAJOR_NR,"hd"))
++ return -1;
++
++ reg_base = (unsigned char *) ioremap_nocache(CPLD_ATA_REG_BASE, 0x1000);
++ if (!reg_base) {
++ printk("%s:%d\n", __FUNCTION__, __LINE__);
++ return -ENOMEM;
++ }
++
++ /* If no card present, return */
++ if (!cfide_card_present()) {
++ printk("No CompactFlash card detected\n");
++ iounmap(reg_base);
++ return 0;
++ }
++
++ /* Fetchthe device info */
++ cfide_fetch_info();
++
++ hd_queue = blk_init_queue(do_hd_request, &hd_lock);
++ printk("%s:%d hd_queue %p\n", __FUNCTION__, __LINE__, hd_queue);
++ if (!hd_queue) {
++ unregister_blkdev(MAJOR_NR,"hd");
++ return -ENOMEM;
++ }
++
++
++ blk_queue_max_sectors(hd_queue, 255);
++ blk_queue_hardsect_size(hd_queue, 512);
++
++ #if 1
++ hd_info[0].cyl = info_buf.id.cyls;
++ hd_info[0].head = info_buf.id.heads;
++ hd_info[0].wpcom = 0;
++ hd_info[0].ctl = 0;
++ hd_info[0].lzone = 0;
++ hd_info[0].sect = info_buf.id.sectors;
++ NR_HD++;
++
++ printk("%s:%d NR_HD %d\n", __FUNCTION__, __LINE__, NR_HD);
++
++ #else
++ #ifdef __i386__
++ if (!NR_HD) {
++ extern struct drive_info drive_info;
++ unsigned char *BIOS = (unsigned char *) &drive_info;
++ unsigned long flags;
++ int cmos_disks;
++
++ for (drive=0 ; drive<2 ; drive++) {
++ hd_info[drive].cyl = *(unsigned short *) BIOS;
++ hd_info[drive].head = *(2+BIOS);
++ hd_info[drive].wpcom = *(unsigned short *) (5+BIOS);
++ hd_info[drive].ctl = *(8+BIOS);
++ hd_info[drive].lzone = *(unsigned short *) (12+BIOS);
++ hd_info[drive].sect = *(14+BIOS);
++ #ifdef does_not_work_for_everybody_with_scsi_but_helps_ibm_vp
++ if (hd_info[drive].cyl && NR_HD == drive)
++ NR_HD++;
++ #endif
++ BIOS += 16;
++ }
++
++ /*
++ We query CMOS about hard disks : it could be that
++ we have a SCSI/ESDI/etc controller that is BIOS
++ compatible with ST-506, and thus showing up in our
++ BIOS table, but not register compatible, and therefore
++ not present in CMOS.
++
++ Furthermore, we will assume that our ST-506 drives
++ <if any> are the primary drives in the system, and
++ the ones reflected as drive 1 or 2.
++
++ The first drive is stored in the high nibble of CMOS
++ byte 0x12, the second in the low nibble. This will be
++ either a 4 bit drive type or 0xf indicating use byte 0x19
++ for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS.
++
++ Needless to say, a non-zero value means we have
++ an AT controller hard disk for that drive.
++
++ Currently the rtc_lock is a bit academic since this
++ driver is non-modular, but someday... ? Paul G.
++ */
++
++ spin_lock_irqsave(&rtc_lock, flags);
++ cmos_disks = CMOS_READ(0x12);
++ spin_unlock_irqrestore(&rtc_lock, flags);
++
++ if (cmos_disks & 0xf0) {
++ if (cmos_disks & 0x0f)
++ NR_HD = 2;
++ else
++ NR_HD = 1;
++ }
++ }
++ #endif /* __i386__ */
++ #ifdef __arm__
++ if (!NR_HD) {
++ /* We don't know anything about the drive. This means
++ * that you *MUST* specify the drive parameters to the
++ * kernel yourself.
++ */
++ printk("hd: no drives specified - use hd=cyl,head,sectors"
++ " on kernel command line\n");
++ }
++ #endif
++ #endif
++ if (!NR_HD)
++ goto out;
++
++ for (drive=0 ; drive < NR_HD ; drive++) {
++ struct gendisk *disk = alloc_disk(64);
++ struct hd_i_struct *p = &hd_info[drive];
++ if (!disk)
++ goto Enomem;
++ disk->major = MAJOR_NR;
++ disk->first_minor = drive << 6;
++ disk->fops = &hd_fops;
++ sprintf(disk->disk_name, "hd%c", 'a'+drive);
++ disk->private_data = p;
++ set_capacity(disk, p->head * p->sect * p->cyl);
++ disk->queue = hd_queue;
++ p->unit = drive;
++ hd_gendisk[drive] = disk;
++ printk ("%s: %luMB, CHS=%d/%d/%d\n",
++ disk->disk_name, (unsigned long)get_capacity(disk)/2048,
++ p->cyl, p->head, p->sect);
++ }
++
++ /* Let them fly */
++ for(drive=0; drive < NR_HD; drive++)
++ add_disk(hd_gendisk[drive]);
++
++ return 0;
++
++ out:
++ unregister_blkdev(MAJOR_NR,"hd");
++ blk_cleanup_queue(hd_queue);
++ return -1;
++ Enomem:
++ while (drive--)
++ put_disk(hd_gendisk[drive]);
++ goto out;
++ }
++
++ static int __init parse_hd_setup (char *line) {
++ int ints[6];
++
++ (void) get_options(line, ARRAY_SIZE(ints), ints);
++ hd_setup(NULL, ints);
++
++ return 1;
++ }
++ __setup("hd=", parse_hd_setup);
++
++ module_init(hd_init);
++
++ /*
++ * Local variables:
++ * c-indent-level: 4
++ * tab-width: 4
++ * End:
++ */
+Index: drivers/mtd/maps/Kconfig
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/drivers/mtd/maps/Kconfig,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** drivers/mtd/maps/Kconfig 29 May 2006 00:58:44 -0000 1.1.1.1
+--- drivers/mtd/maps/Kconfig 30 May 2006 13:04:33 -0000 1.2
+*************** config MTD_MAINSTONE
+*** 137,142 ****
+--- 137,149 ----
+ This provides a driver for the on-board flash of the Intel
+ 'Mainstone PXA27x evaluation board.
+
++ config MTD_LOGICPD_PXA270
++ tristate "CFI Flash device mapped on LogicPD PXA270 Card Engine"
++ depends on MACH_LOGICPD_PXA270 && MTD_CFI_INTELEXT && MTD_PARTITIONS
++ help
++ This provides a driver for the on-board flash of the LogicPD
++ PXA270 Card Engine.
++
+ config MTD_OCTAGON
+ tristate "JEDEC Flash device mapped on Octagon 5066 SBC"
+ depends on X86 && MTD_JEDEC && MTD_COMPLEX_MAPPINGS
+Index: drivers/mtd/maps/Makefile
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/drivers/mtd/maps/Makefile,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** drivers/mtd/maps/Makefile 29 May 2006 00:58:44 -0000 1.1.1.1
+--- drivers/mtd/maps/Makefile 30 May 2006 13:04:33 -0000 1.2
+*************** obj-$(CONFIG_MTD_ICHXROM) += ichxrom.o
+*** 22,27 ****
+--- 22,28 ----
+ obj-$(CONFIG_MTD_TSUNAMI) += tsunami_flash.o
+ obj-$(CONFIG_MTD_LUBBOCK) += lubbock-flash.o
+ obj-$(CONFIG_MTD_MAINSTONE) += mainstone-flash.o
++ obj-$(CONFIG_MTD_LOGICPD_PXA270)+= lpd270-flash.o
+ obj-$(CONFIG_MTD_MBX860) += mbx860.o
+ obj-$(CONFIG_MTD_CEIVA) += ceiva.o
+ obj-$(CONFIG_MTD_OCTAGON) += octagon-5066.o
+Index: drivers/mtd/maps/lpd270-flash.c
+===================================================================
+RCS file: drivers/mtd/maps/lpd270-flash.c
+diff -N drivers/mtd/maps/lpd270-flash.c
+*** /dev/null 1 Jan 1970 00:00:00 -0000
+--- drivers/mtd/maps/lpd270-flash.c 30 May 2006 13:03:55 -0000 1.1
+***************
+*** 0 ****
+--- 1,197 ----
++ /*
++ * $Id: lpd270-flash.c,v 1.1 2006/05/30 13:03:55 LOGIC+peterb Exp $
++ *
++ * Map driver for the Lpd270 developer platform.
++ *
++ * Author: Nicolas Pitre
++ * Copyright: (C) 2001 MontaVista Software Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++ #include <linux/module.h>
++ #include <linux/types.h>
++ #include <linux/kernel.h>
++ #include <linux/init.h>
++ #include <linux/dma-mapping.h>
++ #include <linux/slab.h>
++
++ #include <linux/mtd/mtd.h>
++ #include <linux/mtd/map.h>
++ #include <linux/mtd/partitions.h>
++
++ #include <asm/io.h>
++ #include <asm/hardware.h>
++ #include <asm/arch/pxa-regs.h>
++ // #include <asm/arch/lpd270.h>
++
++
++ #define ROM_ADDR 0x00000000
++ #define FLASH_ADDR 0x04000000
++
++ #define WINDOW_SIZE 0x04000000
++
++ static void lpd270_map_inval_cache(struct map_info *map, unsigned long from,
++ ssize_t len)
++ {
++ consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE);
++ }
++
++ static struct map_info lpd270_maps[2] = { {
++ .size = WINDOW_SIZE,
++ .phys = PXA_CS0_PHYS,
++ .inval_cache = lpd270_map_inval_cache,
++ }, {
++ .size = WINDOW_SIZE,
++ .phys = PXA_CS1_PHYS,
++ .inval_cache = lpd270_map_inval_cache,
++ } };
++
++ static struct mtd_partition lpd270_partitions[] = {
++ {
++ .name = "Bootloader",
++ .size = 0x000C0000,
++ .offset = 0,
++ .mask_flags = MTD_WRITEABLE /* force read-only */
++ },{
++ .name = "YAFFS",
++ .size = 0x00F40000,
++ .offset = 0x000C0000,
++ },{
++ .name = "Filesystem",
++ .size = MTDPART_SIZ_FULL,
++ .offset = 0x01000000
++ }
++ };
++
++ static struct mtd_info *mymtds[2];
++ static struct mtd_partition *parsed_parts[2];
++ static int nr_parsed_parts[2];
++
++ static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };
++
++ static int __init init_lpd270(void)
++ {
++ int SW7 = 0; /* FIXME: get from SCR (Mst doc section 3.2.1.1) */
++ int ret = 0, i;
++
++ lpd270_maps[0].bankwidth = (BOOT_DEF & 1) ? 2 : 4;
++ lpd270_maps[1].bankwidth = 4;
++
++ /* Compensate for SW7 which swaps the flash banks */
++ lpd270_maps[SW7].name = "processor flash";
++ lpd270_maps[SW7 ^ 1].name = "main board flash";
++
++ printk(KERN_NOTICE "Lpd270 configured to boot from %s\n",
++ lpd270_maps[0].name);
++
++ // Set VPP in CPLD to allow writes to the flash
++ {
++ unsigned short *p;
++
++ p = ioremap(0x08000000, PAGE_SIZE);
++ if (!p) {
++ printk("%s:%d ioremap failed\n", __FUNCTION__, __LINE__);
++ } else {
++ printk("%s:%d CTRL REG %04x\n", __FUNCTION__, __LINE__, *p);
++ *p |= (1<<3); // FL_VPEN
++ iounmap(p);
++ }
++ }
++
++ for (i = 0; i < 2; i++) {
++ lpd270_maps[i].virt = ioremap_nocache(lpd270_maps[i].phys,
++ WINDOW_SIZE);
++ if (!lpd270_maps[i].virt) {
++ printk(KERN_WARNING "Failed to ioremap %s\n",
++ lpd270_maps[i].name);
++ if (!ret)
++ ret = -ENOMEM;
++ continue;
++ }
++ #if 0
++ lpd270_maps[i].cached =
++ ioremap_cached(lpd270_maps[i].phys, WINDOW_SIZE);
++ if (!lpd270_maps[i].cached)
++ printk(KERN_WARNING "Failed to ioremap cached %s\n",
++ lpd270_maps[i].name);
++ #endif
++ simple_map_init(&lpd270_maps[i]);
++
++ printk(KERN_NOTICE
++ "Probing %s at physical address 0x%08lx"
++ " (%d-bit bankwidth)\n",
++ lpd270_maps[i].name, lpd270_maps[i].phys,
++ lpd270_maps[i].bankwidth * 8);
++
++ mymtds[i] = do_map_probe("cfi_probe", &lpd270_maps[i]);
++
++ if (!mymtds[i]) {
++ iounmap((void *)lpd270_maps[i].virt);
++ if (lpd270_maps[i].cached)
++ iounmap(lpd270_maps[i].cached);
++ if (!ret)
++ ret = -EIO;
++ continue;
++ }
++ mymtds[i]->owner = THIS_MODULE;
++
++ ret = parse_mtd_partitions(mymtds[i], probes,
++ &parsed_parts[i], 0);
++
++ if (ret > 0)
++ nr_parsed_parts[i] = ret;
++ }
++
++ if (!mymtds[0] && !mymtds[1])
++ return ret;
++
++ for (i = 0; i < 2; i++) {
++ if (!mymtds[i]) {
++ printk(KERN_WARNING "%s is absent. Skipping\n",
++ lpd270_maps[i].name);
++ } else if (nr_parsed_parts[i]) {
++ add_mtd_partitions(mymtds[i], parsed_parts[i],
++ nr_parsed_parts[i]);
++ } else if (!i) {
++ printk("Using static partitions on %s\n",
++ lpd270_maps[i].name);
++ add_mtd_partitions(mymtds[i], lpd270_partitions,
++ ARRAY_SIZE(lpd270_partitions));
++ } else {
++ printk("Registering %s as whole device\n",
++ lpd270_maps[i].name);
++ add_mtd_device(mymtds[i]);
++ }
++ }
++ return 0;
++ }
++
++ static void __exit cleanup_lpd270(void)
++ {
++ int i;
++ for (i = 0; i < 2; i++) {
++ if (!mymtds[i])
++ continue;
++
++ if (nr_parsed_parts[i] || !i)
++ del_mtd_partitions(mymtds[i]);
++ else
++ del_mtd_device(mymtds[i]);
++
++ map_destroy(mymtds[i]);
++ iounmap((void *)lpd270_maps[i].virt);
++ if (lpd270_maps[i].cached)
++ iounmap(lpd270_maps[i].cached);
++ kfree(parsed_parts[i]);
++ }
++ }
++
++ module_init(init_lpd270);
++ module_exit(cleanup_lpd270);
++
++ MODULE_LICENSE("GPL");
++ MODULE_AUTHOR("Nicolas Pitre <nico@cam.org>");
++ MODULE_DESCRIPTION("MTD map driver for Logic PXA270");
+Index: drivers/net/smc91x.h
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/drivers/net/smc91x.h,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** drivers/net/smc91x.h 29 May 2006 00:59:41 -0000 1.1.1.1
+--- drivers/net/smc91x.h 29 May 2006 17:42:44 -0000 1.2
+***************
+*** 129,134 ****
+--- 129,152 ----
+ #define SMC_insb(a, r, p, l) readsb((a) + (r), p, (l))
+ #define SMC_outsb(a, r, p, l) writesb((a) + (r), p, (l))
+
++ #elif defined(CONFIG_MACH_LOGICPD_PXA270)
++
++ #define SMC_CAN_USE_8BIT 0
++ #define SMC_CAN_USE_16BIT 1
++ #define SMC_CAN_USE_32BIT 0
++ #define SMC_IO_SHIFT 0
++ #define SMC_NOWAIT 1
++ #define SMC_USE_PXA_DMA 1
++
++ // #define SMC_inb(a, r) readb((a) + (r))
++ #define SMC_inw(a, r) readw((a) + (r))
++ // #define SMC_inl(a, r) readl((a) + (r))
++ // #define SMC_outb(v, a, r) writeb(v, (a) + (r))
++ #define SMC_outw(v, a, r) writew(v, (a) + (r))
++ // #define SMC_outl(v, a, r) writel(v, (a) + (r))
++ #define SMC_insw(a, r, p, l) readsw((a) + (r), p, l)
++ #define SMC_outsw(a, r, p, l) writesw((a) + (r), p, l)
++
+ #elif defined(CONFIG_ARCH_INNOKOM) || \
+ defined(CONFIG_MACH_MAINSTONE) || \
+ defined(CONFIG_ARCH_PXA_IDP) || \
+Index: drivers/video/Kconfig
+===================================================================
+RCS file: /cvs/eps/dev_eng/sw/products/Linux/PXAEngine/pxa/linux-2.6.17-rc5/drivers/video/Kconfig,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -c -3 -p -r1.1.1.1 -r1.2
+*** drivers/video/Kconfig 29 May 2006 01:04:29 -0000 1.1.1.1
+--- drivers/video/Kconfig 1 Jun 2006 17:06:34 -0000 1.2
+*************** config FB_PXA_PARAMETERS
+*** 1402,1407 ****
+--- 1402,1436 ----
+
+ <file:Documentation/fb/pxafb.txt> describes the available parameters.
+
++ choice
++ prompt "Select LogicPD LCD panel type"
++
++ config FB_PXA_LPD_LQ64D343
++ bool "6.4\" TFT VGA 640x480"
++ depends on FB_PXA
++ ---help---
++ Sharp LQ64D343 LCD panel
++
++ config FB_PXA_LPD_LQ035Q7DB02
++ bool "3.5\" TFT QVGA 240x320"
++ depends on FB_PXA
++ ---help---
++ Sharp LQ035Q7DB02 LCD panel
++
++ config FB_PXA_LPD_LQ057Q3DC02
++ bool "5.7\" TFT QVGA 240x320"
++ depends on FB_PXA
++ ---help---
++ Sharp LQ057Q3DC02 LCD panel
++
++ config FB_PXA_LPD_LQ10D368
++ bool "10.4\" TFT VGA 640x480"
++ depends on FB_PXA
++ ---help---
++ Sharp LQ10D368 LCD panel
++
++ endchoice
++
+ config FB_W100
+ tristate "W100 frame buffer support"
+ depends on FB && PXA_SHARPSL
diff --git a/packages/linux/logicpd-pxa270_2.6.17-rc5.bb b/packages/linux/logicpd-pxa270_2.6.17-rc5.bb
new file mode 100644
index 0000000000..39557d3149
--- /dev/null
+++ b/packages/linux/logicpd-pxa270_2.6.17-rc5.bb
@@ -0,0 +1,33 @@
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel for the LogicPD Zoom(PXA270 ref design)"
+LICENSE = "GPL"
+MAINTAINER = "Shane Volpe <shane.volpe@gmail.com>"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.17-rc5.tar.bz2 \
+ file://linux-2.6.17-rc5.patch;pnum=0;patch=1"
+
+S = "${WORKDIR}/linux-2.6.17-rc5"
+
+COMPATIBLE_HOST = 'arm.*-linux'
+
+inherit kernel
+inherit package
+
+ARCH = "arm"
+KERNEL_IMAGETYPE = "zImage"
+
+do_configure_prepend() {
+ install -m 0644 ${S}/arch/arm/configs/lpd270_defconfig ${S}/.config
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
+
+COMPATIBLE_MACHINE = "logicpd-pxa270"
diff --git a/packages/opensync/libsyncml_0.4.0.bb b/packages/opensync/libsyncml_0.4.0.bb
new file mode 100644
index 0000000000..19bc91c382
--- /dev/null
+++ b/packages/opensync/libsyncml_0.4.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Libsyncml is a implementation of the SyncML protocol."
+HOMEPAGE = "http://libsyncml.opensync.org/"
+LICENSE = "LGPL"
+
+DEPENDS = "sed-native wbxml2 libsoup libxml2 bluez-libs openobex"
+
+SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/${P}.tar.gz"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --enable-http \
+ --enable-obex \
+ --enable-bluetooth \
+ --enable-tools \
+ --with-wbxml"
+
+CFLAGS += "-I${STAGING_INCDIR}/libsoup-2.2"
+
+do_configure_append() {
+ sed -i s:-I/usr/include/:-I/foo/:g Makefile
+ sed -i s:-I/usr/include/:-I/foo/:g */Makefile
+ sed -i s:-I/usr/include/:-I/foo/:g */*/Makefile
+}
+
+
+PACKAGES += "${PN}-tools"
+
+FILES_${PN}-tools = "${bindir}"
+FILES_${PN} = "${libdir}/*.so.*"
+
+
+
+
+
diff --git a/packages/opensync/wbxml2_0.9.0.bb b/packages/opensync/wbxml2_0.9.0.bb
new file mode 100644
index 0000000000..3f45b35711
--- /dev/null
+++ b/packages/opensync/wbxml2_0.9.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "parser for wbxml"
+LICENSE = "GPLv2"
+
+DEPENDS = "libxml2 sed-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/wbxmllib/${P}-src.tar.gz"
+
+inherit autotools pkgconfig
+
+do_configure_append() {
+ sed -i s:-I/usr/include::g Makefile
+ sed -i s:-I/usr/include::g */Makefile
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+PACKAGES += "${PN}-tools"
+
+FILES_${PN}-tools = "${bindir}"
+FILES_${PN} = "${libdir}/*.so.*"
+
+
diff --git a/packages/orinoco/spectrum-fw.bb b/packages/orinoco/spectrum-fw.bb
index dd76000ed1..a2ac130581 100644
--- a/packages/orinoco/spectrum-fw.bb
+++ b/packages/orinoco/spectrum-fw.bb
@@ -8,7 +8,7 @@ SRC_URI = "file://get_symbol_fw \
S = "${WORKDIR}"
-do_compile() {
+do_fetch_append() {
./get_symbol_fw
}
diff --git a/packages/qemu/files/trunk_nodocs.patch b/packages/qemu/files/trunk_nodocs.patch
index 36977ca0e7..0bf8fcb593 100644
--- a/packages/qemu/files/trunk_nodocs.patch
+++ b/packages/qemu/files/trunk_nodocs.patch
@@ -1,29 +1,30 @@
diff -Naur trunk_orig/Makefile trunk/Makefile
---- trunk_orig/Makefile 2006-04-01 11:01:54.000000000 +0200
-+++ trunk/Makefile 2006-04-01 12:40:45.000000000 +0200
-@@ -12,7 +12,7 @@
- ifdef CONFIG_STATIC
+--- trunk_orig/Makefile 2006-06-06 10:09:03.000000000 +0300
++++ trunk/Makefile 2006-06-06 17:18:59.000000000 +0300
+@@ -18,7 +18,8 @@
LDFLAGS+=-static
endif
+ ifdef BUILD_DOCS
-DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
++#DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
+DOCS=
+ else
+ DOCS=
+ endif
+@@ -58,10 +59,10 @@
- all: dyngen$(EXESUF) $(TOOLS) $(DOCS)
- for d in $(TARGET_DIRS); do \
-@@ -54,10 +54,10 @@
- pc-bios/proll.elf \
- pc-bios/linux_boot.bin "$(datadir)"
- mkdir -p "$(docdir)"
-- install -m 644 qemu-doc.html qemu-tech.html "$(docdir)"
-+# install -m 644 qemu-doc.html qemu-tech.html "$(docdir)"
+ install-doc: $(DOCS)
+ mkdir -p "$(DESTDIR)$(docdir)"
+- $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
++ #$(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
ifndef CONFIG_WIN32
- mkdir -p "$(mandir)/man1"
-- install qemu.1 qemu-img.1 "$(mandir)/man1"
-+# install qemu.1 qemu-img.1 "$(mandir)/man1"
- mkdir -p "$(datadir)/keymaps"
- install -m 644 $(addprefix keymaps/,$(KEYMAPS)) "$(datadir)/keymaps"
+ mkdir -p "$(DESTDIR)$(mandir)/man1"
+- $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
++ #$(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
endif
-@@ -122,10 +122,10 @@
+
+ install: all $(if $(BUILD_DOCS),install-doc)
+@@ -151,10 +152,10 @@
$(datadir)/ppc_rom.bin \
$(datadir)/video.x \
$(datadir)/proll.elf \
diff --git a/packages/wget/wget_1.9.1.bb b/packages/wget/wget_1.9.1.bb
index 8521655477..f5bf6439dc 100644
--- a/packages/wget/wget_1.9.1.bb
+++ b/packages/wget/wget_1.9.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "A console URL download utility featuring HTTP, FTP, and more."
SECTION = "console/network"
MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
DEPENDS = ""
-PR = "r5"
+PR = "r6"
LICENSE = "GPL"
SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
@@ -12,15 +12,13 @@ S = "${WORKDIR}/wget-${PV}"
inherit autotools gettext
-EXTRA_OECONF = "--enable-ipv6"
+# Disable checking for SSL since that searches the system paths
+EXTRA_OECONF = "--enable-ipv6 --without-ssl"
# The unslung kernel does not support ipv6
-EXTRA_OECONF_unslung = ""
+EXTRA_OECONF_unslung = "--without-ssl"
# SlugOS kernels do not support ipv6. Can be loaded as a module.
-EXTRA_OECONF_slugos = ""
-
-# Disable checking for SSL since that searches the system paths
-EXTRA_OECONF += "--without-ssl"
+EXTRA_OECONF_slugos = "--without-ssl"
do_configure () {
if [ ! -e acinclude.m4 ]; then
diff --git a/packages/zaurusd/files/zaurus-hinge.in b/packages/zaurusd/files/zaurus-hinge.in
index 1d4682e603..f719ba3c76 100644
--- a/packages/zaurusd/files/zaurus-hinge.in
+++ b/packages/zaurusd/files/zaurus-hinge.in
@@ -11,6 +11,7 @@ killproc() { # kill the named process(es)
[ "$pid" != "" ] && kill $pid
}
+ZD_BINDIR="@bindir@"
export DISPLAY=:0
if [ -z "$1" ]; then
@@ -25,67 +26,33 @@ panel_user="`ps aux|grep matchbox-panel|grep -v grep | awk '{print $2}'`"
STATE=$1
if [ $STATE = "3" ]; then
- #echo "sleeping"
-#
-# uncomment 'if' block below to have zaurus suspend on hinge close
-#
-# if [ -x @bindir@/apm ]; then
-# apm -s
-# fi
+
+ for script in `ls -1 /etc/zaurusd/hinge-close.d`
+ do
+ . /etc/zaurusd/hinge-close.d/$script
+ done
+
exit 0
fi
if [ $STATE = "0" ]; then
#echo "landscape"
- # As matchbox-panel updates its written configuration right after an applet dies / is killed, we can not be sure
- # whether the user had gpe-panel in his preferences after rotating to portrait. And since there is a slim chance
- # that a user changes his preferences from time to time, we renew that dumped configuration every now and then ;)
-
- if ! test -e "/tmp/gpe-panel.session-$panel_user"
- then
- test -e /home/$panel_user/.matchbox/mbdock.session && cp /home/$panel_user/.matchbox/mbdock.session "/tmp/gpe-panel.session-$panel_user"
- test -e "/tmp/gpe-panel.session-$panel_user" && cat "/tmp/gpe-panel.session-$panel_user" | grep -q panel || killproc @bindir@/mbinputmgr
- else
- cat "/tmp/gpe-panel.session-$panel_user" | grep -q panel || killproc @bindir@/mbinputmgr
- rm "/tmp/gpe-panel.session-$panel_user"
- fi
-
- # urg mbinputmgr should kill below
- killproc @bindir@/matchbox-keyboard
- killproc @bindir@/matchbox-stroke
- if [ -x @bindir@/xrandr ]; then
- xrandr -o normal
- fi
+ for script in `ls -1 /etc/zaurusd/hinge-landscape.d`
+ do
+ . /etc/zaurusd/hinge-landscape.d/$script
+ done
+
exit 0
fi
if [ $STATE = "2" ]; then
#echo "portrait"
- if [ -x @bindir@/xrandr ]; then
- @bindir@/xrandr -o left
- fi
- # just to be extra safe
- sleep 1
-
- echo "panel_user = [$panel_user]"
-
- if ! test -e "/tmp/gpe-panel.session-$panel_user"
- then
- cp /home/$panel_user/.matchbox/mbdock.session "/tmp/gpe-panel.session-$panel_user"
- else
- rm "/tmp/gpe-panel.session-$panel_user"
- fi
-
- if test -n "$panel_user"
- then
- echo "Running panel as user [$panel_user]"
- ps aux | grep "$panel_user" | grep -q "mbinputmgr " || su $panel_user -c @bindir@/mbinputmgr &
- else
- # A failsafe can't hurt
- echo "Warning: Running mbinputmgr as root!"
- ps aux | grep -q "mbinputmgr " || @bindir@/mbinputmgr &
- fi
+
+ for script in `ls -1 /etc/zaurusd/hinge-portrait.d`
+ do
+ . /etc/zaurusd/hinge-portrait.d/$script
+ done
exit 0
fi
diff --git a/packages/zaurusd/files/zaurus-hinge.matchbox-landscape b/packages/zaurusd/files/zaurus-hinge.matchbox-landscape
new file mode 100644
index 0000000000..e7b92b5140
--- /dev/null
+++ b/packages/zaurusd/files/zaurus-hinge.matchbox-landscape
@@ -0,0 +1,21 @@
+ #!/bin/sh
+
+ # As matchbox-panel updates its written configuration right after an applet dies / is killed, we can not be sure
+ # whether the user had gpe-panel in his preferences after rotating to portrait. And since there is a slim chance
+ # that a user changes his preferences from time to time, we renew that dumped configuration every now and then ;)
+
+ if ! test -e "/tmp/gpe-panel.session-$panel_user"
+ then
+ test -e /home/$panel_user/.matchbox/mbdock.session && cp /home/$panel_user/.matchbox/mbdock.session "/tmp/gpe-panel.session-$panel_user"
+ test -e "/tmp/gpe-panel.session-$panel_user" && cat "/tmp/gpe-panel.session-$panel_user" | grep -q panel || killproc ${ZD_BINDIR}/mbinputmgr
+ else
+ cat "/tmp/gpe-panel.session-$panel_user" | grep -q panel || killproc ${ZD_BINDIR}/mbinputmgr
+ rm "/tmp/gpe-panel.session-$panel_user"
+ fi
+
+ # urg mbinputmgr should kill below
+ killproc ${ZD_BINDIR}/matchbox-keyboard
+ killproc ${ZD_BINDIR}/matchbox-stroke
+ if [ -x ${ZD_BINDIR}/xrandr ]; then
+ xrandr -o normal
+ fi
diff --git a/packages/zaurusd/files/zaurus-hinge.matchbox-portrait b/packages/zaurusd/files/zaurus-hinge.matchbox-portrait
new file mode 100644
index 0000000000..bd04d328cc
--- /dev/null
+++ b/packages/zaurusd/files/zaurus-hinge.matchbox-portrait
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+ if [ -x ${ZD_BINDIR}/xrandr ]; then
+ ${ZD_BINDIR}/xrandr -o left
+ fi
+ # just to be extra safe
+ sleep 1
+
+ echo "panel_user = [$panel_user]"
+
+ if ! test -e "/tmp/gpe-panel.session-$panel_user"
+ then
+ cp /home/$panel_user/.matchbox/mbdock.session "/tmp/gpe-panel.session-$panel_user"
+ else
+ rm "/tmp/gpe-panel.session-$panel_user"
+ fi
+
+ if test -n "$panel_user"
+ then
+ echo "Running panel as user [$panel_user]"
+ ps aux | grep "$panel_user" | grep -q "mbinputmgr " || su $panel_user -c ${ZD_BINDIR}/mbinputmgr &
+ else
+ # A failsafe can't hurt
+ echo "Warning: Running mbinputmgr as root!"
+ ps aux | grep -q "mbinputmgr " || ${ZD_BINDIR}/mbinputmgr &
+ fi
diff --git a/packages/zaurusd/zaurusd_svn.bb b/packages/zaurusd/zaurusd_svn.bb
index 89291c4101..420521359a 100644
--- a/packages/zaurusd/zaurusd_svn.bb
+++ b/packages/zaurusd/zaurusd_svn.bb
@@ -4,11 +4,14 @@ MAINTAINER = "Richard Purdie <rpurdie@openedhand.com>"
LICENSE = "GPL"
DEPENDS = "tslib"
PV = "0.0+svn${SRCDATE}"
-PR = "r5"
+PR = "r6"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
file://zaurus-hinge.in \
- file://add-poodle.patch;patch=1"
+ file://add-poodle.patch;patch=1 \
+ file://zaurus-hinge.matchbox-portrait \
+ file://zaurus-hinge.matchbox-landscape"
+
S = "${WORKDIR}/${PN}"
@@ -18,6 +21,15 @@ do_configure_prepend () {
cp ${WORKDIR}/zaurus-hinge.in ${S}/scripts
}
+do_install_append() {
+ install -d "${D}/etc/zaurusd/hinge-landscape.d"
+ install -d "${D}/etc/zaurusd/hinge-portrait.d"
+ install -d "${D}/etc/zaurusd/hinge-close.d"
+
+ install -m 0755 "${WORKDIR}/zaurus-hinge.matchbox-landscape" "${D}/etc/zaurusd/hinge-landscape.d/20-matchbox-landscape"
+ install -m 0755 "${WORKDIR}/zaurus-hinge.matchbox-portrait" "${D}/etc/zaurusd/hinge-portrait.d/20-matchbox-portrait"
+}
+
inherit autotools pkgconfig update-rc.d
INITSCRIPT_NAME = "zaurusd"