summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/include/angstrom-2007-preferred-versions.inc6
-rw-r--r--packages/base-files/base-files/slugos/fstab6
-rw-r--r--packages/cairo/cairo.inc2
-rw-r--r--packages/cairo/cairo_1.5.2.bb8
-rw-r--r--packages/cairo/cairo_git.bb2
-rw-r--r--packages/fakeroot/fakeroot-1.8.3/.mtn2git_empty0
-rw-r--r--packages/fakeroot/fakeroot-1.8.3/configure-libtool.patch18
-rw-r--r--packages/fakeroot/fakeroot-native-1.8.3/.mtn2git_empty0
-rw-r--r--packages/fakeroot/fakeroot-native-1.8.3/configure-libtool.patch18
-rw-r--r--packages/fakeroot/fakeroot-native_1.8.3.bb20
-rw-r--r--packages/fakeroot/fakeroot_1.8.3.bb17
-rwxr-xr-xpackages/linux/linux-ezx-2.6.23/a780/defconfig4
-rw-r--r--packages/linux/linux-ezx_2.6.23.bb2
-rw-r--r--packages/linux/linux-openmoko-devel/fix-gta01-flowcontrol2-2.6.23.patch193
-rw-r--r--packages/linux/linux-openmoko-devel_svn+2.6.23.1.bb3
-rw-r--r--packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch193
-rw-r--r--packages/linux/linux-openmoko_2.6.22.5.bb3
-rw-r--r--packages/telepathy/telepathy-inspector/.mtn2git_empty0
-rw-r--r--packages/telepathy/telepathy-inspector/scons-workaround.patch12
-rw-r--r--packages/telepathy/telepathy-inspector_0.5.0.bb11
-rw-r--r--packages/xorg-lib/pixman_0.9.6.bb6
21 files changed, 513 insertions, 11 deletions
diff --git a/conf/distro/include/angstrom-2007-preferred-versions.inc b/conf/distro/include/angstrom-2007-preferred-versions.inc
index 1938f6c73f..c3a8fcc9ec 100644
--- a/conf/distro/include/angstrom-2007-preferred-versions.inc
+++ b/conf/distro/include/angstrom-2007-preferred-versions.inc
@@ -1,3 +1,7 @@
+# This is a lock-down file for stability purposes
+# If you change anything, send a mail to angstrom-distro-devel@linuxtogo.org
+# stating the change and the reason.
+
# bitbake -s | awk '{print "PREFERRED_VERSION_" $1 "=" $2}' | sed -e s:\+:\=:g | awk -F "=" '{print $1 " ?= \" "$2}' | awk -F "-r" '{print $1"\""}' | sed -e s,0:,,g -e s,1:,,g | sed s:\"\ :\":g> /tmp/angstrom-2007-preferred-versions.inc
PREFERRED_VERSION_0xffff ?= "0.2"
@@ -1044,7 +1048,7 @@ PREFERRED_VERSION_libtext-diff-perl-native ?= "0.35"
PREFERRED_VERSION_libticables ?= "3.9.2"
PREFERRED_VERSION_libticalcs ?= "4.5.9"
PREFERRED_VERSION_libtifiles ?= "0.6.5"
-PREFERRED_VERSION_libtinymail ?= "0.0.1"
+PREFERRED_VERSION_libtinymail ?= "0.0.3"
PREFERRED_VERSION_libtododb ?= "0.11"
PREFERRED_VERSION_libtomcrypt ?= "0.97b"
PREFERRED_VERSION_libtomoe-gtk ?= "0.1.0"
diff --git a/packages/base-files/base-files/slugos/fstab b/packages/base-files/base-files/slugos/fstab
index d30f958401..53008e49a5 100644
--- a/packages/base-files/base-files/slugos/fstab
+++ b/packages/base-files/base-files/slugos/fstab
@@ -1,6 +1,6 @@
rootfs / jffs2 defaults 1 1
-proc /proc proc defaults 0 0
+proc /proc proc defaults 0 0
tmpfs /var/volatile tmpfs mode=0755 0 0
-tmpfs /media/ram tmpfs defaults 0 0
-tmpfs /dev/shm tmpfs mode=0777 0 0
+#tmpfs /media/ram tmpfs defaults 0 0
+tmpfs /dev/shm tmpfs mode=0777 0 0
usbfs /proc/bus/usb usbfs defaults 0 0
diff --git a/packages/cairo/cairo.inc b/packages/cairo/cairo.inc
index e405257dfb..3123fe6632 100644
--- a/packages/cairo/cairo.inc
+++ b/packages/cairo/cairo.inc
@@ -1,6 +1,6 @@
SECTION = "libs"
PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender"
+DEPENDS = "virtual/libx11 pixman libsm libpng fontconfig libxrender"
DESCRIPTION = "Cairo graphics library"
LICENSE = "MPL LGPL"
diff --git a/packages/cairo/cairo_1.5.2.bb b/packages/cairo/cairo_1.5.2.bb
new file mode 100644
index 0000000000..263dd79ad7
--- /dev/null
+++ b/packages/cairo/cairo_1.5.2.bb
@@ -0,0 +1,8 @@
+require cairo.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
+
+PR = "r0"
+
diff --git a/packages/cairo/cairo_git.bb b/packages/cairo/cairo_git.bb
index 6c527988a9..44212103a6 100644
--- a/packages/cairo/cairo_git.bb
+++ b/packages/cairo/cairo_git.bb
@@ -7,7 +7,7 @@ DEPENDS = "pixman virtual/libx11 libsm libpng fontconfig libxrender"
DESCRIPTION = "Cairo graphics library"
LICENSE = "MPL LGPL"
-PV = "1.5.1+git${SRCDATE}"
+PV = "1.5.3+git${SRCDATE}"
SRC_URI = "git://git.cairographics.org/git/cairo;protocol=git \
"
diff --git a/packages/fakeroot/fakeroot-1.8.3/.mtn2git_empty b/packages/fakeroot/fakeroot-1.8.3/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/fakeroot/fakeroot-1.8.3/.mtn2git_empty
diff --git a/packages/fakeroot/fakeroot-1.8.3/configure-libtool.patch b/packages/fakeroot/fakeroot-1.8.3/configure-libtool.patch
new file mode 100644
index 0000000000..8830328eb5
--- /dev/null
+++ b/packages/fakeroot/fakeroot-1.8.3/configure-libtool.patch
@@ -0,0 +1,18 @@
+--- fakeroot-1.8.3/configure.ac.orig 2007-10-31 00:17:27.000000000 -0500
++++ fakeroot-1.8.3/configure.ac 2007-10-31 00:18:12.000000000 -0500
+@@ -1,14 +1,12 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT([fakeroot],[FAKEROOT_VERSION],[schizo@debian.org],[fakeroot])
+ AC_PREREQ(2.61)
+-LT_PREREQ(2.1a)
+ AC_CANONICAL_TARGET
+ AM_INIT_AUTOMAKE
+ AM_MAINTAINER_MODE
+ AC_CONFIG_HEADERS([config.h])
+ AC_PROG_MAKE_SET
+-LT_INIT
+-LT_LANG(C)
++AC_PROG_LIBTOOL
+
+ AC_ARG_WITH([ipc],
+ AS_HELP_STRING([--with-ipc@<:@=IPCTYPE@:>@],
diff --git a/packages/fakeroot/fakeroot-native-1.8.3/.mtn2git_empty b/packages/fakeroot/fakeroot-native-1.8.3/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/fakeroot/fakeroot-native-1.8.3/.mtn2git_empty
diff --git a/packages/fakeroot/fakeroot-native-1.8.3/configure-libtool.patch b/packages/fakeroot/fakeroot-native-1.8.3/configure-libtool.patch
new file mode 100644
index 0000000000..8830328eb5
--- /dev/null
+++ b/packages/fakeroot/fakeroot-native-1.8.3/configure-libtool.patch
@@ -0,0 +1,18 @@
+--- fakeroot-1.8.3/configure.ac.orig 2007-10-31 00:17:27.000000000 -0500
++++ fakeroot-1.8.3/configure.ac 2007-10-31 00:18:12.000000000 -0500
+@@ -1,14 +1,12 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT([fakeroot],[FAKEROOT_VERSION],[schizo@debian.org],[fakeroot])
+ AC_PREREQ(2.61)
+-LT_PREREQ(2.1a)
+ AC_CANONICAL_TARGET
+ AM_INIT_AUTOMAKE
+ AM_MAINTAINER_MODE
+ AC_CONFIG_HEADERS([config.h])
+ AC_PROG_MAKE_SET
+-LT_INIT
+-LT_LANG(C)
++AC_PROG_LIBTOOL
+
+ AC_ARG_WITH([ipc],
+ AS_HELP_STRING([--with-ipc@<:@=IPCTYPE@:>@],
diff --git a/packages/fakeroot/fakeroot-native_1.8.3.bb b/packages/fakeroot/fakeroot-native_1.8.3.bb
new file mode 100644
index 0000000000..8b3d2a1590
--- /dev/null
+++ b/packages/fakeroot/fakeroot-native_1.8.3.bb
@@ -0,0 +1,20 @@
+SECTION = "base"
+require fakeroot_${PV}.bb
+inherit native
+RDEPENDS="util-linux-native"
+
+SRC_URI += "file://fix-prefix.patch;patch=1 "
+S = "${WORKDIR}/fakeroot-${PV}"
+
+EXTRA_OECONF = " --program-prefix="
+
+# Compatability for the rare systems not using or having SYSV
+python () {
+ if bb.data.getVar('HOST_NONSYSV', d, True) and bb.data.getVar('HOST_NONSYSV', d, True) != '0':
+ bb.data.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ', d)
+}
+
+do_stage_append () {
+ oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/
+}
+
diff --git a/packages/fakeroot/fakeroot_1.8.3.bb b/packages/fakeroot/fakeroot_1.8.3.bb
new file mode 100644
index 0000000000..ef4d1ba55c
--- /dev/null
+++ b/packages/fakeroot/fakeroot_1.8.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Gives a fake root environment"
+SECTION = "base"
+LICENSE = "GPL"
+# fakeroot needs getopt which is provided by the util-linux package
+RDEPENDS = "util-linux"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_${PV}.tar.gz \
+ file://configure-libtool.patch;patch=1"
+
+inherit autotools
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/fakeroot
+ install -m 644 *.h ${STAGING_INCDIR}/fakeroot
+ autotools_stage_all
+}
diff --git a/packages/linux/linux-ezx-2.6.23/a780/defconfig b/packages/linux/linux-ezx-2.6.23/a780/defconfig
index f1738cd2c8..c59efc8906 100755
--- a/packages/linux/linux-ezx-2.6.23/a780/defconfig
+++ b/packages/linux/linux-ezx-2.6.23/a780/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23.1
-# Mon Oct 29 19:21:10 2007
+# Wed Oct 31 09:05:11 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -206,7 +206,7 @@ CONFIG_XSCALE_PMU=y
# Kernel Features
#
CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
+# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_HZ=100
diff --git a/packages/linux/linux-ezx_2.6.23.bb b/packages/linux/linux-ezx_2.6.23.bb
index 957fda0e8c..d97855a451 100644
--- a/packages/linux/linux-ezx_2.6.23.bb
+++ b/packages/linux/linux-ezx_2.6.23.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "2.6 Linux Development Kernel for the Motorola GSM phones A780 and
AUTHOR = "The OpenEZX Team <openezx-devel@lists.openezx.org>"
HOMEPAGE = "http://www.openezx.org"
EZX = "ezxdev"
-PR = "${EZX}-r1"
+PR = "${EZX}-r2"
# unstable branch, use 2.6.21 if you want something working
DEFAULT_PREFERENCE = "-99"
diff --git a/packages/linux/linux-openmoko-devel/fix-gta01-flowcontrol2-2.6.23.patch b/packages/linux/linux-openmoko-devel/fix-gta01-flowcontrol2-2.6.23.patch
new file mode 100644
index 0000000000..deb31dacd9
--- /dev/null
+++ b/packages/linux/linux-openmoko-devel/fix-gta01-flowcontrol2-2.6.23.patch
@@ -0,0 +1,193 @@
+--- linux-2.6.23/arch/arm/common/gta01_pm_gsm.c.orig 2007-10-30 23:29:53.000000000 -0500
++++ linux-2.6.23/arch/arm/common/gta01_pm_gsm.c 2007-10-30 23:35:44.000000000 -0500
+@@ -23,6 +23,9 @@
+ #include <asm/arch/gta01.h>
+ #include <asm/arch/gta02.h>
+
++#include <linux/serial_core.h>
++void s3c24xx_set_flow_control(struct uart_port *port, int fc_on);
++
+ struct gta01pm_priv {
+ int gpio_ngsm_en;
+ struct console *con;
+@@ -49,6 +52,23 @@
+ static ssize_t gsm_read(struct device *dev, struct device_attribute *attr,
+ char *buf)
+ {
++ struct uart_driver *udrive = NULL;
++ struct uart_state *ustate = NULL;
++ struct uart_port *uport = NULL;
++
++ if (gta01_gsm.con) {
++ udrive = gta01_gsm.con->data;
++ if (udrive) {
++ ustate = udrive->state;
++ if (ustate) {
++ uport = ustate->port;
++ }
++ }
++ }
++ printk("gsm: gsm_read of \"%s\"\n", attr->attr.name);
++ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n",
++ gta01_gsm.con, udrive, ustate, uport);
++
+ if (!strcmp(attr->attr.name, "power_on")) {
+ if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_ON))
+ goto out_1;
+@@ -58,6 +78,24 @@
+ } else if (!strcmp(attr->attr.name, "download")) {
+ if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_DNLOAD))
+ goto out_1;
++ } else if (!strcmp(attr->attr.name, "flowcontrol")) {
++ if (uport) {
++ if (uport->unused[2] & 0x2) {
++ if (uport->unused[2] & 0x1) {
++ printk("gsm: flow control allowed and on\n");
++ goto out_1;
++ } else {
++ printk("gsm: flow control allowed and not on\n");
++ }
++ } else {
++ if (uport->unused[2] & 0x1)
++ printk("gsm: flow control not allowed, "
++ "but is pending\n");
++ else
++ printk("gsm: flow control not allowed, "
++ "not pending\n");
++ }
++ }
+ }
+
+ return strlcpy(buf, "0\n", 3);
+@@ -68,10 +106,26 @@
+ static ssize_t gsm_write(struct device *dev, struct device_attribute *attr,
+ const char *buf, size_t count)
+ {
++ struct uart_driver *udrive = NULL;
++ struct uart_state *ustate = NULL;
++ struct uart_port *uport = NULL;
++ static int was_on = 0;
+ unsigned long on = simple_strtoul(buf, NULL, 10);
+
++ if (gta01_gsm.con) {
++ udrive = gta01_gsm.con->data;
++ if (udrive) {
++ ustate = udrive->state;
++ if (ustate) {
++ uport = ustate->port;
++ }
++ }
++ }
++ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n",
++ gta01_gsm.con, udrive, ustate, uport);
++
+ if (!strcmp(attr->attr.name, "power_on")) {
+- if (on) {
++ if (on && !was_on) {
+ if (gta01_gsm.con) {
+ dev_info(dev, "powering up GSM, thus "
+ "disconnecting serial console\n");
+@@ -83,7 +137,24 @@
+ s3c2410_gpio_setpin(gta01_gsm.gpio_ngsm_en, 0);
+
+ s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 1);
+- } else {
++
++ if (uport) {
++ /* set any pending flow-control mode */
++ uport->unused[2] |= 0x2;
++ s3c24xx_set_flow_control(uport,
++ (uport->unused[2] & 0x1));
++ dev_info(dev, "flow control allowed\n");
++ }
++
++ was_on = 1;
++
++ } else if (!on && was_on) {
++ if (uport) {
++ uport->unused[2] &= ~0x2;
++ s3c24xx_set_flow_control(uport, 0);
++ dev_info(dev, "flow control not allowed\n");
++ }
++
+ s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 0);
+
+ if (gta01_gsm.gpio_ngsm_en)
+@@ -95,6 +166,8 @@
+ dev_info(dev, "powered down GSM, thus enabling "
+ "serial console\n");
+ }
++
++ was_on = 0;
+ }
+ } else if (!strcmp(attr->attr.name, "reset")) {
+ s3c2410_gpio_setpin(GTA01_GPIO_MODEM_RST, on);
+@@ -105,6 +178,7 @@
+ return count;
+ }
+
++static DEVICE_ATTR(flowcontrol, 0644, gsm_read, gsm_write);
+ static DEVICE_ATTR(power_on, 0644, gsm_read, gsm_write);
+ static DEVICE_ATTR(reset, 0644, gsm_read, gsm_write);
+ static DEVICE_ATTR(download, 0644, gsm_read, gsm_write);
+@@ -136,6 +210,7 @@
+ #endif
+
+ static struct attribute *gta01_gsm_sysfs_entries[] = {
++ &dev_attr_flowcontrol.attr,
+ &dev_attr_power_on.attr,
+ &dev_attr_reset.attr,
+ NULL,
+--- linux-2.6.23/drivers/serial/s3c2410.c.orig 2007-10-30 23:31:59.000000000 -0500
++++ linux-2.6.23/drivers/serial/s3c2410.c 2007-10-30 23:35:44.000000000 -0500
+@@ -80,6 +80,8 @@
+
+ #include <asm/plat-s3c/regs-serial.h>
+ #include <asm/arch/regs-gpio.h>
++#include <asm/mach-types.h>
++#include <asm/arch/gta01.h>
+
+ /* structures */
+
+@@ -729,6 +731,17 @@
+ return best->quot;
+ }
+
++/* This routine is called whenever the gta01 modem/console switches */
++void s3c24xx_set_flow_control(struct uart_port *port, int fc_on)
++{
++ unsigned int umcon;
++ if (machine_is_neo1973_gta01() && port) {
++ umcon = (fc_on) ? S3C2410_UMCOM_AFC : 0;
++ wr_regl(port, S3C2410_UMCON, umcon);
++ }
++}
++EXPORT_SYMBOL(s3c24xx_set_flow_control);
++
+ static void s3c24xx_serial_set_termios(struct uart_port *port,
+ struct ktermios *termios,
+ struct ktermios *old)
+@@ -803,6 +816,23 @@
+
+ umcon = (termios->c_cflag & CRTSCTS) ? S3C2410_UMCOM_AFC : 0;
+
++ /*
++ * Custom handling of flow control on hwport 0 for the GTA01:
++ * Save the desired state for flow control, but if the port
++ * is being used as a console, then do not actually enable
++ * flow control unless the flag permiting us to do so is set.
++ */
++ if (machine_is_neo1973_gta01() && (cfg->hwport == 0)) {
++ if (umcon)
++ port->unused[2] |= 0x1;
++ else
++ port->unused[2] &= ~0x1;
++ if (port->cons && (port->cons->index >= 0)) {
++ if (!(port->unused[2] & 0x2))
++ umcon = 0;
++ }
++ }
++
+ if (termios->c_cflag & PARENB) {
+ if (termios->c_cflag & PARODD)
+ ulcon |= S3C2410_LCON_PODD;
diff --git a/packages/linux/linux-openmoko-devel_svn+2.6.23.1.bb b/packages/linux/linux-openmoko-devel_svn+2.6.23.1.bb
index a65967f692..5cca31d74b 100644
--- a/packages/linux/linux-openmoko-devel_svn+2.6.23.1.bb
+++ b/packages/linux/linux-openmoko-devel_svn+2.6.23.1.bb
@@ -11,7 +11,7 @@ KERNEL_RELEASE = "2.6.23.1"
KERNEL_VERSION = "${KERNEL_RELEASE}"
PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
-PR = "r2"
+PR = "r3"
KERNEL_IMAGETYPE = "uImage"
UBOOT_ENTRYPOINT = "30008000"
@@ -29,6 +29,7 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.ta
file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1 \
# file://printascii-2.6.23.patch;patch=1 \
file://hack-gta02-cpu.patch;patch=1 \
+ file://fix-gta01-flowcontrol2-2.6.23.patch;patch=1 \
file://defconfig-2.6.23.1 \
file://logo_linux_clut224.ppm"
S = "${WORKDIR}/linux-${VANILLA_VERSION}"
diff --git a/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch b/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch
new file mode 100644
index 0000000000..ddb58f0cdb
--- /dev/null
+++ b/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch
@@ -0,0 +1,193 @@
+--- linux-2.6.22.5/arch/arm/common/gta01_pm_gsm.c.orig 2007-09-27 11:23:20.000000000 -0500
++++ linux-2.6.22.5/arch/arm/common/gta01_pm_gsm.c 2007-09-27 21:09:00.000000000 -0500
+@@ -23,6 +23,9 @@
+ #include <asm/arch/gta01.h>
+ #include <asm/arch/gta02.h>
+
++#include <linux/serial_core.h>
++void s3c24xx_set_flow_control(struct uart_port *port, int fc_on);
++
+ struct gta01pm_priv {
+ int gpio_ngsm_en;
+ struct console *con;
+@@ -49,6 +52,23 @@
+ static ssize_t gsm_read(struct device *dev, struct device_attribute *attr,
+ char *buf)
+ {
++ struct uart_driver *udrive = NULL;
++ struct uart_state *ustate = NULL;
++ struct uart_port *uport = NULL;
++
++ if (gta01_gsm.con) {
++ udrive = gta01_gsm.con->data;
++ if (udrive) {
++ ustate = udrive->state;
++ if (ustate) {
++ uport = ustate->port;
++ }
++ }
++ }
++ printk("gsm: gsm_read of \"%s\"\n", attr->attr.name);
++ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n",
++ gta01_gsm.con, udrive, ustate, uport);
++
+ if (!strcmp(attr->attr.name, "power_on")) {
+ if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_ON))
+ goto out_1;
+@@ -58,6 +78,24 @@
+ } else if (!strcmp(attr->attr.name, "download")) {
+ if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_DNLOAD))
+ goto out_1;
++ } else if (!strcmp(attr->attr.name, "flowcontrol")) {
++ if (uport) {
++ if (uport->unused[2] & 0x2) {
++ if (uport->unused[2] & 0x1) {
++ printk("gsm: flow control allowed and on\n");
++ goto out_1;
++ } else {
++ printk("gsm: flow control allowed and not on\n");
++ }
++ } else {
++ if (uport->unused[2] & 0x1)
++ printk("gsm: flow control not allowed, "
++ "but is pending\n");
++ else
++ printk("gsm: flow control not allowed, "
++ "not pending\n");
++ }
++ }
+ }
+
+ return strlcpy(buf, "0\n", 3);
+@@ -68,10 +106,26 @@
+ static ssize_t gsm_write(struct device *dev, struct device_attribute *attr,
+ const char *buf, size_t count)
+ {
++ struct uart_driver *udrive = NULL;
++ struct uart_state *ustate = NULL;
++ struct uart_port *uport = NULL;
++ static int was_on = 0;
+ unsigned long on = simple_strtoul(buf, NULL, 10);
+
++ if (gta01_gsm.con) {
++ udrive = gta01_gsm.con->data;
++ if (udrive) {
++ ustate = udrive->state;
++ if (ustate) {
++ uport = ustate->port;
++ }
++ }
++ }
++ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n",
++ gta01_gsm.con, udrive, ustate, uport);
++
+ if (!strcmp(attr->attr.name, "power_on")) {
+- if (on) {
++ if (on && !was_on) {
+ if (gta01_gsm.con) {
+ dev_info(dev, "powering up GSM, thus "
+ "disconnecting serial console\n");
+@@ -83,7 +137,24 @@
+ s3c2410_gpio_setpin(gta01_gsm.gpio_ngsm_en, 0);
+
+ s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 1);
+- } else {
++
++ if (uport) {
++ /* set any pending flow-control mode */
++ uport->unused[2] |= 0x2;
++ s3c24xx_set_flow_control(uport,
++ (uport->unused[2] & 0x1));
++ dev_info(dev, "flow control allowed\n");
++ }
++
++ was_on = 1;
++
++ } else if (!on && was_on) {
++ if (uport) {
++ uport->unused[2] &= ~0x2;
++ s3c24xx_set_flow_control(uport, 0);
++ dev_info(dev, "flow control not allowed\n");
++ }
++
+ s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 0);
+
+ if (gta01_gsm.gpio_ngsm_en)
+@@ -95,6 +166,8 @@
+ dev_info(dev, "powered down GSM, thus enabling "
+ "serial console\n");
+ }
++
++ was_on = 0;
+ }
+ } else if (!strcmp(attr->attr.name, "reset")) {
+ s3c2410_gpio_setpin(GTA01_GPIO_MODEM_RST, on);
+@@ -105,6 +178,7 @@
+ return count;
+ }
+
++static DEVICE_ATTR(flowcontrol, 0644, gsm_read, gsm_write);
+ static DEVICE_ATTR(power_on, 0644, gsm_read, gsm_write);
+ static DEVICE_ATTR(reset, 0644, gsm_read, gsm_write);
+ static DEVICE_ATTR(download, 0644, gsm_read, gsm_write);
+@@ -136,6 +210,7 @@
+ #endif
+
+ static struct attribute *gta01_gsm_sysfs_entries[] = {
++ &dev_attr_flowcontrol.attr,
+ &dev_attr_power_on.attr,
+ &dev_attr_reset.attr,
+ NULL,
+--- linux-2.6.22.5/drivers/serial/s3c2410.c.orig 2007-09-27 11:23:27.000000000 -0500
++++ linux-2.6.22.5/drivers/serial/s3c2410.c 2007-09-27 21:07:21.000000000 -0500
+@@ -80,6 +80,8 @@
+
+ #include <asm/arch/regs-serial.h>
+ #include <asm/arch/regs-gpio.h>
++#include <asm/mach-types.h>
++#include <asm/arch/gta01.h>
+
+ /* structures */
+
+@@ -729,6 +731,17 @@
+ return best->quot;
+ }
+
++/* This routine is called whenever the gta01 modem/console switches */
++void s3c24xx_set_flow_control(struct uart_port *port, int fc_on)
++{
++ unsigned int umcon;
++ if (machine_is_neo1973_gta01() && port) {
++ umcon = (fc_on) ? S3C2410_UMCOM_AFC : 0;
++ wr_regl(port, S3C2410_UMCON, umcon);
++ }
++}
++EXPORT_SYMBOL(s3c24xx_set_flow_control);
++
+ static void s3c24xx_serial_set_termios(struct uart_port *port,
+ struct ktermios *termios,
+ struct ktermios *old)
+@@ -803,6 +816,23 @@
+
+ umcon = (termios->c_cflag & CRTSCTS) ? S3C2410_UMCOM_AFC : 0;
+
++ /*
++ * Custom handling of flow control on hwport 0 for the GTA01:
++ * Save the desired state for flow control, but if the port
++ * is being used as a console, then do not actually enable
++ * flow control unless the flag permiting us to do so is set.
++ */
++ if (machine_is_neo1973_gta01() && (cfg->hwport == 0)) {
++ if (umcon)
++ port->unused[2] |= 0x1;
++ else
++ port->unused[2] &= ~0x1;
++ if (port->cons && (port->cons->index >= 0)) {
++ if (!(port->unused[2] & 0x2))
++ umcon = 0;
++ }
++ }
++
+ if (termios->c_cflag & PARENB) {
+ if (termios->c_cflag & PARODD)
+ ulcon |= S3C2410_LCON_PODD;
diff --git a/packages/linux/linux-openmoko_2.6.22.5.bb b/packages/linux/linux-openmoko_2.6.22.5.bb
index 239400df15..348537e4d2 100644
--- a/packages/linux/linux-openmoko_2.6.22.5.bb
+++ b/packages/linux/linux-openmoko_2.6.22.5.bb
@@ -9,7 +9,7 @@ KERNEL_RELEASE = "2.6.22.5"
#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}-moko11+svnr${SRCREV}"
PV = "${KERNEL_RELEASE}-moko11+svnr${SRCREV}"
-PR = "r5"
+PR = "r6"
KERNEL_IMAGETYPE = "uImage"
UBOOT_ENTRYPOINT = "30008000"
@@ -23,6 +23,7 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.ta
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${KERNEL_RELEASE}.bz2;patch=1 \
svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http \
file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1 \
+ file://fix-gta01-flowcontrol2-2.6.22.5.patch;patch=1 \
file://defconfig-${KERNEL_RELEASE}"
S = "${WORKDIR}/linux-${VANILLA_VERSION}"
diff --git a/packages/telepathy/telepathy-inspector/.mtn2git_empty b/packages/telepathy/telepathy-inspector/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/telepathy/telepathy-inspector/.mtn2git_empty
diff --git a/packages/telepathy/telepathy-inspector/scons-workaround.patch b/packages/telepathy/telepathy-inspector/scons-workaround.patch
new file mode 100644
index 0000000000..ac3c37cb9c
--- /dev/null
+++ b/packages/telepathy/telepathy-inspector/scons-workaround.patch
@@ -0,0 +1,12 @@
+Index: telepathy-inspector-0.5.0/SConstruct
+===================================================================
+--- telepathy-inspector-0.5.0.orig/SConstruct 2007-10-31 10:49:00.000000000 +0100
++++ telepathy-inspector-0.5.0/SConstruct 2007-10-31 10:49:10.000000000 +0100
+@@ -4,6 +4,7 @@
+ SConsignFile()
+
+ env = Environment(ENV = os.environ)
++env['CC'] = os.environ['CC']
+
+ # Variables
+
diff --git a/packages/telepathy/telepathy-inspector_0.5.0.bb b/packages/telepathy/telepathy-inspector_0.5.0.bb
new file mode 100644
index 0000000000..069430775a
--- /dev/null
+++ b/packages/telepathy/telepathy-inspector_0.5.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "debugging tool for Telepathy developers"
+DEPENDS = "glib-2.0 gtk+ libglade dbus-glib"
+LICENSE = "LGPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/tapioca-voip/telepathy-inspector-0.5.0.tar.gz \
+ file://scons-workaround.patch;patch=1"
+
+inherit scons
+
+FILES_${PN} += "${datadir}/telepathy \
+ ${datadir}/dbus-1"
diff --git a/packages/xorg-lib/pixman_0.9.6.bb b/packages/xorg-lib/pixman_0.9.6.bb
new file mode 100644
index 0000000000..dec40fac4d
--- /dev/null
+++ b/packages/xorg-lib/pixman_0.9.6.bb
@@ -0,0 +1,6 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "Library for lowlevel pixel operations"
+DEPENDS = "virtual/libx11"
+
+SRC_URI = "http://cairographics.org/releases/pixman-${PV}.tar.gz"