summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS2
-rw-r--r--classes/base.bbclass15
-rw-r--r--classes/debian.bbclass5
-rw-r--r--classes/image.bbclass2
-rw-r--r--classes/multimachine.bbclass4
-rw-r--r--classes/openmoko2.bbclass4
-rw-r--r--classes/package.bbclass55
-rw-r--r--classes/package_deb.bbclass5
-rw-r--r--classes/package_ipk.bbclass13
-rw-r--r--classes/package_rpm.bbclass3
-rw-r--r--classes/package_tar.bbclass5
-rw-r--r--classes/qmake-base.bbclass66
-rw-r--r--classes/qmake.bbclass65
-rw-r--r--classes/qmake2.bbclass20
-rw-r--r--classes/qt4x11.bbclass19
-rw-r--r--classes/rm_work.bbclass4
-rw-r--r--classes/rootfs_deb.bbclass2
-rw-r--r--classes/rootfs_ipk.bbclass2
-rw-r--r--conf/bitbake.conf6
-rw-r--r--conf/distro/angstrom-2007.1.conf6
-rw-r--r--conf/distro/angstrom-2008.1.conf4
-rw-r--r--conf/distro/include/angstrom.inc5
-rw-r--r--conf/distro/include/sane-srcrevs.inc74
-rw-r--r--conf/distro/openmoko.conf2
-rw-r--r--conf/machine/i586-generic.conf3
-rw-r--r--conf/machine/i686-generic.conf3
-rw-r--r--conf/machine/include/tune-pentium.inc3
-rw-r--r--conf/machine/include/tune-pentiumpro.inc3
-rw-r--r--conf/machine/rokr-e2.conf9
-rw-r--r--conf/machine/rokre2.conf8
-rw-r--r--conf/machine/ts72xx.conf19
-rw-r--r--conf/sanity.conf2
-rw-r--r--packages/angstrom/angstrom-feed-configs.bb11
-rw-r--r--packages/angstrom/angstrom-version.bb3
-rw-r--r--packages/binutils/binutils-2.18/.mtn2git_empty (renamed from packages/mono/mono-1.2.4+1.2.5pre5/.mtn2git_empty)0
-rw-r--r--packages/binutils/binutils-2.18/110-arm-eabi-conf.patch24
-rw-r--r--packages/binutils/binutils-2.18/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch39
-rw-r--r--packages/binutils/binutils-2.18/binutils-uclibc-100-uclibc-conf.patch34
-rw-r--r--packages/binutils/binutils-2.18/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--packages/binutils/binutils-2.18/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--packages/binutils/binutils-2.18/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--packages/binutils/binutils-cross-sdk_2.18.bb21
-rw-r--r--packages/binutils/binutils-cross_2.18.bb3
-rw-r--r--packages/binutils/binutils_2.18.bb11
-rw-r--r--packages/dfu-util/dfu-util_svn.bb2
-rw-r--r--packages/ezx/opentapi_svn.bb2
-rw-r--r--packages/ffmpeg/ffmpeg_svn.bb2
-rw-r--r--packages/glibc/eglibc-package.bbclass3
-rw-r--r--packages/glibc/eglibc_svn.bb1
-rw-r--r--packages/glibc/glibc-package.bbclass3
-rw-r--r--packages/glibc/glibc_2.2.5.bb2
-rw-r--r--packages/glibc/glibc_2.3.2+cvs20040726.bb2
-rw-r--r--packages/glibc/glibc_2.3.2.bb2
-rw-r--r--packages/glibc/glibc_2.3.3+cvs20041128.bb2
-rw-r--r--packages/glibc/glibc_2.3.3+cvs20050221.bb2
-rw-r--r--packages/glibc/glibc_2.3.3+cvs20050420.bb2
-rw-r--r--packages/glibc/glibc_2.3.3.bb2
-rw-r--r--packages/glibc/glibc_2.3.5+cvs20050627.bb2
-rw-r--r--packages/glibc/glibc_2.4.bb2
-rw-r--r--packages/glibc/glibc_2.5.bb2
-rw-r--r--packages/glibc/glibc_2.6.1.bb2
-rw-r--r--packages/glibc/glibc_cvs.bb2
-rw-r--r--packages/gnuradio/gnuradio_svn.bb4
-rw-r--r--packages/gsm/libgsmd_svn.bb2
-rw-r--r--packages/gtk-webcore/midori/.mtn2git_empty0
-rw-r--r--packages/gtk-webcore/midori/midori.desktop8
-rw-r--r--packages/gtk-webcore/midori_0.0.2.bb11
-rw-r--r--packages/gtk-webcore/midori_0.0.3.bb11
-rw-r--r--packages/gtk-webcore/midori_0.0.4.bb11
-rw-r--r--packages/gtk-webcore/midori_0.0.5.bb11
-rw-r--r--packages/gtk-webcore/midori_0.0.6.bb18
-rw-r--r--packages/gtk-webcore/osb-browser_svn.bb2
-rw-r--r--packages/gtk-webcore/osb-jscore_svn.bb2
-rw-r--r--packages/gtk-webcore/osb-nrcit_svn.bb2
-rw-r--r--packages/gtk-webcore/osb-nrcore_svn.bb2
-rw-r--r--packages/images/angstrom-minimal-image-with-mtd-utils.bb2
-rw-r--r--packages/libowl/libowl_svn.bb2
-rw-r--r--packages/libxosd/libxosd_svn.bb2
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff87
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff220
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff110
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff181
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch38
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff42
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff66
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff59
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series12
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch17
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch18
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch41
-rw-r--r--packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch430
-rw-r--r--packages/linux/linux-2.6.22.6/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff87
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff220
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff110
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff181
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch38
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff42
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff66
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff59
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/series12
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch17
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch15
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch41
-rw-r--r--packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch430
-rw-r--r--packages/linux/linux-rp-2.6.22/defconfig-akita1
-rw-r--r--packages/linux/linux-rp-2.6.22/defconfig-c7x02
-rw-r--r--packages/linux/linux-rp_2.6.22.bb2
-rw-r--r--packages/linux/linux/ts72xx/.mtn2git_empty0
-rw-r--r--packages/linux/linux/ts72xx/defconfig1184
-rw-r--r--packages/linux/linux_2.6.22+2.6.23-rc5.bb34
-rw-r--r--packages/linux/linux_2.6.22.6.bb28
-rw-r--r--packages/madwifi/madwifi-ng_r2702-20070903.bb14
-rw-r--r--packages/maemo3/hildon-1/.mtn2git_empty0
-rw-r--r--packages/maemo3/hildon-1/buttonbox.patch11
-rw-r--r--packages/maemo3/hildon-1_svn.bb20
-rw-r--r--packages/maemo3/libosso_1.20.bb7
-rw-r--r--packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch92
-rw-r--r--packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb5
-rw-r--r--packages/matchbox-keyboard/matchbox-keyboard_svn.bb10
-rw-r--r--packages/matchbox-panel/matchbox-panel_svn.bb2
-rw-r--r--packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb4
-rw-r--r--packages/matchbox2/matchbox-desktop-2_svn.bb2
-rw-r--r--packages/matchbox2/matchbox-panel-2_svn.bb2
-rw-r--r--packages/misc-binary-only/prism-firmware.bb14
-rw-r--r--packages/misc-binary-only/prism-firmware/prism-fw.sh2
-rw-r--r--packages/mono/mono-1.2.5/.mtn2git_empty0
-rw-r--r--packages/mono/mono-1.2.5/configure.patch (renamed from packages/mono/mono-1.2.4+1.2.5pre5/configure.patch)0
-rw-r--r--packages/mono/mono-native_1.2.5.bb (renamed from packages/mono/mono-native_1.2.5pre5.bb)2
-rw-r--r--packages/mono/mono_1.2.5.bb (renamed from packages/mono/mono_1.2.5pre5.bb)4
-rw-r--r--packages/mono/mono_1.2.5.inc (renamed from packages/mono/mono_1.2.5pre5.inc)4
-rw-r--r--packages/openmoko-apps/openmoko-appmanager_svn.bb2
-rw-r--r--packages/openmoko-apps/openmoko-calculator_svn.bb2
-rw-r--r--packages/openmoko-apps/openmoko-dialer_svn.bb2
-rw-r--r--packages/openmoko-apps/openmoko-footer_svn.bb2
-rw-r--r--packages/openmoko-apps/openmoko-messages_svn.bb2
-rw-r--r--packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb2
-rw-r--r--packages/openmoko-apps/openmoko-taskmanager_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-common_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-icon-theme-standard_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-libs_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-session_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-sound-theme-standard_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-theme-standard-qvga_svn.bb2
-rw-r--r--packages/openmoko-base/openmoko-theme-standard_svn.bb2
-rw-r--r--packages/openmoko-examples/openmoko-finger-demo_svn.bb2
-rw-r--r--packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb2
-rw-r--r--packages/openmoko-examples/openmoko-panel-demo_svn.bb2
-rw-r--r--packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb2
-rw-r--r--packages/openmoko-examples/openmoko-stylus-demo_svn.bb2
-rw-r--r--packages/openmoko-inputmethods/openmoko-keyboard_svn.bb2
-rw-r--r--packages/openmoko-pim/openmoko-contacts_svn.bb2
-rw-r--r--packages/openmoko-pim/openmoko-dates_svn.bb2
-rw-r--r--packages/openmoko-pim/openmoko-tasks_svn.bb2
-rw-r--r--packages/openmoko-pim/openmoko-today_svn.bb2
-rw-r--r--packages/openmoko2/libmokopanelui2_svn.bb7
-rw-r--r--packages/openmoko2/openmoko-common2_svn.bb2
-rw-r--r--packages/openmoko2/openmoko-mediaplayer2_svn.bb4
-rw-r--r--packages/openmoko2/openmoko-session2.bb2
-rwxr-xr-xpackages/openmoko2/openmoko-session2/etc/matchbox/session2
-rw-r--r--packages/pango/pango.inc2
-rw-r--r--packages/pxaregs/.mtn2git_empty0
-rw-r--r--packages/pxaregs/pxaregs-1.14/.mtn2git_empty0
-rw-r--r--packages/pxaregs/pxaregs-1.14/Makefile3
-rw-r--r--packages/pxaregs/pxaregs-1.14/i2c.patch15
-rw-r--r--packages/pxaregs/pxaregs-1.14/munmap.patch22
-rw-r--r--packages/pxaregs/pxaregs-1.14/serial.patch14
-rw-r--r--packages/pxaregs/pxaregs-1.14/usb.patch17
-rw-r--r--packages/pxaregs/pxaregs_1.14.bb21
-rw-r--r--packages/qte/qte-mt-static_2.3.10.bb2
-rw-r--r--packages/qte/qtopia-core_4.3.1.bb222
-rw-r--r--packages/samba/samba.inc3
-rw-r--r--packages/samba/samba_3.0.23c.bb2
-rw-r--r--packages/scummvm/scummvm.inc4
-rw-r--r--packages/sphyrna/sphyrna_svn.bb2
-rw-r--r--packages/tasks/task-openmoko-feed.bb3
-rw-r--r--packages/tasks/task-openmoko.bb17
-rw-r--r--packages/tinymail/libtinymail_svn.bb2
-rw-r--r--packages/uboot/uboot-openmoko_svn.bb8
-rw-r--r--packages/uclibc/uclibc_svn.bb2
-rw-r--r--packages/webkit/webkit-gtk_svn.bb9
-rw-r--r--packages/xoo/xoo_svn.bb2
-rw-r--r--packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb5
-rw-r--r--packages/xournal/xournal_0.4.bb17
-rw-r--r--site/ix86-common3
188 files changed, 5064 insertions, 334 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 1842441ff5..f9532a36ab 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -73,7 +73,7 @@ Person: Holger Hans Peter Freyther
Mail: zecke@selfish.org
Website: http://www.openembedded.org/~zecke
Interests: icecream, insanity, QA
-Recipes: sqlite3, xine
+Recipes: qtopia*, sqlite3, xine
Person: Jamie Lenehan
Mail: lenehan@twibble.org
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 1a3739f383..d4b327e266 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -374,6 +374,9 @@ oe_machinstall() {
fi
}
+# Remove and re-create ${D} so that is it guaranteed to be empty
+do_install[cleandirs] = "${D}"
+
addtask listtasks
do_listtasks[nostamp] = "1"
python do_listtasks() {
@@ -576,10 +579,6 @@ python base_do_unpack() {
local = bb.data.expand(bb.fetch.localpath(url, localdata), localdata)
except bb.MalformedUrl, e:
raise FuncFailed('Unable to generate local path for malformed uri: %s' % e)
- # dont need any parameters for extraction, strip them off
- # RP: Insane. localpath shouldn't have parameters
- # RP: Scehdule for removal with bitbake 1.8.8
- local = re.sub(';.*$', '', local)
local = os.path.realpath(local)
ret = oe_unpack_file(local, localdata, url)
if not ret:
@@ -871,14 +870,6 @@ python () {
base_after_parse(d)
}
-# Remove me when we switch to bitbake 1.8.8
-def base_get_srcrev(d):
- import bb
-
- if hasattr(bb.fetch, "get_srcrev"):
- return bb.fetch.get_srcrev(d)
- return "NOT IMPLEMENTED"
-
# Patch handling
inherit patch
diff --git a/classes/debian.bbclass b/classes/debian.bbclass
index 403c38c752..a38f10d629 100644
--- a/classes/debian.bbclass
+++ b/classes/debian.bbclass
@@ -7,7 +7,10 @@ STAGING_PKGMAPS_DIR = "${STAGING_DIR}/pkgmaps/debian"
#
# Better expressed as ensure all RDEPENDS package before we package
# This means we can't have circular RDEPENDS/RRECOMMENDS
-do_package_write[rdeptask] = "do_package"
+do_package_write_ipk[rdeptask] = "do_package"
+do_package_write_deb[rdeptask] = "do_package"
+do_package_write_tar[rdeptask] = "do_package"
+do_package_write_rpm[rdeptask] = "do_package"
python debian_package_name_hook () {
import glob, copy, stat, errno, re
diff --git a/classes/image.bbclass b/classes/image.bbclass
index 04e26e4b35..3420e3f53a 100644
--- a/classes/image.bbclass
+++ b/classes/image.bbclass
@@ -4,7 +4,7 @@ LICENSE = "MIT"
PACKAGES = ""
RDEPENDS += "${IMAGE_INSTALL}"
-export IMAGE_BASENAME ?= "${PN}"
+IMAGE_BASENAME[export] = "1"
export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}"
# We need to recursively follow RDEPENDS and RRECOMMENDS for images
diff --git a/classes/multimachine.bbclass b/classes/multimachine.bbclass
index 0286a29515..945d22bfe0 100644
--- a/classes/multimachine.bbclass
+++ b/classes/multimachine.bbclass
@@ -1,9 +1,7 @@
STAMP = "${TMPDIR}/stamps/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}/${PF}"
WORKDIR = "${TMPDIR}/work/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}/${PF}"
STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}/kernel"
-# Enable me to fix pkgdata problems with multimachine
-# Requires all install tasks to rerun (wipe all install stamps from tmp/stamps/
-#PKGDATA_DIR = "${STAGING_DIR}/pkgdata/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+PKGDATA_DIR = "${STAGING_DIR}/pkgdata/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
# Find any machine specific sub packages and if present, mark the
# whole package as machine specific for multimachine purposes.
diff --git a/classes/openmoko2.bbclass b/classes/openmoko2.bbclass
index 872dd4915c..ef734e4311 100644
--- a/classes/openmoko2.bbclass
+++ b/classes/openmoko2.bbclass
@@ -29,5 +29,5 @@ S = "${WORKDIR}/${PN}"
FILES_${PN} += "${datadir}/icons"
-# SVNREV = "r${SRCREV}"
-SVNREV = "${SRCDATE}"
+SVNREV = "r${SRCREV}"
+#SVNREV = "${SRCDATE}"
diff --git a/classes/package.bbclass b/classes/package.bbclass
index fe48ec6afd..5233fa363c 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -2,6 +2,8 @@
# General packaging help functions
#
+PKGDEST = "${WORKDIR}/install"
+
def legitimize_package_name(s):
"""
Make sure package names are legitimate strings
@@ -120,18 +122,12 @@ PACKAGE_DEPENDS += "file-native"
python () {
import bb
-
if bb.data.getVar('PACKAGES', d, True) != '':
deps = bb.data.getVarFlag('do_package', 'depends', d) or ""
for dep in (bb.data.getVar('PACKAGE_DEPENDS', d, True) or "").split():
deps += " %s:do_populate_staging" % dep
bb.data.setVarFlag('do_package', 'depends', deps, d)
- deps = bb.data.getVarFlag('do_package_write', 'depends', d) or ""
- for dep in (bb.data.getVar('PACKAGE_EXTRA_DEPENDS', d, True) or "").split():
- deps += " %s:do_populate_staging" % dep
- bb.data.setVarFlag('do_package_write', 'depends', deps, d)
-
# shlibs requires any DEPENDS to have already packaged for the *.list files
bb.data.setVarFlag('do_package', 'deptask', 'do_package', d)
}
@@ -380,25 +376,21 @@ python populate_packages () {
if not os.path.islink(file) and not os.path.isdir(file) and isexec(file):
runstrip(file, d)
+ pkgdest = bb.data.getVar('PKGDEST', d, 1)
+ os.system('rm -rf %s' % pkgdest)
+
for pkg in package_list:
localdata = bb.data.createCopy(d)
- root = os.path.join(workdir, "install", pkg)
-
- os.system('rm -rf %s' % root)
+ root = os.path.join(pkgdest, pkg)
+ bb.mkdirhier(root)
- bb.data.setVar('ROOT', '', localdata)
- bb.data.setVar('ROOT_%s' % pkg, root, localdata)
bb.data.setVar('PKG', pkg, localdata)
-
overrides = bb.data.getVar('OVERRIDES', localdata, 1)
if not overrides:
raise bb.build.FuncFailed('OVERRIDES not defined')
- bb.data.setVar('OVERRIDES', overrides+':'+pkg, localdata)
-
+ bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
bb.data.update_data(localdata)
- root = bb.data.getVar('ROOT', localdata, 1)
- bb.mkdirhier(root)
filesvar = bb.data.getVar('FILES', localdata, 1) or ""
files = filesvar.split()
for file in files:
@@ -451,7 +443,7 @@ python populate_packages () {
for pkg in package_list:
dangling_links[pkg] = []
pkg_files[pkg] = []
- inst_root = os.path.join(workdir, "install", pkg)
+ inst_root = os.path.join(pkgdest, pkg)
for root, dirs, files in os.walk(inst_root):
for f in files:
path = os.path.join(root, f)
@@ -572,6 +564,8 @@ python package_do_shlibs() {
bb.error("TARGET_SYS not defined")
return
+ pkgdest = bb.data.getVar('PKGDEST', d, 1)
+
shlibs_dir = os.path.join(staging, target_sys, "shlibs")
old_shlibs_dir = os.path.join(staging, "shlibs")
bb.mkdirhier(shlibs_dir)
@@ -584,7 +578,7 @@ python package_do_shlibs() {
needed[pkg] = []
sonames = list()
- top = os.path.join(workdir, "install", pkg)
+ top = os.path.join(pkgdest, pkg)
for root, dirs, files in os.walk(top):
for file in files:
soname = None
@@ -670,7 +664,7 @@ python package_do_shlibs() {
else:
bb.note("Couldn't find shared library provider for %s" % n)
- deps_file = os.path.join(workdir, "install", pkg + ".shlibdeps")
+ deps_file = os.path.join(pkgdest, pkg + ".shlibdeps")
if os.path.exists(deps_file):
os.remove(deps_file)
if len(deps):
@@ -703,6 +697,8 @@ python package_do_pkgconfig () {
bb.error("TARGET_SYS not defined")
return
+ pkgdest = bb.data.getVar('PKGDEST', d, 1)
+
shlibs_dir = os.path.join(staging, target_sys, "shlibs")
old_shlibs_dir = os.path.join(staging, "shlibs")
bb.mkdirhier(shlibs_dir)
@@ -716,7 +712,7 @@ python package_do_pkgconfig () {
for pkg in packages.split():
pkgconfig_provided[pkg] = []
pkgconfig_needed[pkg] = []
- top = os.path.join(workdir, "install", pkg)
+ top = os.path.join(pkgdest, pkg)
for root, dirs, files in os.walk(top):
for file in files:
m = pc_re.match(file)
@@ -779,7 +775,7 @@ python package_do_pkgconfig () {
found = True
if found == False:
bb.note("couldn't find pkgconfig module '%s' in any package" % n)
- deps_file = os.path.join(workdir, "install", pkg + ".pcdeps")
+ deps_file = os.path.join(pkgdest, pkg + ".pcdeps")
if os.path.exists(deps_file):
os.remove(deps_file)
if len(deps):
@@ -793,14 +789,14 @@ python read_shlibdeps () {
packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
for pkg in packages:
rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
- shlibsfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".shlibdeps", d)
+ shlibsfile = bb.data.expand("${PKGDEST}/" + pkg + ".shlibdeps", d)
if os.access(shlibsfile, os.R_OK):
fd = file(shlibsfile)
lines = fd.readlines()
fd.close()
for l in lines:
rdepends.append(l.rstrip())
- pcfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".pcdeps", d)
+ pcfile = bb.data.expand("${PKGDEST}/" + pkg + ".pcdeps", d)
if os.access(pcfile, os.R_OK):
fd = file(pcfile)
lines = fd.readlines()
@@ -906,21 +902,14 @@ python package_do_package () {
do_package[dirs] = "${D}"
addtask package before do_build after do_install
-
-
-PACKAGE_WRITE_FUNCS ?= "read_subpackage_metadata"
-
-python package_do_package_write () {
- for f in (bb.data.getVar('PACKAGE_WRITE_FUNCS', d, 1) or '').split():
- bb.build.exec_func(f, d)
+# Dummy task to mark when all packaging is complete
+do_package_write () {
+ :
}
-do_package_write[dirs] = "${D}"
addtask package_write before do_build after do_package
-
EXPORT_FUNCTIONS do_package do_package_write
-
#
# Helper functions for the package writing classes
#
diff --git a/classes/package_deb.bbclass b/classes/package_deb.bbclass
index 94db9238c2..2ab537f174 100644
--- a/classes/package_deb.bbclass
+++ b/classes/package_deb.bbclass
@@ -4,11 +4,8 @@
inherit package
-PACKAGE_EXTRA_DEPENDS += "dpkg-native fakeroot-native"
-
BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
DISTRO_EXTRA_RDEPENDS += "dpkg"
-PACKAGE_WRITE_FUNCS += "do_package_deb"
IMAGE_PKGTYPE ?= "deb"
python package_deb_fn () {
@@ -271,5 +268,5 @@ python do_package_write_deb () {
bb.build.exec_func("do_package_deb", d)
}
do_package_write_deb[dirs] = "${D}"
-#addtask package_write_deb before do_package_write after do_package
+addtask package_write_deb before do_package_write after do_package
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass
index 3468680882..0b7f274a96 100644
--- a/classes/package_ipk.bbclass
+++ b/classes/package_ipk.bbclass
@@ -1,9 +1,6 @@
inherit package
-PACKAGE_EXTRA_DEPENDS += "ipkg-utils-native fakeroot-native"
-
BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg"
-PACKAGE_WRITE_FUNCS += "do_package_ipk"
IMAGE_PKGTYPE ?= "ipk"
IPKGCONF_TARGET = "${STAGING_ETCDIR_NATIVE}/ipkg.conf"
@@ -85,6 +82,10 @@ package_update_index_ipk () {
touch ${DEPLOY_DIR_IPK}/$arch/Packages
ipkg-make-index -r ${DEPLOY_DIR_IPK}/$arch/Packages -p ${DEPLOY_DIR_IPK}/$arch/Packages -l ${DEPLOY_DIR_IPK}/$arch/Packages.filelist -m ${DEPLOY_DIR_IPK}/$arch/
fi
+ if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/ ] ; then
+ touch ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages
+ ipkg-make-index -r ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -p ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages -l ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages.filelist -m ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/
+ fi
done
}
@@ -105,7 +106,9 @@ package_generate_ipkg_conf () {
priority=$(expr $priority + 5)
if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_TARGET}
- echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_SDK}
+ fi
+ if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages ] ; then
+ echo "src oe-${BUILD_ARCH}-$arch-sdk file:${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk" >> ${IPKGCONF_SDK}
fi
done
}
@@ -313,4 +316,4 @@ python do_package_write_ipk () {
bb.build.exec_func("do_package_ipk", d)
}
do_package_write_ipk[dirs] = "${D}"
-
+addtask package_write_ipk before do_package_write after do_package
diff --git a/classes/package_rpm.bbclass b/classes/package_rpm.bbclass
index bd4a0c2798..7fc5e8ea96 100644
--- a/classes/package_rpm.bbclass
+++ b/classes/package_rpm.bbclass
@@ -2,7 +2,6 @@ inherit package
inherit rpm_core
RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}"
-PACKAGE_WRITE_FUNCS += "do_package_rpm"
IMAGE_PKGTYPE ?= "rpm"
python write_specfile() {
@@ -144,4 +143,4 @@ python do_package_write_rpm () {
bb.build.exec_func("do_package_rpm", d)
}
do_package_write_rpm[dirs] = "${D}"
-#addtask package_write_rpm before do_build after do_package
+addtask package_write_rpm before do_build after do_package
diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass
index a56f2e2b00..cb4c42b261 100644
--- a/classes/package_tar.bbclass
+++ b/classes/package_tar.bbclass
@@ -1,8 +1,5 @@
inherit package
-PACKAGE_EXTRA_DEPENDS += "tar-native"
-
-PACKAGE_WRITE_FUNCS += "do_package_tar"
IMAGE_PKGTYPE ?= "tar"
python package_tar_fn () {
@@ -111,4 +108,4 @@ python do_package_write_tar () {
bb.build.exec_func("do_package_tar", d)
}
do_package_write_tar[dirs] = "${D}"
-#addtask package_write_tar before do_build after do_package
+addtask package_write_tar before do_build after do_package
diff --git a/classes/qmake-base.bbclass b/classes/qmake-base.bbclass
index b623b34aaa..52f6d830a0 100644
--- a/classes/qmake-base.bbclass
+++ b/classes/qmake-base.bbclass
@@ -1,4 +1,3 @@
-DEPENDS_prepend = "qmake-native "
OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++"
QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}"
@@ -9,22 +8,12 @@ EXTRA_OEMAKE = ' MAKEFLAGS= '
export OE_QMAKE_CC="${CC}"
export OE_QMAKE_CFLAGS="${CFLAGS}"
export OE_QMAKE_CXX="${CXX}"
-export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
export OE_QMAKE_LDFLAGS="${LDFLAGS}"
-export OE_QMAKE_LINK="${CCLD}"
export OE_QMAKE_AR="${AR}"
export OE_QMAKE_STRIP="echo"
-export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic"
-export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc"
-export OE_QMAKE_RCC="non-existant"
-export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake"
export OE_QMAKE_RPATH="-Wl,-rpath-link,"
# default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11
-export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
-export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
-export OE_QMAKE_LIBS_QT="qte"
-export OE_QMAKE_LIBS_X11=""
oe_qmake_mkspecs () {
mkdir -p mkspecs/${OE_QMAKE_PLATFORM}
@@ -42,3 +31,58 @@ oe_qmake_mkspecs () {
done
}
+qmake-base_do_configure() {
+ case ${QMAKESPEC} in
+ *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++)
+ ;;
+ *-oe-g++)
+ die Unsupported target ${TARGET_OS} for oe-g++ qmake spec
+ ;;
+ *)
+ oenote Searching for qmake spec file
+ paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++"
+ paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths"
+
+ if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
+ paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths"
+ fi
+ for i in $paths; do
+ if test -e $i; then
+ export QMAKESPEC=$i
+ break
+ fi
+ done
+ ;;
+ esac
+
+ oenote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'"
+
+ if [ -z "${QMAKE_PROFILES}" ]; then
+ PROFILES="`ls *.pro`"
+ else
+ PROFILES="${QMAKE_PROFILES}"
+ fi
+
+ if [ -z "$PROFILES" ]; then
+ die "QMAKE_PROFILES not set and no profiles found in $PWD"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
+ AFTER="-after"
+ QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
+ oenote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
+ QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
+ oenote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}"
+ fi
+
+#oenote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'"
+ unset QMAKESPEC || true
+ ${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES"
+}
+
+EXPORT_FUNCTIONS do_configure
+
+addtask configure after do_unpack do_patch before do_compile
diff --git a/classes/qmake.bbclass b/classes/qmake.bbclass
index 4f2fceff35..b45e54ca6a 100644
--- a/classes/qmake.bbclass
+++ b/classes/qmake.bbclass
@@ -1,57 +1,14 @@
inherit qmake-base
-qmake_do_configure() {
- case ${QMAKESPEC} in
- *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++)
- ;;
- *-oe-g++)
- die Unsupported target ${TARGET_OS} for oe-g++ qmake spec
- ;;
- *)
- oenote Searching for qmake spec file
- paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++"
- paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths"
+DEPENDS_prepend = "qmake-native "
+
+export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic"
+export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc"
+export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake"
+export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
+export OE_QMAKE_LINK="${CCLD}"
+export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT="qte"
+export OE_QMAKE_LIBS_X11=""
- if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
- paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths"
- fi
- for i in $paths; do
- if test -e $i; then
- export QMAKESPEC=$i
- break
- fi
- done
- ;;
- esac
-
- oenote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'"
-
- if [ -z "${QMAKE_PROFILES}" ]; then
- PROFILES="`ls *.pro`"
- else
- PROFILES="${QMAKE_PROFILES}"
- fi
-
- if [ -z "$PROFILES" ]; then
- die "QMAKE_PROFILES not set and no profiles found in $PWD"
- fi
-
- if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
- AFTER="-after"
- QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
- oenote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}"
- fi
-
- if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
- QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
- oenote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}"
- fi
-
-#oenote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'"
- unset QMAKESPEC || true
- ${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES"
-}
-
-EXPORT_FUNCTIONS do_configure
-
-addtask configure after do_unpack do_patch before do_compile
diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass
new file mode 100644
index 0000000000..86f1439b30
--- /dev/null
+++ b/classes/qmake2.bbclass
@@ -0,0 +1,20 @@
+#
+# QMake variables for Qt4
+#
+inherit qmake-base
+
+DEPENDS_prepend = "qmake2-native uicmoc4-native "
+
+export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4"
+export QMAKESPEC = "${QTDIR}/mkspecs/${TARGET_OS}-oe-g++"
+export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4"
+export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34"
+export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4"
+export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4"
+export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2"
+export OE_QMAKE_LINK = "${CXX}"
+export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
+export OE_QMAKE_INCDIR_QT = "${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
diff --git a/classes/qt4x11.bbclass b/classes/qt4x11.bbclass
index 7046ef1cb9..76a45c33cb 100644
--- a/classes/qt4x11.bbclass
+++ b/classes/qt4x11.bbclass
@@ -1,18 +1,3 @@
-DEPENDS_prepend = "qmake2-native "
DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}"
-#
-# override variables set by qmake-base to compile Qt4/X11 apps
-#
-export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4"
-export QMAKESPEC = "${QTDIR}/mkspecs/${TARGET_OS}-oe-g++"
-export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4"
-export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34"
-export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4"
-export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4"
-export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2"
-export OE_QMAKE_LINK = "${CXX}"
-export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
-export OE_QMAKE_INCDIR_QT = "${QTDIR}/include"
-export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib"
-export OE_QMAKE_LIBS_QT = "qt"
-export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
+
+inherit qmake2
diff --git a/classes/rm_work.bbclass b/classes/rm_work.bbclass
index 2ec7d305f2..8569148212 100644
--- a/classes/rm_work.bbclass
+++ b/classes/rm_work.bbclass
@@ -20,9 +20,7 @@ do_rm_work () {
fi
done
}
-# Uncomment me when we can use bitbake 1.8.8
-#addtask rm_work after do_${RMWORK_ORIG_TASK}
-addtask rm_work after do_build
+addtask rm_work after do_${RMWORK_ORIG_TASK}
do_rm_work_all () {
:
diff --git a/classes/rootfs_deb.bbclass b/classes/rootfs_deb.bbclass
index 6db02fa150..d3e5832251 100644
--- a/classes/rootfs_deb.bbclass
+++ b/classes/rootfs_deb.bbclass
@@ -3,7 +3,7 @@
#
do_rootfs[depends] += "dpkg-native:do_populate_staging apt-native:do_populate_staging"
-do_rootfs[recrdeptask] += "do_package_write"
+do_rootfs[recrdeptask] += "do_package_write_deb"
fakeroot rootfs_deb_do_rootfs () {
set +e
diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass
index 8154318311..6babee30a2 100644
--- a/classes/rootfs_ipk.bbclass
+++ b/classes/rootfs_ipk.bbclass
@@ -6,7 +6,7 @@
#
do_rootfs[depends] += "ipkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
-do_rootfs[recrdeptask] += "do_package_write"
+do_rootfs[recrdeptask] += "do_package_write_ipk"
IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}"
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 5f8f91240d..232986827c 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -157,6 +157,7 @@ CACHE = "${TMPDIR}/cache${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool
CVSDIR = "${DL_DIR}/cvs"
SVNDIR = "${DL_DIR}/svn"
GITDIR = "${DL_DIR}/git"
+BZRDIR = "${DL_DIR}/bzr"
STAMP = "${TMPDIR}/stamps/${PF}"
WORKDIR = "${TMPDIR}/work/${PF}"
@@ -203,7 +204,7 @@ STAGING_KERNEL_DIR = "${STAGING_DIR}/${HOST_SYS}/kernel"
##################################################################
IMAGE_ROOTFS = "${TMPDIR}/rootfs"
-IMAGE_BASENAME = "rootfs"
+IMAGE_BASENAME = "${PN}"
IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
IMAGE_CMD = ""
@@ -372,6 +373,7 @@ KERNELORG_MIRROR = "http://kernel.org/"
FETCHCMD_svn = "/usr/bin/env svn"
FETCHCMD_cvs = "/usr/bin/env cvs"
FETCHCMD_wget = "/usr/bin/env wget -t 5"
+FETCHCMD_bzr = "/usr/bin/env bzr"
FETCHCOMMAND = "ERROR, this must be a BitBake bug"
FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
@@ -383,7 +385,7 @@ UPDATECOMMAND = "ERROR, this must be a BitBake bug"
UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
SRCDATE = "${DATE}"
-SRCREV = "${@base_get_srcrev(d)}"
+SRCREV = "${@bb.fetch.get_srcrev(d)}"
AUTOREV = "${@bb.fetch.get_srcrev(d)}"
SRC_URI = "file://${FILE}"
diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf
index 909e66dcd9..3b2dcce756 100644
--- a/conf/distro/angstrom-2007.1.conf
+++ b/conf/distro/angstrom-2007.1.conf
@@ -267,9 +267,9 @@ PREFERRED_VERSION_gcc-cross ?= "4.1.2"
PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.2"
PREFERRED_VERSION_gcc-cross-initial ?= "4.1.2"
-PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
-PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
-PREFERRED_VERSION_binutils-cross-sdk ?= "2.17.50.0.5"
+PREFERRED_VERSION_binutils ?= "2.18"
+PREFERRED_VERSION_binutils-cross ?= "2.18"
+PREFERRED_VERSION_binutils-cross-sdk ?= "2.18"
#avr32 only has patches for binutils 2.17 and gcc 4.1.2 in OE
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc_avr32 = "avr32-gcc-cross"
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 655d435994..34a1e54959 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -21,10 +21,6 @@ DISTRO_REVISION = "0"
PREFERRED_VERSION_gcc = "4.2.1"
PREFERRED_VERSION_gcc-cross = "4.2.1"
-PREFERRED_VERSION_binutils = "2.17.50.0.12"
-PREFERRED_VERSION_binutils-cross = "2.17.50.0.12"
-PREFERRED_VERSION_binutils-cross-sdk = "2.17.50.0.12"
-
#This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
PREFERRED_VERSION_linux-libc-headers = "2.6.22"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index 865f0bc5a6..0c3ac35672 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -16,6 +16,11 @@ require conf/distro/include/angstrom-${ANGSTROM_MODE}.inc
#Use this variable in feeds and other parts that need a URI
ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
+#Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/*, /etc/apt/sources.list)
+# usefull for derivative distros and local testing
+# As this is runtime we can't and won't use virtual/feed-configs
+ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs"
+
#Set the default maintainer to angstrom-dev
MAINTAINER = "Angstrom Developers <angstrom-distro-devel@linuxtogo.org>"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
new file mode 100644
index 0000000000..27ce277965
--- /dev/null
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -0,0 +1,74 @@
+#Ggenerated with
+# bitbake -s | grep svnr | awk '{print "SRCREV_pn-" $1 "=" $2}' | \
+# sed -e s:\+:\=:g -e s:svnr::g| awk -F "=" '{print $1 "=\"" $3}' | \
+# awk -F "-r" '{print $1"\""}'
+
+# This will miss recipes that have skippackage set (e.g. uclibc)
+
+SRCREV_pn-dfu-util="2866"
+SRCREV_pn-dfu-util-native="2866"
+SRCREV_pn-eglibc="3376"
+SRCREV_pn-eglibc-initial="3376"
+SRCREV_pn-eglibc-intermediate="3376"
+SRCREV_pn-elf2flt="1786"
+SRCREV_pn-gnuradio="6316"
+SRCREV_pn-hildon-1="13599"
+SRCREV_pn-libgsmd="2806"
+SRCREV_pn-libmokogsmd2="2780"
+SRCREV_pn-libmokojournal2="2780"
+SRCREV_pn-libmokopanelui2="2892"
+SRCREV_pn-libmokoui2="2868"
+SRCREV_pn-libowl="277"
+SRCREV_pn-libxosd="627"
+SRCREV_pn-llvm-gcc4="41698"
+SRCREV_pn-llvm-gcc4-cross="41698"
+SRCREV_pn-matchbox-desktop-2="1649"
+SRCREV_pn-matchbox-keyboard="1583"
+SRCREV_pn-matchbox-panel-2="1626"
+SRCREV_pn-neod="2901"
+SRCREV_pn-openmoko-appmanager="1851"
+SRCREV_pn-openmoko-calculator="2404"
+SRCREV_pn-openmoko-calculator2="2789"
+SRCREV_pn-openmoko-common="397"
+SRCREV_pn-openmoko-common2="2679"
+SRCREV_pn-openmoko-contacts="2298"
+SRCREV_pn-openmoko-contacts2="335"
+SRCREV_pn-openmoko-dates="467"
+SRCREV_pn-openmoko-dialer="2811"
+SRCREV_pn-openmoko-dialer2="2869"
+SRCREV_pn-openmoko-feedreader2="2905"
+SRCREV_pn-openmoko-finger-demo="1671"
+SRCREV_pn-openmoko-firststart2="2873"
+SRCREV_pn-openmoko-footer="2354"
+SRCREV_pn-openmoko-icon-theme-standard="2232"
+SRCREV_pn-openmoko-icon-theme-standard2="2840"
+SRCREV_pn-openmoko-keyboard="1631"
+SRCREV_pn-openmoko-libs="2367"
+SRCREV_pn-openmoko-mediaplayer2="2883"
+SRCREV_pn-openmoko-messages="2276"
+SRCREV_pn-openmoko-panel-battery="2897"
+SRCREV_pn-openmoko-panel-bt="2896"
+SRCREV_pn-openmoko-panel-clock="2567"
+SRCREV_pn-openmoko-panel-demo="1622"
+SRCREV_pn-openmoko-panel-demo-simple="1328"
+SRCREV_pn-openmoko-panel-gps="2900"
+SRCREV_pn-openmoko-panel-gsm="2894"
+SRCREV_pn-openmoko-panel-mainmenu="2567"
+SRCREV_pn-openmoko-panel-usb="2893"
+SRCREV_pn-openmoko-session="152"
+SRCREV_pn-openmoko-simplemediaplayer="1688"
+SRCREV_pn-openmoko-sound-theme-standard="2827"
+SRCREV_pn-openmoko-stylus-demo="2324"
+SRCREV_pn-openmoko-stylus-demo-simple="1818"
+SRCREV_pn-openmoko-taskmanager="1663"
+SRCREV_pn-openmoko-tasks="320"
+SRCREV_pn-openmoko-tasks2="320"
+SRCREV_pn-openmoko-theme-standard="2370"
+SRCREV_pn-openmoko-theme-standard-qvga="2370"
+SRCREV_pn-openmoko-today="2556"
+SRCREV_pn-openmoko-today2="2919"
+SRCREV_pn-openmoko-today2-folders="2680"
+SRCREV_pn-opentapi="2012"
+SRCREV_pn-sphyrna="43"
+SRCREV_pn-webkit-gtk="webcore"
+SRCREV_pn-xoo="1623"
diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf
index 7061ef2c63..0748b8cb7f 100644
--- a/conf/distro/openmoko.conf
+++ b/conf/distro/openmoko.conf
@@ -11,7 +11,7 @@ require conf/distro/angstrom-2007.1.conf
#
DISTRO = "openmoko"
DISTRO_NAME = "OpenMoko"
-DISTRO_VERSION = "P1-August-Snapshot-${DATE}"
+DISTRO_VERSION = "P1-September-Snapshot-${DATE}"
#DISTRO_TYPE = "release"
DISTRO_TYPE = "debug"
diff --git a/conf/machine/i586-generic.conf b/conf/machine/i586-generic.conf
index 2cae2a87dc..0ef522441b 100644
--- a/conf/machine/i586-generic.conf
+++ b/conf/machine/i586-generic.conf
@@ -24,3 +24,6 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
MACHINE_TASK_PROVIDER = "task-base"
+#tune for pentium cpu
+require conf/machine/include/tune-pentium.inc
+
diff --git a/conf/machine/i686-generic.conf b/conf/machine/i686-generic.conf
index 883d6b4dd0..8ff87553ba 100644
--- a/conf/machine/i686-generic.conf
+++ b/conf/machine/i686-generic.conf
@@ -22,3 +22,6 @@ MACHINE_FEATURES = "kernel26 screen keyboard pci ushbost acpi ext2"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
MACHINE_TASK_PROVIDER = "task-base"
+#tune for pentium pro cpu
+require conf/machine/include/tune-pentiumpro.inc
+
diff --git a/conf/machine/include/tune-pentium.inc b/conf/machine/include/tune-pentium.inc
new file mode 100644
index 0000000000..7b1a517895
--- /dev/null
+++ b/conf/machine/include/tune-pentium.inc
@@ -0,0 +1,3 @@
+TARGET_CC_ARCH = "-mcpu=pentium"
+PACKAGE_ARCH = "i586"
+
diff --git a/conf/machine/include/tune-pentiumpro.inc b/conf/machine/include/tune-pentiumpro.inc
new file mode 100644
index 0000000000..aa9a8dfa1d
--- /dev/null
+++ b/conf/machine/include/tune-pentiumpro.inc
@@ -0,0 +1,3 @@
+TARGET_CC_ARCH = "-mcpu=pentiumpro"
+PACKAGE_ARCH = "i686"
+
diff --git a/conf/machine/rokr-e2.conf b/conf/machine/rokr-e2.conf
deleted file mode 100644
index ccd496c03d..0000000000
--- a/conf/machine/rokr-e2.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-#@TYPE: Machine
-#@NAME: Motorola EZX rokr e2
-#@DESCRIPTION: Machine configuration for the Motorola GSM phones rokr e2
-
-require conf/machine/include/motorola-ezx-base.inc
-
-#no touchscreen
-MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen"
-
diff --git a/conf/machine/rokre2.conf b/conf/machine/rokre2.conf
new file mode 100644
index 0000000000..621e95f166
--- /dev/null
+++ b/conf/machine/rokre2.conf
@@ -0,0 +1,8 @@
+#@TYPE: Machine
+#@NAME: Motorola EZX ROKR E2
+#@DESCRIPTION: Machine configuration for the Motorola GSM Phone ROKR E2
+
+require conf/machine/include/motorola-ezx-base.inc
+
+# there is no touchscreen
+MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost keyboard screen"
diff --git a/conf/machine/ts72xx.conf b/conf/machine/ts72xx.conf
new file mode 100644
index 0000000000..632f3044cc
--- /dev/null
+++ b/conf/machine/ts72xx.conf
@@ -0,0 +1,19 @@
+#@TYPE: Machine
+#@Name: Technologic Systems TS-72xx SBC
+#@DESCRIPTION: Machine configuration for Technologic Systems TS-72xx SBC
+
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4t"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+
+MACHINE_FEATURES = "kernel26 apm alsa ext2 pcmcia usbhost screen"
+
+# default is 2.6.22.6
+#PREFERRED_VERSION_linux = "2.6.23-rc5"
+
+SERIAL_CONSOLE = "115200 ttyAM0"
+USE_VT = "0"
+CMDLINE = "console=ttyAM0,115200 ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0 root=/dev/nfs nfsroot=192.168.1.2:/media/data/devel/om2007.2/ts72xx/tmp/deploy/glibc/images/ts72xx/nfs_root"
+
+require conf/machine/include/tune-arm920t.inc
diff --git a/conf/sanity.conf b/conf/sanity.conf
index 163b63195e..fe1e2282e4 100644
--- a/conf/sanity.conf
+++ b/conf/sanity.conf
@@ -3,6 +3,6 @@
# See sanity.bbclass
#
# Expert users can confirm their sanity with "touch conf/sanity.conf"
-BB_MIN_VERSION = "1.8.5"
+BB_MIN_VERSION = "1.8.8"
INHERIT += "sanity"
diff --git a/packages/angstrom/angstrom-feed-configs.bb b/packages/angstrom/angstrom-feed-configs.bb
index 7645ee61ec..6730b6a044 100644
--- a/packages/angstrom/angstrom-feed-configs.bb
+++ b/packages/angstrom/angstrom-feed-configs.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Configuration files for online package repositories aka feeds"
-PR = "0"
+PR = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
FEED_BASEPATH ?= "unstable/feed/"
@@ -21,3 +21,12 @@ do_install () {
install -m 0644 ${S}/${sysconfdir}/ipkg/* ${D}${sysconfdir}/ipkg/
}
+CONFFILES_${PN} += "${sysconfdir}/ipkg/base-feed.conf \
+ ${sysconfdir}/ipkg/debug-feed.conf \
+ ${sysconfdir}/ipkg/perl-feed.conf \
+ ${sysconfdir}/ipkg/python-feed.conf \
+ ${sysconfdir}/ipkg/gstreamer-feed.conf \
+ ${sysconfdir}/ipkg/${MACHINE_ARCH}-feed.conf \
+ ${sysconfdir}/ipkg/noarch-feed.conf \
+ "
+
diff --git a/packages/angstrom/angstrom-version.bb b/packages/angstrom/angstrom-version.bb
index 2488255b53..32f3f01635 100644
--- a/packages/angstrom/angstrom-version.bb
+++ b/packages/angstrom/angstrom-version.bb
@@ -1,9 +1,10 @@
PV = "${DISTRO_VERSION}"
+PR = "r1"
PACKAGES = "${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-do_compile() {
+do_install() {
mkdir -p ${D}${sysconfdir}
echo "Angstrom ${DISTRO_VERSION}" > ${D}${sysconfdir}/angstrom-version
diff --git a/packages/mono/mono-1.2.4+1.2.5pre5/.mtn2git_empty b/packages/binutils/binutils-2.18/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/mono/mono-1.2.4+1.2.5pre5/.mtn2git_empty
+++ b/packages/binutils/binutils-2.18/.mtn2git_empty
diff --git a/packages/binutils/binutils-2.18/110-arm-eabi-conf.patch b/packages/binutils/binutils-2.18/110-arm-eabi-conf.patch
new file mode 100644
index 0000000000..050969bf64
--- /dev/null
+++ b/packages/binutils/binutils-2.18/110-arm-eabi-conf.patch
@@ -0,0 +1,24 @@
+diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
+--- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300
++++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300
+@@ -1299,7 +1299,7 @@
+ arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+ ;;
+diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in
+--- binutils-2.16.91.0.7.orig/configure.ac 2006-05-31 14:54:24.000000000 +0300
++++ binutils-2.16.91.0.7/configure.ac 2006-05-31 14:55:53.000000000 +0300
+@@ -497,7 +497,7 @@
+ arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+ ;;
diff --git a/packages/binutils/binutils-2.18/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/packages/binutils/binutils-2.18/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..8df5b1fea0
--- /dev/null
+++ b/packages/binutils/binutils-2.18/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,39 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything. This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+---
+# binutils/objcopy.c | 8 +++++---
+# 1 file changed, 5 insertions(+), 3 deletions(-)
+#
+Index: src/binutils/objcopy.c
+===================================================================
+--- src.orig/binutils/objcopy.c 2007-08-09 13:26:03.000000000 +0100
++++ src/binutils/objcopy.c 2007-08-09 16:36:12.000000000 +0100
+@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (output_file != tmpname)
+- smart_rename (tmpname, output_file ? output_file : argv[i],
+- preserve_dates);
++ if (smart_rename (tmpname, output_file ? output_file : argv[i],
++ preserve_dates))
++ hold_status = 1;
+ status = hold_status;
+ }
+ else
+@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (tmpname != output_filename)
+- smart_rename (tmpname, input_filename, preserve_dates);
++ if (smart_rename (tmpname, input_filename, preserve_dates))
++ status = 1;
+ }
+ else
+ unlink_if_ordinary (tmpname);
diff --git a/packages/binutils/binutils-2.18/binutils-uclibc-100-uclibc-conf.patch b/packages/binutils/binutils-2.18/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..8de04e0fe0
--- /dev/null
+++ b/packages/binutils/binutils-2.18/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,34 @@
+--- binutils-2.18.orig/configure
++++ binutils-2.18/configure
+@@ -2206,7 +2206,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -2504,7 +2504,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[3456789]86-*-vsta) ;; # don't add gprof back in
+ i[3456789]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.18.orig/gprof/configure
++++ binutils-2.18/gprof/configure
+@@ -4124,6 +4124,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
diff --git a/packages/binutils/binutils-2.18/binutils-uclibc-300-001_ld_makefile_patch.patch b/packages/binutils/binutils-2.18/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/packages/binutils/binutils-2.18/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/packages/binutils/binutils-2.18/binutils-uclibc-300-006_better_file_error.patch b/packages/binutils/binutils-2.18/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/packages/binutils/binutils-2.18/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Specify which filename is causing an error if the filename is a
+## DP: directory. (#45832)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
+--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
+@@ -150,6 +150,13 @@
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/packages/binutils/binutils-2.18/binutils-uclibc-300-012_check_ldrunpath_length.patch b/packages/binutils/binutils-2.18/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/packages/binutils/binutils-2.18/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+ && command_line.rpath == NULL)
+ {
+ lib_path = (const char *) getenv ("LD_RUN_PATH");
++ if ((lib_path) && (strlen (lib_path) == 0))
++ lib_path = NULL;
+ if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ force))
+ break;
+@@ -871,6 +873,8 @@
+ rpath = command_line.rpath;
+ if (rpath == NULL)
+ rpath = (const char *) getenv ("LD_RUN_PATH");
++ if ((rpath) && (strlen (rpath) == 0))
++ rpath = NULL;
+ if (! (bfd_elf_size_dynamic_sections
+ (output_bfd, command_line.soname, rpath,
+ command_line.filter_shlib,
diff --git a/packages/binutils/binutils-cross-sdk_2.18.bb b/packages/binutils/binutils-cross-sdk_2.18.bb
new file mode 100644
index 0000000000..a045d9bc9c
--- /dev/null
+++ b/packages/binutils/binutils-cross-sdk_2.18.bb
@@ -0,0 +1,21 @@
+SECTION = "devel"
+require binutils_${PV}.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+EXTRA_OECONF = "--with-sysroot=${prefix}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+PR = "r2"
+
+do_stage() {
+ :
+}
+
+do_install () {
+ autotools_do_install
+
+ # Install the libiberty header
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+}
diff --git a/packages/binutils/binutils-cross_2.18.bb b/packages/binutils/binutils-cross_2.18.bb
new file mode 100644
index 0000000000..a418dfaab5
--- /dev/null
+++ b/packages/binutils/binutils-cross_2.18.bb
@@ -0,0 +1,3 @@
+require binutils_${PV}.bb
+require binutils-cross.inc
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
diff --git a/packages/binutils/binutils_2.18.bb b/packages/binutils/binutils_2.18.bb
new file mode 100644
index 0000000000..a9b4d995b2
--- /dev/null
+++ b/packages/binutils/binutils_2.18.bb
@@ -0,0 +1,11 @@
+require binutils.inc
+
+SRC_URI = "\
+ ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
+ file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+ file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
+ file://110-arm-eabi-conf.patch;patch=1 \
+ file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+ file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+ file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
+ "
diff --git a/packages/dfu-util/dfu-util_svn.bb b/packages/dfu-util/dfu-util_svn.bb
index 6f2e050569..9be5b92979 100644
--- a/packages/dfu-util/dfu-util_svn.bb
+++ b/packages/dfu-util/dfu-util_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "USB Device Firmware Upgrade utility"
SECTION = "devel"
AUTHOR = "Harald Welte"
LICENSE = "GPL"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r0"
DEPENDS = "libusb"
diff --git a/packages/ezx/opentapi_svn.bb b/packages/ezx/opentapi_svn.bb
index e27b2fbe6c..7426dfe853 100644
--- a/packages/ezx/opentapi_svn.bb
+++ b/packages/ezx/opentapi_svn.bb
@@ -3,7 +3,7 @@ LICENSE = "GPLv2"
SECTION = "devel"
AUTHOR = "Daniel Willmann"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r3"
SRC_URI = "svn://svn.openezx.org/trunk/src/userspace/;module=opentapi;proto=http \
diff --git a/packages/ffmpeg/ffmpeg_svn.bb b/packages/ffmpeg/ffmpeg_svn.bb
index 051363474e..5276a8fef6 100644
--- a/packages/ffmpeg/ffmpeg_svn.bb
+++ b/packages/ffmpeg/ffmpeg_svn.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "libogg zlib libvorbis faac liba52 lame"
-PV = "0.4.9+svn${SRCDATE}"
+PV = "0.4.9+svnr${SRCREV}"
PR = "r1"
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/glibc/eglibc-package.bbclass b/packages/glibc/eglibc-package.bbclass
index ce2f545a2a..0cb8497733 100644
--- a/packages/glibc/eglibc-package.bbclass
+++ b/packages/glibc/eglibc-package.bbclass
@@ -88,6 +88,9 @@ do_install() {
mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
done
rm -f ${D}/etc/rpc
+ rm -f ${D}${includedir}/scsi/sg.h
+ rm -f ${D}${includedir}/scsi/scsi_ioctl.h
+ rm -f ${D}${includedir}/scsi/scsi.h
}
TMP_LOCALE="/tmp/locale${libdir}/locale"
diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb
index a51df9cc15..b47493f4e0 100644
--- a/packages/glibc/eglibc_svn.bb
+++ b/packages/glibc/eglibc_svn.bb
@@ -3,6 +3,7 @@ require glibc.inc
DEFAULT_PREFERENCE = "-1"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn"
PV = "2.6+svnr${SRCREV}"
+PR = "r1"
SRC_URI = "svn://svn.eglibc.org;module=trunk \
file://export-fcntl2.patch;patch=1 \
file://etc/ld.so.conf \
diff --git a/packages/glibc/glibc-package.bbclass b/packages/glibc/glibc-package.bbclass
index e8e755d139..63feb46f34 100644
--- a/packages/glibc/glibc-package.bbclass
+++ b/packages/glibc/glibc-package.bbclass
@@ -79,6 +79,9 @@ do_install() {
mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
done
rm -f ${D}/etc/rpc
+ rm -f ${D}${includedir}/scsi/sg.h
+ rm -f ${D}${includedir}/scsi/scsi_ioctl.h
+ rm -f ${D}${includedir}/scsi/scsi.h
}
TMP_LOCALE="/tmp/locale${libdir}/locale"
diff --git a/packages/glibc/glibc_2.2.5.bb b/packages/glibc/glibc_2.2.5.bb
index 82ab193073..03ad02c5d6 100644
--- a/packages/glibc/glibc_2.2.5.bb
+++ b/packages/glibc/glibc_2.2.5.bb
@@ -1,7 +1,7 @@
require glibc.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
-PR = "r10"
+PR = "r11"
DEFAULT_PREFERENCE_sh3 = "-99"
diff --git a/packages/glibc/glibc_2.3.2+cvs20040726.bb b/packages/glibc/glibc_2.3.2+cvs20040726.bb
index 85f64371a8..0a8ad92e37 100644
--- a/packages/glibc/glibc_2.3.2+cvs20040726.bb
+++ b/packages/glibc/glibc_2.3.2+cvs20040726.bb
@@ -3,7 +3,7 @@ require glibc.inc
DEFAULT_PREFERENCE_sh3 = "-99"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
-PR = "r22"
+PR = "r23"
GLIBC_ADDONS ?= "linuxthreads"
diff --git a/packages/glibc/glibc_2.3.2.bb b/packages/glibc/glibc_2.3.2.bb
index 87a6906915..4a9edda5cf 100644
--- a/packages/glibc/glibc_2.3.2.bb
+++ b/packages/glibc/glibc_2.3.2.bb
@@ -1,6 +1,6 @@
require glibc.inc
-PR = "r11"
+PR = "r12"
DEFAULT_PREFERENCE_sh3 = "-99"
diff --git a/packages/glibc/glibc_2.3.3+cvs20041128.bb b/packages/glibc/glibc_2.3.3+cvs20041128.bb
index 6bbc8ec8af..7f188d4c80 100644
--- a/packages/glibc/glibc_2.3.3+cvs20041128.bb
+++ b/packages/glibc/glibc_2.3.3+cvs20041128.bb
@@ -3,7 +3,7 @@ require glibc.inc
DEFAULT_PREFERENCE_sh3 = "-99"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
-PR = "r7"
+PR = "r8"
GLIBC_ADDONS ?= "linuxthreads"
diff --git a/packages/glibc/glibc_2.3.3+cvs20050221.bb b/packages/glibc/glibc_2.3.3+cvs20050221.bb
index 576047ce1e..b4e06012fa 100644
--- a/packages/glibc/glibc_2.3.3+cvs20050221.bb
+++ b/packages/glibc/glibc_2.3.3+cvs20050221.bb
@@ -3,7 +3,7 @@ require glibc.inc
DEFAULT_PREFERENCE_sh3 = "-99"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
-PR = "r7"
+PR = "r8"
GLIBC_ADDONS ?= "linuxthreads"
diff --git a/packages/glibc/glibc_2.3.3+cvs20050420.bb b/packages/glibc/glibc_2.3.3+cvs20050420.bb
index 4a548fa9bc..843442d04a 100644
--- a/packages/glibc/glibc_2.3.3+cvs20050420.bb
+++ b/packages/glibc/glibc_2.3.3+cvs20050420.bb
@@ -5,7 +5,7 @@ DEFAULT_PREFERENCE_i586 = "0"
DEFAULT_PREFERENCE_sh3 = "-99"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
-PR = "r5"
+PR = "r6"
GLIBC_ADDONS ?= "linuxthreads"
diff --git a/packages/glibc/glibc_2.3.3.bb b/packages/glibc/glibc_2.3.3.bb
index 3f3690a73c..3f40281fae 100644
--- a/packages/glibc/glibc_2.3.3.bb
+++ b/packages/glibc/glibc_2.3.3.bb
@@ -1,6 +1,6 @@
require glibc.inc
-PR = "r8"
+PR = "r9"
DEFAULT_PREFERENCE_sh3 = "-99"
diff --git a/packages/glibc/glibc_2.3.5+cvs20050627.bb b/packages/glibc/glibc_2.3.5+cvs20050627.bb
index 1319fb33d3..644df24a5a 100644
--- a/packages/glibc/glibc_2.3.5+cvs20050627.bb
+++ b/packages/glibc/glibc_2.3.5+cvs20050627.bb
@@ -2,7 +2,7 @@ require glibc.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs-2.3.5"
SRCDATE = "20050627"
-PR = "r13"
+PR = "r14"
#Doesnt build for sh3
DEFAULT_PREFERENCE_sh3="-1"
diff --git a/packages/glibc/glibc_2.4.bb b/packages/glibc/glibc_2.4.bb
index 3752da1040..b3962af5ef 100644
--- a/packages/glibc/glibc_2.4.bb
+++ b/packages/glibc/glibc_2.4.bb
@@ -1,6 +1,6 @@
require glibc.inc
-PR = "r12"
+PR = "r13"
#add the hosts that are confirmed to be working to COMPATIBLE_HOSTi
COMPATIBLE_HOST = '(i.86.*-linux|sh.*-linux)'
diff --git a/packages/glibc/glibc_2.5.bb b/packages/glibc/glibc_2.5.bb
index f14ce45a94..ff2b6535b0 100644
--- a/packages/glibc/glibc_2.5.bb
+++ b/packages/glibc/glibc_2.5.bb
@@ -5,7 +5,7 @@ ARM_INSTRUCTION_SET = "arm"
PACKAGES_DYNAMIC = "libc6*"
RPROVIDES_${PN}-dev = "libc6-dev"
-PR = "r6"
+PR = "r7"
# the -isystem in bitbake.conf screws up glibc do_stage
BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
diff --git a/packages/glibc/glibc_2.6.1.bb b/packages/glibc/glibc_2.6.1.bb
index 87a99ebbe9..6d4587ee4c 100644
--- a/packages/glibc/glibc_2.6.1.bb
+++ b/packages/glibc/glibc_2.6.1.bb
@@ -5,7 +5,7 @@ ARM_INSTRUCTION_SET = "arm"
PACKAGES_DYNAMIC = "libc6*"
RPROVIDES_${PN}-dev = "libc6-dev"
-PR = "r0"
+PR = "r1"
# the -isystem in bitbake.conf screws up glibc do_stage
BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
diff --git a/packages/glibc/glibc_cvs.bb b/packages/glibc/glibc_cvs.bb
index 0ddcb8a447..266e5e0d89 100644
--- a/packages/glibc/glibc_cvs.bb
+++ b/packages/glibc/glibc_cvs.bb
@@ -1,7 +1,7 @@
require glibc.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs-2.3.5"
-PR = "r5"
+PR = "r6"
PV = "2.3.5+cvs${SRCDATE}"
GLIBC_ADDONS ?= "ports,linuxthreads"
diff --git a/packages/gnuradio/gnuradio_svn.bb b/packages/gnuradio/gnuradio_svn.bb
index e40d151acb..c84a8a2121 100644
--- a/packages/gnuradio/gnuradio_svn.bb
+++ b/packages/gnuradio/gnuradio_svn.bb
@@ -1,8 +1,8 @@
require gnuradio.inc
-DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE = "1"
-PV = "3.0.4+svn${SRCDATE}"
+PV = "3.0.4+svnr${SRCREV}"
PR = "r2"
SRC_URI = "svn://gnuradio.org/svn/gnuradio;module=trunk;proto=http \
diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb
index 5862ea6d48..914520ad8a 100644
--- a/packages/gsm/libgsmd_svn.bb
+++ b/packages/gsm/libgsmd_svn.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.openmoko.org"
LICENSE = "GPL LGPL"
SECTION = "libs/gsm"
PROVIDES += "gsmd"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r22"
SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
diff --git a/packages/gtk-webcore/midori/.mtn2git_empty b/packages/gtk-webcore/midori/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gtk-webcore/midori/.mtn2git_empty
diff --git a/packages/gtk-webcore/midori/midori.desktop b/packages/gtk-webcore/midori/midori.desktop
new file mode 100644
index 0000000000..683b1a343e
--- /dev/null
+++ b/packages/gtk-webcore/midori/midori.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Midori
+Comment=Webkit based browser
+Exec=midori
+Terminal=false
+Type=Application
+Categories=Application
diff --git a/packages/gtk-webcore/midori_0.0.2.bb b/packages/gtk-webcore/midori_0.0.2.bb
deleted file mode 100644
index 7f5fb6cd74..0000000000
--- a/packages/gtk-webcore/midori_0.0.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Midori is a lightweight web browser."
-LICENSE = "GPLv2"
-
-DEPENDS = "osb-jscore osb-nrcit osb-nrcore libsexy"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz"
-
-
-
diff --git a/packages/gtk-webcore/midori_0.0.3.bb b/packages/gtk-webcore/midori_0.0.3.bb
deleted file mode 100644
index 7f5fb6cd74..0000000000
--- a/packages/gtk-webcore/midori_0.0.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Midori is a lightweight web browser."
-LICENSE = "GPLv2"
-
-DEPENDS = "osb-jscore osb-nrcit osb-nrcore libsexy"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz"
-
-
-
diff --git a/packages/gtk-webcore/midori_0.0.4.bb b/packages/gtk-webcore/midori_0.0.4.bb
deleted file mode 100644
index 4f39f7bab3..0000000000
--- a/packages/gtk-webcore/midori_0.0.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Midori is a lightweight web browser."
-LICENSE = "GPLv2"
-
-DEPENDS = "webkit-gtk libsexy"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz"
-
-
-
diff --git a/packages/gtk-webcore/midori_0.0.5.bb b/packages/gtk-webcore/midori_0.0.5.bb
deleted file mode 100644
index 4f39f7bab3..0000000000
--- a/packages/gtk-webcore/midori_0.0.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Midori is a lightweight web browser."
-LICENSE = "GPLv2"
-
-DEPENDS = "webkit-gtk libsexy"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz"
-
-
-
diff --git a/packages/gtk-webcore/midori_0.0.6.bb b/packages/gtk-webcore/midori_0.0.6.bb
new file mode 100644
index 0000000000..ed0213964f
--- /dev/null
+++ b/packages/gtk-webcore/midori_0.0.6.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Midori is a lightweight web browser."
+LICENSE = "GPLv2"
+
+DEPENDS = "webkit-gtk libsexy"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.gz \
+ file://midori.desktop"
+
+do_install_append() {
+ if [ -f ${WORKDIR}/midori.desktop ]; then
+ install -d ${D}${datadir}/applications
+ install -m 0644 ${WORKDIR}/midori.desktop ${D}${datadir}/applications
+ fi
+
+}
+
diff --git a/packages/gtk-webcore/osb-browser_svn.bb b/packages/gtk-webcore/osb-browser_svn.bb
index cbeebbcdc3..912215cfbd 100644
--- a/packages/gtk-webcore/osb-browser_svn.bb
+++ b/packages/gtk-webcore/osb-browser_svn.bb
@@ -5,7 +5,7 @@ PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "osb-nrcit gtk+ glib-2.0 libglade"
RRECOMMENDS = "gdk-pixbuf-loader-gif gdk-pixbuf-loader-ico gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-png"
-PV = "0.5.0+svn${SRCDATE}"
+PV = "0.5.0+svnr${SRCREV}"
PR = "r0"
inherit autotools
diff --git a/packages/gtk-webcore/osb-jscore_svn.bb b/packages/gtk-webcore/osb-jscore_svn.bb
index 51597b0908..a504be42fa 100644
--- a/packages/gtk-webcore/osb-jscore_svn.bb
+++ b/packages/gtk-webcore/osb-jscore_svn.bb
@@ -5,7 +5,7 @@ PRIORITY = "optional"
DEFAULT_PREFERENCE = "-1"
-PV = "0.5.2+svn${SRCDATE}"
+PV = "0.5.2+svnr${SRCREV}"
PR = "r1"
SRC_URI = "svn://gtk-webcore.svn.sourceforge.net/svnroot/gtk-webcore/trunk;module=JavaScriptCore;proto=https \
diff --git a/packages/gtk-webcore/osb-nrcit_svn.bb b/packages/gtk-webcore/osb-nrcit_svn.bb
index 78f3af7b6f..2cab1101ca 100644
--- a/packages/gtk-webcore/osb-nrcit_svn.bb
+++ b/packages/gtk-webcore/osb-nrcit_svn.bb
@@ -4,7 +4,7 @@ LICENSE = "nokia"
PRIORITY = "optional"
SECTION = "gpe"
-PV = "0.5.2+svn${SRCDATE}"
+PV = "0.5.2+svnr${SRCREV}"
PR = "r0"
DEPENDS = "curl librsvg osb-nrcore pango"
diff --git a/packages/gtk-webcore/osb-nrcore_svn.bb b/packages/gtk-webcore/osb-nrcore_svn.bb
index b9af57ad52..402638d28e 100644
--- a/packages/gtk-webcore/osb-nrcore_svn.bb
+++ b/packages/gtk-webcore/osb-nrcore_svn.bb
@@ -2,7 +2,7 @@ require osb-nrcore.inc
DEFAULT_PREFERENCE = "-1"
-PV = "0.5.2+svn${SRCDATE}"
+PV = "0.5.2+svnr${SRCREV}"
PR = "r1"
SRC_URI = "svn://gtk-webcore.svn.sourceforge.net/svnroot/gtk-webcore/trunk;module=NRCore;proto=https \
diff --git a/packages/images/angstrom-minimal-image-with-mtd-utils.bb b/packages/images/angstrom-minimal-image-with-mtd-utils.bb
index 635833af4e..740c39126c 100644
--- a/packages/images/angstrom-minimal-image-with-mtd-utils.bb
+++ b/packages/images/angstrom-minimal-image-with-mtd-utils.bb
@@ -5,3 +5,5 @@
require angstrom-minimal-image.bb
RDEPENDS += "mtd-utils"
+export IMAGE_BASENAME = "minimalist-image-mtdutils"
+
diff --git a/packages/libowl/libowl_svn.bb b/packages/libowl/libowl_svn.bb
index 2126e3d4d0..7abc5e409d 100644
--- a/packages/libowl/libowl_svn.bb
+++ b/packages/libowl/libowl_svn.bb
@@ -12,7 +12,7 @@ HOMEPAGE = "http://www.o-hand.com"
LICENSE = "LGPL"
SECTION = "libs"
PR = "r3"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
DEPENDS = "gtk+ glib-2.0"
PACKAGES = ""
diff --git a/packages/libxosd/libxosd_svn.bb b/packages/libxosd/libxosd_svn.bb
index 7dfd05d5d9..bb16f7f09a 100644
--- a/packages/libxosd/libxosd_svn.bb
+++ b/packages/libxosd/libxosd_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "A library for displaying a TV-like on-screen display in X."
SECTION = "libs/x11"
DEPENDS = "virtual/libx11 libxext"
LICENSE = "LGPL"
-PV = "2.2.15+svn${SRCDATE}"
+PV = "2.2.15+svnr${SRCREV}"
PR = "r5"
SRC_URI = "svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https \
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty b/packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff
new file mode 100644
index 0000000000..dbd2856e87
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-gpio-interrupt-debounce.diff
@@ -0,0 +1,87 @@
+
+Implement GPIO interrupt debouncing on ep93xx.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:22:19.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:28:19.000000000 +0200
+@@ -154,6 +154,7 @@
+ *************************************************************************/
+ static unsigned char gpio_int_unmasked[3];
+ static unsigned char gpio_int_enabled[3];
++static unsigned char gpio_int_debounce[3];
+ static unsigned char gpio_int_type1[3];
+ static unsigned char gpio_int_type2[3];
+
+@@ -161,16 +162,19 @@
+ {
+ if (abf == 0) {
+ __raw_writeb(0, EP93XX_GPIO_A_INT_ENABLE);
++ __raw_writeb(gpio_int_debounce[0], EP93XX_GPIO_A_INT_DEBOUNCE);
+ __raw_writeb(gpio_int_type2[0], EP93XX_GPIO_A_INT_TYPE2);
+ __raw_writeb(gpio_int_type1[0], EP93XX_GPIO_A_INT_TYPE1);
+ __raw_writeb(gpio_int_unmasked[0] & gpio_int_enabled[0], EP93XX_GPIO_A_INT_ENABLE);
+ } else if (abf == 1) {
+ __raw_writeb(0, EP93XX_GPIO_B_INT_ENABLE);
++ __raw_writeb(gpio_int_debounce[1], EP93XX_GPIO_B_INT_DEBOUNCE);
+ __raw_writeb(gpio_int_type2[1], EP93XX_GPIO_B_INT_TYPE2);
+ __raw_writeb(gpio_int_type1[1], EP93XX_GPIO_B_INT_TYPE1);
+ __raw_writeb(gpio_int_unmasked[1] & gpio_int_enabled[1], EP93XX_GPIO_B_INT_ENABLE);
+ } else if (abf == 2) {
+ __raw_writeb(0, EP93XX_GPIO_F_INT_ENABLE);
++ __raw_writeb(gpio_int_debounce[2], EP93XX_GPIO_F_INT_DEBOUNCE);
+ __raw_writeb(gpio_int_type2[2], EP93XX_GPIO_F_INT_TYPE2);
+ __raw_writeb(gpio_int_type1[2], EP93XX_GPIO_F_INT_TYPE1);
+ __raw_writeb(gpio_int_unmasked[2] & gpio_int_enabled[2], EP93XX_GPIO_F_INT_ENABLE);
+@@ -361,6 +365,13 @@
+ } else {
+ gpio_int_enabled[port] &= ~(1 << line);
+ }
++
++ if (type & IRQ_TYPE_DEBOUNCE) {
++ gpio_int_debounce[port] |= 1 << line;
++ } else {
++ gpio_int_debounce[port] &= ~(1 << line);
++ }
++
+ update_gpio_int_params(port);
+
+ return 0;
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:22:19.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:28:19.000000000 +0200
+@@ -78,16 +78,19 @@
+ #define EP93XX_GPIO_F_INT_ACK EP93XX_GPIO_REG(0x54)
+ #define EP93XX_GPIO_F_INT_ENABLE EP93XX_GPIO_REG(0x58)
+ #define EP93XX_GPIO_F_INT_STATUS EP93XX_GPIO_REG(0x5c)
++#define EP93XX_GPIO_F_INT_DEBOUNCE EP93XX_GPIO_REG(0x64)
+ #define EP93XX_GPIO_A_INT_TYPE1 EP93XX_GPIO_REG(0x90)
+ #define EP93XX_GPIO_A_INT_TYPE2 EP93XX_GPIO_REG(0x94)
+ #define EP93XX_GPIO_A_INT_ACK EP93XX_GPIO_REG(0x98)
+ #define EP93XX_GPIO_A_INT_ENABLE EP93XX_GPIO_REG(0x9c)
+ #define EP93XX_GPIO_A_INT_STATUS EP93XX_GPIO_REG(0xa0)
++#define EP93XX_GPIO_A_INT_DEBOUNCE EP93XX_GPIO_REG(0xa8)
+ #define EP93XX_GPIO_B_INT_TYPE1 EP93XX_GPIO_REG(0xac)
+ #define EP93XX_GPIO_B_INT_TYPE2 EP93XX_GPIO_REG(0xb0)
+ #define EP93XX_GPIO_B_INT_ACK EP93XX_GPIO_REG(0xb4)
+ #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8)
+ #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc)
++#define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4)
+
+ #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000)
+
+Index: linux-2.6.23-rc5/include/linux/irq.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/linux/irq.h 2007-09-04 02:24:58.000000000 +0200
++++ linux-2.6.23-rc5/include/linux/irq.h 2007-09-04 02:25:01.000000000 +0200
+@@ -44,6 +44,7 @@
+ #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */
+ #define IRQ_TYPE_SENSE_MASK 0x0000000f /* Mask of the above */
+ #define IRQ_TYPE_PROBE 0x00000010 /* Probing in progress */
++#define IRQ_TYPE_DEBOUNCE 0x00000020 /* Enable HW debounce */
+
+ /* Internal flags */
+ #define IRQ_INPROGRESS 0x00000100 /* IRQ handler active - do not enter! */
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff
new file mode 100644
index 0000000000..efdbf42a45
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c-bus.diff
@@ -0,0 +1,220 @@
+
+I2C bus driver using ep93xx GPIOs.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.23-rc5/drivers/i2c/busses/Kconfig
+===================================================================
+--- linux-2.6.23-rc5.orig/drivers/i2c/busses/Kconfig 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/drivers/i2c/busses/Kconfig 2007-09-04 02:26:20.000000000 +0200
+@@ -654,4 +654,16 @@
+ This driver can also be built as module. If so, the module
+ will be called i2c-pmcmsp.
+
++config I2C_EP93XX
++ tristate "Cirrus Logic EP93XX GPIO-based I2C interface"
++ depends on I2C && ARCH_EP93XX
++ select I2C_ALGOBIT
++ help
++ Say Y here if you have an Cirrus Logic EP93XX based
++ system and are using GPIO lines for an I2C bus.
++
++ This support is also available as a module. If so, the module
++ will be called i2c-ep93xx.
++
++
+ endmenu
+Index: linux-2.6.23-rc5/drivers/i2c/busses/Makefile
+===================================================================
+--- linux-2.6.23-rc5.orig/drivers/i2c/busses/Makefile 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/drivers/i2c/busses/Makefile 2007-09-04 02:26:20.000000000 +0200
+@@ -52,6 +52,7 @@
+ obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o
+ obj-$(CONFIG_SCx200_ACB) += scx200_acb.o
+ obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o
++obj-$(CONFIG_I2C_EP93XX) += i2c-ep93xx.o
+
+ ifeq ($(CONFIG_I2C_DEBUG_BUS),y)
+ EXTRA_CFLAGS += -DDEBUG
+Index: linux-2.6.23-rc5/drivers/i2c/busses/i2c-ep93xx.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.23-rc5/drivers/i2c/busses/i2c-ep93xx.c 2007-09-04 02:26:20.000000000 +0200
+@@ -0,0 +1,159 @@
++/*
++ * EP93XX I2C bus driver.
++ * Copyright (C) 2007 Lennert Buytenhek <buytenh@wantstofly.org>
++ *
++ * An I2C bus driver for the Cirrus Logic EP93xx SoC.
++ *
++ * Based on an earlier version by Alessandro Zummo.
++ */
++
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/i2c-algo-bit.h>
++#include <asm/hardware.h>
++#include <asm/arch/gpio.h>
++
++struct ep93xx_i2c_priv {
++ struct ep93xx_i2c_data *data;
++ struct i2c_adapter adapter;
++ struct i2c_algo_bit_data algo_data;
++ int sda;
++ int scl;
++};
++
++
++static void ep93xx_bit_setsda(void *cookie, int val)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (val) {
++ gpio_line_config(priv->data->sda_pin, GPIO_IN);
++ if (priv->scl && !priv->sda && priv->data->stop != NULL)
++ priv->data->stop(priv->data->cookie);
++ priv->sda = 1;
++ } else {
++ if (priv->scl && priv->sda && priv->data->start != NULL)
++ priv->data->start(priv->data->cookie);
++ gpio_line_config(priv->data->sda_pin, GPIO_OUT);
++ gpio_line_set(priv->data->sda_pin, 0);
++ priv->sda = 0;
++ }
++}
++
++static void ep93xx_bit_setscl(void *cookie, int val)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (val) {
++ gpio_line_config(priv->data->scl_pin, GPIO_IN);
++ priv->scl = 1;
++ } else {
++ gpio_line_config(priv->data->scl_pin, GPIO_OUT);
++ gpio_line_set(priv->data->scl_pin, 0);
++ priv->scl = 0;
++ }
++}
++
++static int ep93xx_bit_getsda(void *cookie)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (priv->sda == 0)
++ BUG();
++
++ return gpio_line_get(priv->data->sda_pin);
++}
++
++static int ep93xx_bit_getscl(void *cookie)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (priv->scl == 0)
++ BUG();
++
++ return gpio_line_get(priv->data->scl_pin);
++}
++
++
++static int ep93xx_i2c_probe(struct platform_device *pdev)
++{
++ struct ep93xx_i2c_priv *priv;
++ int err;
++
++ priv = kzalloc(sizeof(struct ep93xx_i2c_priv), GFP_KERNEL);
++ if (priv == NULL)
++ return -ENOMEM;
++
++ priv->data = pdev->dev.platform_data;
++
++ strlcpy(priv->adapter.name, pdev->dev.driver->name, I2C_NAME_SIZE);
++ priv->adapter.algo_data = &priv->algo_data;
++ priv->adapter.class = I2C_CLASS_ALL;
++ priv->adapter.dev.parent = &pdev->dev;
++
++ priv->algo_data.data = priv;
++ priv->algo_data.setsda = ep93xx_bit_setsda;
++ priv->algo_data.setscl = ep93xx_bit_setscl;
++ priv->algo_data.getsda = ep93xx_bit_getsda;
++ priv->algo_data.getscl = ep93xx_bit_getscl;
++ priv->algo_data.udelay = 10;
++ priv->algo_data.timeout = 100;
++
++ priv->sda = 1;
++ gpio_line_config(priv->data->sda_pin, GPIO_IN);
++
++ priv->scl = 1;
++ gpio_line_config(priv->data->scl_pin, GPIO_IN);
++
++ err = i2c_bit_add_bus(&priv->adapter);
++ if (err) {
++ printk(KERN_ERR "ERROR: Could not install %s\n",
++ pdev->dev.bus_id);
++ kfree(priv);
++ return err;
++ }
++
++ platform_set_drvdata(pdev, priv);
++
++ return 0;
++}
++
++static int ep93xx_i2c_remove(struct platform_device *pdev)
++{
++ struct ep93xx_i2c_priv *priv;
++
++ priv = platform_get_drvdata(pdev);
++ i2c_del_adapter(&priv->adapter);
++ platform_set_drvdata(pdev, NULL);
++ kfree(priv);
++
++ return 0;
++}
++
++static struct platform_driver ep93xx_i2c_driver = {
++ .probe = ep93xx_i2c_probe,
++ .remove = ep93xx_i2c_remove,
++ .driver = {
++ .name = "ep93xx-i2c",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init ep93xx_i2c_init(void)
++{
++ return platform_driver_register(&ep93xx_i2c_driver);
++}
++
++static void __exit ep93xx_i2c_exit(void)
++{
++ platform_driver_unregister(&ep93xx_i2c_driver);
++}
++
++module_init(ep93xx_i2c_init);
++module_exit(ep93xx_i2c_exit);
++
++MODULE_AUTHOR("Lennert Buytenhek <buytenh@wantstofly.org>");
++MODULE_DESCRIPTION("GPIO-based I2C adapter for EP93XX systems");
++MODULE_LICENSE("GPL");
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:28:19.000000000 +0200
+@@ -16,5 +16,13 @@
+ unsigned char phy_id;
+ };
+
++struct ep93xx_i2c_data {
++ int sda_pin;
++ int scl_pin;
++ void *cookie;
++ void (*start)(void *);
++ void (*stop)(void *);
++};
++
+
+ #endif
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff
new file mode 100644
index 0000000000..bf4622b1db
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-i2c.diff
@@ -0,0 +1,110 @@
+
+Instantiate the ep93xx gpio i2c bus driver in the generic ep93xx
+code.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:28:12.000000000 +0200
+@@ -509,6 +509,52 @@
+ };
+
+
++static DEFINE_MUTEX(eeclk_eedat_mutex);
++static int i2c_transaction_in_progress;
++
++static void ep93xx_i2c_start_condition(void *cookie)
++{
++ if (!i2c_transaction_in_progress) {
++ mutex_lock(&eeclk_eedat_mutex);
++ i2c_transaction_in_progress = 1;
++ }
++}
++
++static void ep93xx_i2c_stop_condition(void *cookie)
++{
++ if (i2c_transaction_in_progress) {
++ mutex_unlock(&eeclk_eedat_mutex);
++ i2c_transaction_in_progress = 0;
++ } else {
++ printk(KERN_WARNING "ep93xx: i2c stop without start??\n");
++ }
++}
++
++static struct ep93xx_i2c_data ep93xx_i2c_gpio_data = {
++ .sda_pin = EP93XX_GPIO_LINE_EEDAT,
++ .scl_pin = EP93XX_GPIO_LINE_EECLK,
++ .start = ep93xx_i2c_start_condition,
++ .stop = ep93xx_i2c_stop_condition,
++};
++
++static struct platform_device ep93xx_i2c_device = {
++ .name = "ep93xx-i2c",
++ .id = 0,
++ .dev.platform_data = &ep93xx_i2c_gpio_data,
++ .num_resources = 0,
++};
++
++void eeclk_eedat_claim(void)
++{
++ mutex_lock(&eeclk_eedat_mutex);
++}
++
++void eeclk_eedat_release(void)
++{
++ mutex_unlock(&eeclk_eedat_mutex);
++}
++
++
+ void __init ep93xx_init_devices(void)
+ {
+ unsigned int v;
+@@ -521,10 +567,20 @@
+ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
+ __raw_writel(v, EP93XX_SYSCON_DEVICE_CONFIG);
+
++ /*
++ * When EECLK/EEDAT are in open drain mode (EEDRIVE=0b11),
++ * writing a 1 to their Data Register bits causes subsequent
++ * reads from the Data Direction Register to return 'input',
++ * which confuses gpio_line_config(). So, we use CMOS drive
++ * mode instead.
++ */
++ __raw_writel(0, EP93XX_GPIO_EEDRIVE);
++
+ amba_device_register(&uart1_device, &iomem_resource);
+ amba_device_register(&uart2_device, &iomem_resource);
+ amba_device_register(&uart3_device, &iomem_resource);
+
+ platform_device_register(&ep93xx_rtc_device);
+ platform_device_register(&ep93xx_ohci_device);
++ platform_device_register(&ep93xx_i2c_device);
+ }
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:28:10.000000000 +0200
+@@ -91,6 +91,7 @@
+ #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8)
+ #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc)
+ #define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4)
++#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8)
+
+ #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000)
+
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:26:20.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/platform.h 2007-09-04 02:26:38.000000000 +0200
+@@ -10,6 +10,9 @@
+ void ep93xx_init_devices(void);
+ extern struct sys_timer ep93xx_timer;
+
++void eeclk_eedat_claim(void);
++void eeclk_eedat_release(void);
++
+ struct ep93xx_eth_data
+ {
+ unsigned char dev_addr[6];
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff
new file mode 100644
index 0000000000..e158593f28
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-leds.diff
@@ -0,0 +1,181 @@
+
+EP93xx leds driver
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:40:19.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:40:25.000000000 +0200
+@@ -568,6 +568,12 @@
+ }
+
+
++static struct platform_device ep93xx_led_device = {
++ .name = "ep93xx-led",
++ .id = -1,
++};
++
++
+ void __init ep93xx_init_devices(void)
+ {
+ unsigned int v;
+@@ -596,4 +602,5 @@
+ platform_device_register(&ep93xx_rtc_device);
+ platform_device_register(&ep93xx_ohci_device);
+ platform_device_register(&ep93xx_i2c_device);
++ platform_device_register(&ep93xx_led_device);
+ }
+Index: linux-2.6.23-rc5/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.23-rc5.orig/drivers/leds/Kconfig 2007-09-04 02:40:19.000000000 +0200
++++ linux-2.6.23-rc5/drivers/leds/Kconfig 2007-09-04 02:40:25.000000000 +0200
+@@ -101,6 +101,12 @@
+ outputs. To be useful the particular board must have LEDs
+ and they must be connected to the GPIO lines.
+
++config LEDS_EP93XX
++ tristate "LED Support for Cirrus Logic EP93xx"
++ depends on LEDS_CLASS && ARCH_EP93XX
++ help
++ This option enables support for the Cirrus Logic EP93xx based boards.
++
+ comment "LED Triggers"
+
+ config LEDS_TRIGGERS
+Index: linux-2.6.23-rc5/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.23-rc5.orig/drivers/leds/Makefile 2007-09-04 02:40:19.000000000 +0200
++++ linux-2.6.23-rc5/drivers/leds/Makefile 2007-09-04 02:40:25.000000000 +0200
+@@ -16,6 +16,7 @@
+ obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
+ obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
+ obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
++obj-$(CONFIG_LEDS_EP93XX) += leds-ep93xx.o
+ obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
+
+ # LED Triggers
+Index: linux-2.6.23-rc5/drivers/leds/leds-ep93xx.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.23-rc5/drivers/leds/leds-ep93xx.c 2007-09-04 02:40:25.000000000 +0200
+@@ -0,0 +1,119 @@
++/*
++ * LEDs driver for Cirrus Logic EP93xx
++ *
++ * Author: Petr Stetiar <ynezz@true.cz>
++ *
++ * Based on 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/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/gpio.h>
++
++static void ep93xx_green_led_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ if (value)
++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_HIGH);
++ else
++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_LOW);
++}
++
++static void ep93xx_red_led_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ if (value)
++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_HIGH);
++ else
++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_LOW);
++}
++
++
++static struct led_classdev ep93xx_green_led = {
++ .name = "ep93xx:green",
++ .default_trigger = "none",
++ .brightness_set = ep93xx_green_led_set,
++};
++
++static struct led_classdev ep93xx_red_led = {
++ .name = "ep93xx:red",
++ .default_trigger = "heartbeat",
++ .brightness_set = ep93xx_red_led_set,
++};
++
++#ifdef CONFIG_PM
++static int ep93xx_led_suspend(struct platform_device *dev, pm_message_t state)
++{
++ led_classdev_suspend(&ep93xx_green_led);
++ led_classdev_suspend(&ep93xx_red_led);
++ return 0;
++}
++
++static int ep93xx_led_resume(struct platform_device *dev)
++{
++ led_classdev_resume(&ep93xx_red_led);
++ led_classdev_resume(&ep93xx_green_led);
++ return 0;
++}
++#endif
++
++static int ep93xx_led_probe(struct platform_device *pdev)
++{
++ int ret;
++
++ gpio_line_config(EP93XX_GPIO_LINE_GRLED, GPIO_OUT);
++ gpio_line_config(EP93XX_GPIO_LINE_RDLED, GPIO_OUT);
++
++ ret = led_classdev_register(&pdev->dev, &ep93xx_green_led);
++ if (ret < 0)
++ return ret;
++
++ ret = led_classdev_register(&pdev->dev, &ep93xx_red_led);
++ if (ret < 0)
++ led_classdev_unregister(&ep93xx_green_led);
++
++ return ret;
++}
++
++static int ep93xx_led_remove(struct platform_device *pdev)
++{
++ led_classdev_unregister(&ep93xx_green_led);
++ led_classdev_unregister(&ep93xx_red_led);
++ return 0;
++}
++
++static struct platform_driver ep93xx_led_driver = {
++ .probe = ep93xx_led_probe,
++ .remove = ep93xx_led_remove,
++#ifdef CONFIG_PM
++ .suspend = ep93xx_led_suspend,
++ .resume = ep93xx_led_resume,
++#endif
++ .driver = {
++ .name = "ep93xx-led",
++ },
++};
++
++static int __init ep93xx_led_init(void)
++{
++ return platform_driver_register(&ep93xx_led_driver);
++}
++
++static void __exit ep93xx_led_exit(void)
++{
++ platform_driver_unregister(&ep93xx_led_driver);
++}
++
++module_init(ep93xx_led_init);
++module_exit(ep93xx_led_exit);
++
++MODULE_AUTHOR("Petr Stetiar <ynezz@true.cz>");
++MODULE_DESCRIPTION("Cirrus Logic EP93xx LED driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch
new file mode 100644
index 0000000000..0bc8190464
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-maverick-uniqid.patch
@@ -0,0 +1,38 @@
+
+Adds support for SoC's unique ID (Maverick Key) in /proc/cpuinfo
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.23-rc5/arch/arm/kernel/setup.c
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/kernel/setup.c 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/kernel/setup.c 2007-09-04 02:26:49.000000000 +0200
+@@ -964,8 +964,15 @@
+
+ seq_printf(m, "Hardware\t: %s\n", machine_name);
+ seq_printf(m, "Revision\t: %04x\n", system_rev);
++
++#if defined(CONFIG_ARCH_EP93XX)
++#include <asm/arch/ep93xx-regs.h>
++ seq_printf(m, "Serial\t\t: %016x\n",
++ *((unsigned int *)EP93XX_SECURITY_UNIQID));
++#else
+ seq_printf(m, "Serial\t\t: %08x%08x\n",
+ system_serial_high, system_serial_low);
++#endif
+
+ return 0;
+ }
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:26:38.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-04 02:26:49.000000000 +0200
+@@ -70,6 +70,8 @@
+ #define EP93XX_I2S_BASE (EP93XX_APB_VIRT_BASE + 0x00020000)
+
+ #define EP93XX_SECURITY_BASE (EP93XX_APB_VIRT_BASE + 0x00030000)
++#define EP93XX_SECURITY_REG(x) (EP93XX_SECURITY_BASE + (x))
++#define EP93XX_SECURITY_UNIQID EP93XX_SECURITY_REG(0x2440)
+
+ #define EP93XX_GPIO_BASE (EP93XX_APB_VIRT_BASE + 0x00040000)
+ #define EP93XX_GPIO_REG(x) (EP93XX_GPIO_BASE + (x))
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff
new file mode 100644
index 0000000000..86b14894b6
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-clocks.diff
@@ -0,0 +1,42 @@
+
+Hackishly enable all UART clocks before uncompressing the kernel,
+so that using ttyAM1 or ttyAM2 as console can work.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:26:42.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:26:47.000000000 +0200
+@@ -78,6 +78,23 @@
+
+
+ /*
++ * We don't have clock management for the UARTs (amba-pl010)
++ * yet, so hackily enable all UART clocks here for now.
++ */
++#define PHYS_SYSCON_DEVICE_CONFIG 0x80930080
++#define PHYS_SYSCON_SWLOCK 0x809300c0
++
++static void enable_all_uart_clocks(void)
++{
++ unsigned int v;
++
++ v = __raw_readl(PHYS_SYSCON_DEVICE_CONFIG);
++ __raw_writel(0xaa, PHYS_SYSCON_SWLOCK);
++ __raw_writel(v | 0x01140000, PHYS_SYSCON_DEVICE_CONFIG);
++}
++
++
++/*
+ * Some bootloaders don't turn on the UARTBAUD bit, which means that
+ * the UARTs will be running off a divided 7.3728 MHz clock instead of
+ * the 14.7456 MHz peripheral clock when linux boots.
+@@ -126,6 +143,7 @@
+ static void arch_decomp_setup(void)
+ {
+ ethernet_reset();
++ enable_all_uart_clocks();
+ fix_uart_base();
+ }
+
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff
new file mode 100644
index 0000000000..9cfaacd103
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-serial-uartbaud.diff
@@ -0,0 +1,66 @@
+
+Force UARTBAUD on before uncompressing.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/uncompress.h 2007-09-04 02:28:14.000000000 +0200
+@@ -77,9 +77,56 @@
+ }
+
+
++/*
++ * Some bootloaders don't turn on the UARTBAUD bit, which means that
++ * the UARTs will be running off a divided 7.3728 MHz clock instead of
++ * the 14.7456 MHz peripheral clock when linux boots.
++ *
++ * We detect that condition here and fix it by turning on UARTBAUD, and
++ * then reprogramming the divisors on all enabled UARTs to twice what
++ * they were before we turned UARTBAUD on, to preserve the programmed
++ * baud rate.
++ */
++#define PHYS_SYSCON_CLOCK_CONTROL 0x80930004
++#define SYSCON_CLOCK_UARTBAUD 0x20000000
++#define PHYS_UART1_BASE 0x808c0000
++#define PHYS_UART2_BASE 0x808d0000
++#define PHYS_UART3_BASE 0x808e0000
++
++static void uart_divisor_times_two(unsigned int base)
++{
++ u16 divisor;
++
++ divisor = __raw_readb(base + 0x0c) << 8;
++ divisor |= __raw_readb(base + 0x10);
++ if (divisor) {
++ divisor = (2 * (divisor + 1)) - 1;
++ __raw_writeb(divisor >> 8, base + 0x0c);
++ __raw_writeb(divisor & 0xff, base + 0x10);
++ __raw_writeb(__raw_readb(base + 0x08), base + 0x08);
++ }
++}
++
++static void fix_uart_base(void)
++{
++ unsigned int v;
++
++ v = __raw_readl(PHYS_SYSCON_CLOCK_CONTROL);
++ if ((v & SYSCON_CLOCK_UARTBAUD) == 0) {
++ v |= SYSCON_CLOCK_UARTBAUD;
++ __raw_writel(v, PHYS_SYSCON_CLOCK_CONTROL);
++
++ uart_divisor_times_two(PHYS_UART1_BASE);
++ uart_divisor_times_two(PHYS_UART2_BASE);
++ uart_divisor_times_two(PHYS_UART3_BASE);
++ }
++}
++
++
+ static void arch_decomp_setup(void)
+ {
+ ethernet_reset();
++ fix_uart_base();
+ }
+
+ #define arch_decomp_wdog()
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff
new file mode 100644
index 0000000000..8a6de2e7da
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ep93xx-timer-accuracy.diff
@@ -0,0 +1,59 @@
+
+The ep93xx has a weird timer tick base (983.04 kHz.) This experimental
+patch tries to increase time of day accuracy by keeping the number of
+ticks until the next jiffy in a fractional value representation.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/core.c 2007-09-04 02:26:38.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/core.c 2007-09-04 02:26:48.000000000 +0200
+@@ -94,19 +94,32 @@
+ * track of lost jiffies.
+ */
+ static unsigned int last_jiffy_time;
++static unsigned int next_jiffy_time;
++static unsigned int accumulator;
+
+-#define TIMER4_TICKS_PER_JIFFY ((CLOCK_TICK_RATE + (HZ/2)) / HZ)
++#define TIMER4_TICKS_PER_JIFFY (983040 / HZ)
++#define TIMER4_TICKS_MOD_JIFFY (983040 % HZ)
++
++static int after_eq(unsigned long a, unsigned long b)
++{
++ return ((signed long)(a - b)) >= 0;
++}
+
+ static int ep93xx_timer_interrupt(int irq, void *dev_id)
+ {
+ write_seqlock(&xtime_lock);
+
+ __raw_writel(1, EP93XX_TIMER1_CLEAR);
+- while ((signed long)
+- (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time)
+- >= TIMER4_TICKS_PER_JIFFY) {
+- last_jiffy_time += TIMER4_TICKS_PER_JIFFY;
++ while (after_eq(__raw_readl(EP93XX_TIMER4_VALUE_LOW), next_jiffy_time)) {
+ timer_tick();
++
++ last_jiffy_time = next_jiffy_time;
++ next_jiffy_time += TIMER4_TICKS_PER_JIFFY;
++ accumulator += TIMER4_TICKS_MOD_JIFFY;
++ if (accumulator >= HZ) {
++ next_jiffy_time++;
++ accumulator -= HZ;
++ }
+ }
+
+ write_sequnlock(&xtime_lock);
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/timex.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/timex.h 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/timex.h 2007-09-04 02:26:48.000000000 +0200
+@@ -2,4 +2,4 @@
+ * linux/include/asm-arm/arch-ep93xx/timex.h
+ */
+
+-#define CLOCK_TICK_RATE 983040
++#define CLOCK_TICK_RATE (1000 * HZ)
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series
new file mode 100644
index 0000000000..e5455efd3c
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/series
@@ -0,0 +1,12 @@
+ep93xx-gpio-interrupt-debounce.diff
+ep93xx-i2c-bus.diff
+ep93xx-i2c.diff
+ep93xx-leds.diff
+ep93xx-serial-uartbaud.diff
+ep93xx-serial-clocks.diff
+ep93xx-timer-accuracy.diff
+ep93xx-maverick-uniqid.patch
+ts72xx-machine-id-fix.patch
+ts72xx-nfbit-fix.patch
+ts72xx-watchdog.patch
+ts72xx-use-cpld-reset.patch
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch
new file mode 100644
index 0000000000..47a07e64e1
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-machine-id-fix.patch
@@ -0,0 +1,17 @@
+
+Fix wrong machine ID passed from RedBoot
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.23-rc5/arch/arm/kernel/head.S
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/kernel/head.S 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/kernel/head.S 2007-09-04 02:26:57.000000000 +0200
+@@ -86,6 +86,7 @@
+ bl __lookup_processor_type @ r5=procinfo r9=cpuid
+ movs r10, r5 @ invalid processor (r5=0)?
+ beq __error_p @ yes, error 'p'
++ ldr r1, =0x000002a1 @ mach-type = TS-7250
+ bl __lookup_machine_type @ r5=machinfo
+ movs r8, r5 @ invalid machine (r5=0)?
+ beq __error_a @ yes, error 'a'
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch
new file mode 100644
index 0000000000..bed3de37e9
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-nfbit-fix.patch
@@ -0,0 +1,18 @@
+
+Force the nF bit on. Usually this is set by the bootrom. If it is not set,
+then the CPU core will run from HCLK instead of FCLK, and performance will
+suffer. If you see BogoMIPS of about 1/4 of your CPU clock, try turning this
+on; your performance should double.
+
+Index: linux-2.6.23-rc5/arch/arm/mm/proc-arm920.S
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/mm/proc-arm920.S 2007-09-04 02:25:36.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/mm/proc-arm920.S 2007-09-04 02:27:02.000000000 +0200
+@@ -395,6 +395,7 @@
+ mrc p15, 0, r0, c1, c0 @ get control register v4
+ bic r0, r0, r5
+ orr r0, r0, r6
++ orr r0, r0, #0x40000000
+ mov pc, lr
+ .size __arm920_setup, . - __arm920_setup
+
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch
new file mode 100644
index 0000000000..681622a9ae
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-use-cpld-reset.patch
@@ -0,0 +1,41 @@
+
+Use CPLD watchdog to reset the machine instead of buggy ep93xx one, which
+sometimes get stuck...
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/system.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/system.h 2007-09-04 02:29:35.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/system.h 2007-09-04 02:31:52.000000000 +0200
+@@ -3,6 +3,7 @@
+ */
+
+ #include <asm/hardware.h>
++#include <asm/mach-types.h>
+
+ static inline void arch_idle(void)
+ {
+@@ -15,11 +16,17 @@
+
+ local_irq_disable();
+
+- devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
+- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
+- __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
+- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
+- __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
++ if (machine_is_ts72xx()) {
++ __raw_writeb(0x5, TS72XX_WATCHDOG_FEED_PHYS_BASE);
++ __raw_writeb(0x1, TS72XX_WATCHDOG_CONTROL_PHYS_BASE);
++ } else {
++ devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
++ __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
++ __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
++ }
++
+
+ while (1)
+ ;
diff --git a/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch
new file mode 100644
index 0000000000..b406d1db77
--- /dev/null
+++ b/packages/linux/linux-2.6.22+2.6.23-rc5/ts72xx/ts72xx-watchdog.patch
@@ -0,0 +1,430 @@
+
+TS-72xx watchdog driver
+
+Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>
+
+Index: linux-2.6.23-rc5/arch/arm/mach-ep93xx/ts72xx.c
+===================================================================
+--- linux-2.6.23-rc5.orig/arch/arm/mach-ep93xx/ts72xx.c 2007-09-04 02:25:35.000000000 +0200
++++ linux-2.6.23-rc5/arch/arm/mach-ep93xx/ts72xx.c 2007-09-04 02:27:06.000000000 +0200
+@@ -183,6 +183,26 @@
+ .resource = ts72xx_eth_resource,
+ };
+
++static struct resource ts72xx_watchdog_resources[] = {
++ [0] = {
++ .start = TS72XX_WATCHDOG_CONTROL_PHYS_BASE,
++ .end = TS72XX_WATCHDOG_CONTROL_PHYS_BASE + 0x0fff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = TS72XX_WATCHDOG_FEED_PHYS_BASE,
++ .end = TS72XX_WATCHDOG_FEED_PHYS_BASE + 0x0fff,
++ .flags = IORESOURCE_MEM,
++ },
++};
++
++static struct platform_device ts72xx_watchdog_device = {
++ .name = "ts72xx_wdt",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(ts72xx_watchdog_resources),
++ .resource = ts72xx_watchdog_resources,
++};
++
+ static void __init ts72xx_init_machine(void)
+ {
+ ep93xx_init_devices();
+@@ -193,6 +213,7 @@
+ memcpy(ts72xx_eth_data.dev_addr,
+ (void *)(EP93XX_ETHERNET_BASE + 0x50), 6);
+ platform_device_register(&ts72xx_eth_device);
++ platform_device_register(&ts72xx_watchdog_device);
+ }
+
+ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
+Index: linux-2.6.23-rc5/drivers/char/watchdog/Kconfig
+===================================================================
+--- linux-2.6.23-rc5.orig/drivers/char/watchdog/Kconfig 2007-09-04 02:25:35.000000000 +0200
++++ linux-2.6.23-rc5/drivers/char/watchdog/Kconfig 2007-09-04 02:27:06.000000000 +0200
+@@ -247,6 +247,18 @@
+
+ # H8300 Architecture
+
++config TS72XX_WATCHDOG
++ tristate "TS-72xx Watchdog"
++ depends on WATCHDOG && ARCH_EP93XX && MACH_TS72XX
++ help
++ Say Y here if to include support for the CPLD watchdog
++ included on Technologic Systems SBC.
++
++ NOTE: timeout value is given in milliseconds, not in seconds.
++
++ To compile this driver as a module, choose M here: the
++ module will be called ts72xx_wdt.
++
+ # X86 (i386 + ia64 + x86_64) Architecture
+
+ config ACQUIRE_WDT
+Index: linux-2.6.23-rc5/drivers/char/watchdog/Makefile
+===================================================================
+--- linux-2.6.23-rc5.orig/drivers/char/watchdog/Makefile 2007-09-04 02:25:35.000000000 +0200
++++ linux-2.6.23-rc5/drivers/char/watchdog/Makefile 2007-09-04 02:27:06.000000000 +0200
+@@ -36,6 +36,7 @@
+ obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o
+ obj-$(CONFIG_MPCORE_WATCHDOG) += mpcore_wdt.o
+ obj-$(CONFIG_EP93XX_WATCHDOG) += ep93xx_wdt.o
++obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o
+ obj-$(CONFIG_PNX4008_WATCHDOG) += pnx4008_wdt.o
+ obj-$(CONFIG_IOP_WATCHDOG) += iop_wdt.o
+ obj-$(CONFIG_DAVINCI_WATCHDOG) += davinci_wdt.o
+Index: linux-2.6.23-rc5/drivers/char/watchdog/ts72xx_wdt.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.23-rc5/drivers/char/watchdog/ts72xx_wdt.c 2007-09-04 02:27:06.000000000 +0200
+@@ -0,0 +1,332 @@
++/*
++ * TS-72xx Watchdog Driver for Technologic Systems boards.
++ *
++ * Based on ep93xx_wdt.c by Lehtiniemi <rayl@mail.com> &
++ * Alessandro Zummo <a.zummo@towertech.it>
++ * and ib700wdt.c by Charles Howes <chowes@vsol.net>
++ * and mpc83xx_wdt.c by Dave Updegraff <dave@cray.org> &
++ * Kumar Gala <galak@kernel.crashing.org>
++ *
++ * (c) Copyright 2006 Matthieu Crapet <mcrapet@gmail.com>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ *
++ * This driver only deals with native timeout provided by CPLD :
++ * 1/4s, 1/2s, 1s, 2s, 4s and 8s. No external timer is used.
++ * Notice that we must ping before modifying the control register.
++ */
++
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/fs.h>
++#include <linux/miscdevice.h>
++#include <linux/platform_device.h>
++#include <linux/init.h>
++#include <linux/watchdog.h>
++#include <asm/io.h>
++#include <asm/uaccess.h>
++#include <asm/system.h>
++#include <asm/mach-types.h>
++
++#define WATCHDOG_VERSION "0.2"
++#define PFX "ts72xx_wdt: "
++
++#define WATCHDOG_TIMEOUT 8000 /* 8 seconds */
++#define WDT_IN_USE 0
++#define WDT_OK_TO_CLOSE 1
++
++static unsigned long ts72xx_wdt_status;
++static unsigned char ts72xx_wdt_cpld_value = 0x7;
++static int nowayout = WATCHDOG_NOWAYOUT;
++static int timeout = WATCHDOG_TIMEOUT;
++
++static int ts72xx_wdt_times[12] = {
++ 6000, 3000, 1500, 750, 275, 0,
++ 8000, 4000, 2000, 1000, 500, 250
++};
++
++static void __iomem *control_register;
++static void __iomem *feed_register;
++
++
++/*
++ * Kernel methods.
++ */
++
++static inline void ts72xx_wdt_ping(void)
++{
++ __raw_writew(0x05, feed_register);
++}
++
++static inline void ts72xx_wdt_enable(void)
++{
++ __raw_writew(0x05, feed_register);
++ __raw_writew(ts72xx_wdt_cpld_value, control_register);
++}
++
++static inline void ts72xx_wdt_disable(void)
++{
++ __raw_writew(0x05, feed_register);
++ __raw_writew(0, control_register);
++}
++
++static inline void ts72xx_parse_timeout(int value)
++{
++ unsigned char cpld_value = 0x7;
++ int i;
++
++ if ((value > 8000) || (value < 250)) {
++ timeout = WATCHDOG_TIMEOUT;
++ printk(KERN_INFO PFX "Timeout value out of range, set to %d\n", timeout);
++ } else {
++ for (i = 0; i < 6; i++) {
++ if (value >= ts72xx_wdt_times[i]) {
++ timeout = ts72xx_wdt_times[i+6];
++
++ if (value != timeout)
++ printk(KERN_INFO PFX "Timeout value rounded to %d\n", timeout);
++
++ if (i >= 3) /* cpld_value can't be 4 */
++ i++;
++
++ cpld_value = 7 - i;
++ break;
++ }
++ }
++ }
++
++ ts72xx_wdt_cpld_value = cpld_value;
++}
++
++static ssize_t ts72xx_wdt_write(struct file *file, const char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ /* Can't seek (pwrite) on this device */
++ if (*ppos != file->f_pos)
++ return -ESPIPE;
++
++ if (count) {
++ if (!nowayout) {
++ size_t i;
++
++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status);
++
++ for (i = 0; i != count; i++) {
++ char c;
++
++ if (get_user(c, buf + i))
++ return -EFAULT;
++
++ if (c == 'V')
++ set_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status);
++ else
++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status);
++ }
++ }
++ ts72xx_wdt_ping();
++ }
++
++ return count;
++}
++
++static int ts72xx_wdt_ioctl(struct inode *inode, struct file *file,
++ unsigned int cmd, unsigned long arg)
++{
++ int new_margin;
++ int ret = -ENOIOCTLCMD;
++
++ static struct watchdog_info ident = {
++ .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE,
++ .firmware_version = 1,
++ .identity = "TS-72xx Watchdog",
++ };
++
++ switch (cmd) {
++ case WDIOC_GETSUPPORT:
++ ret = copy_to_user((struct watchdog_info __user *)arg, &ident,
++ sizeof(ident)) ? -EFAULT : 0;
++ break;
++
++ case WDIOC_GETSTATUS:
++ case WDIOC_GETBOOTSTATUS:
++ ret = put_user(0, (int __user *)arg);
++ break;
++
++ case WDIOC_KEEPALIVE:
++ ts72xx_wdt_ping();
++ ret = 0;
++ break;
++
++ case WDIOC_SETTIMEOUT:
++ if (get_user(new_margin, (int __user *)arg))
++ return -EFAULT;
++
++ ts72xx_parse_timeout(new_margin);
++ ts72xx_wdt_enable();
++ /* Fall */
++
++ case WDIOC_GETTIMEOUT:
++ ret = put_user(timeout, (int __user *)arg);
++ break;
++ }
++
++ return ret;
++}
++
++static int ts72xx_wdt_open(struct inode *inode, struct file *file)
++{
++ if (test_and_set_bit(WDT_IN_USE, &ts72xx_wdt_status))
++ return -EBUSY;
++
++ if (nowayout) {
++ __module_get(THIS_MODULE);
++ }
++
++ ts72xx_wdt_enable();
++ ts72xx_wdt_ping();
++
++ return nonseekable_open(inode, file);
++}
++
++static int ts72xx_wdt_close(struct inode *inode, struct file *file)
++{
++ if (test_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status))
++ ts72xx_wdt_disable();
++ else
++ printk(KERN_CRIT PFX "Device file closed unexpectedly. "
++ "Will not stop the WDT!\n");
++
++ clear_bit(WDT_IN_USE, &ts72xx_wdt_status);
++
++ return 0;
++}
++
++/*
++ * Kernel Interfaces
++ */
++
++static struct file_operations ts72xx_wdt_fops = {
++ .owner = THIS_MODULE,
++ .llseek = no_llseek,
++ .write = ts72xx_wdt_write,
++ .ioctl = ts72xx_wdt_ioctl,
++ .open = ts72xx_wdt_open,
++ .release = ts72xx_wdt_close,
++};
++
++static struct miscdevice ts72xx_wdt_miscdev = {
++ .minor = WATCHDOG_MINOR,
++ .name = "watchdog",
++ .fops = &ts72xx_wdt_fops,
++};
++
++static void ts72xx_wdt_shutdown(struct platform_device *dev)
++{
++ ts72xx_wdt_disable();
++}
++
++static int __devinit ts72xx_wdt_probe(struct platform_device *dev)
++{
++ struct resource *r;
++ int ret;
++
++ if (!machine_is_ts72xx())
++ return -ENODEV;
++
++ r = platform_get_resource(dev, IORESOURCE_MEM, 0);
++
++ if (!r) {
++ ret = -ENODEV;
++ goto err_out;
++ }
++
++ control_register = ioremap(r->start, r->end - r->start + 1);
++
++ if (control_register == NULL) {
++ ret = -ENOMEM;
++ goto err_out;
++ }
++
++ r = platform_get_resource(dev, IORESOURCE_MEM, 1);
++
++ if (!r) {
++ ret = -ENODEV;
++ goto err_unmap1;
++ }
++
++ feed_register = ioremap(r->start, r->end - r->start + 1);
++
++ if (feed_register == NULL) {
++ ret = -ENOMEM;
++ goto err_unmap1;
++ }
++
++ ret = misc_register(&ts72xx_wdt_miscdev);
++ if (ret) {
++ printk(KERN_ERR PFX "cannot register miscdev on minor=%d "
++ "(err=%d), ep93xx_watchdog already loaded?!\n", WATCHDOG_MINOR, ret);
++ goto err_unmap2;
++ }
++
++ printk(KERN_INFO PFX "TS-72xx watchdog driver, v%s\n", WATCHDOG_VERSION);
++ ts72xx_parse_timeout(timeout);
++
++ return 0;
++
++err_unmap2:
++ iounmap(feed_register);
++err_unmap1:
++ iounmap(control_register);
++err_out:
++ return ret;
++}
++
++static int __devexit ts72xx_wdt_remove(struct platform_device *dev)
++{
++ misc_deregister(&ts72xx_wdt_miscdev);
++ iounmap(feed_register);
++ iounmap(control_register);
++
++ return 0;
++}
++
++static struct platform_driver ts72xx_wdt_driver = {
++ .probe = ts72xx_wdt_probe,
++ .remove = __devexit_p(ts72xx_wdt_remove),
++ .shutdown = ts72xx_wdt_shutdown,
++ .driver = {
++ .owner = THIS_MODULE,
++ .name = "ts72xx_wdt",
++ },
++};
++
++static int __init ts72xx_wdt_init(void)
++{
++ return platform_driver_register(&ts72xx_wdt_driver);
++}
++
++static void __exit ts72xx_wdt_exit(void)
++{
++ platform_driver_unregister(&ts72xx_wdt_driver);
++}
++
++module_init(ts72xx_wdt_init);
++module_exit(ts72xx_wdt_exit);
++
++#ifdef CONFIG_WATCHDOG_NOWAYOUT
++module_param(nowayout, int, 0);
++MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CONFIG_WATCHDOG_NOWAYOUT)");
++#endif
++
++module_param(timeout, int, 0);
++MODULE_PARM_DESC(timeout,"Watchdog timeout in milliseconds (250..8000, default=" __MODULE_STRING(WATCHDOG_TIMEOUT) ")");
++
++MODULE_AUTHOR("Matthieu Crapet <mcrapet@gmail.com>");
++MODULE_DESCRIPTION("TS-72xx watchdog driver");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
+Index: linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ts72xx.h
+===================================================================
+--- linux-2.6.23-rc5.orig/include/asm-arm/arch-ep93xx/ts72xx.h 2007-09-04 02:25:35.000000000 +0200
++++ linux-2.6.23-rc5/include/asm-arm/arch-ep93xx/ts72xx.h 2007-09-04 02:27:06.000000000 +0200
+@@ -69,6 +69,9 @@
+ #define TS72XX_RTC_DATA_SIZE 0x00001000
+
+
++#define TS72XX_WATCHDOG_CONTROL_PHYS_BASE 0x23800000
++#define TS72XX_WATCHDOG_FEED_PHYS_BASE 0x23c00000
++
+ #ifndef __ASSEMBLY__
+ #include <asm/io.h>
+
diff --git a/packages/linux/linux-2.6.22.6/.mtn2git_empty b/packages/linux/linux-2.6.22.6/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty b/packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff
new file mode 100644
index 0000000000..27146c30f1
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-gpio-interrupt-debounce.diff
@@ -0,0 +1,87 @@
+
+Implement GPIO interrupt debouncing on ep93xx.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c
++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c
+@@ -154,6 +154,7 @@ struct sys_timer ep93xx_timer = {
+ *************************************************************************/
+ static unsigned char gpio_int_unmasked[3];
+ static unsigned char gpio_int_enabled[3];
++static unsigned char gpio_int_debounce[3];
+ static unsigned char gpio_int_type1[3];
+ static unsigned char gpio_int_type2[3];
+
+@@ -161,16 +162,19 @@ static void update_gpio_int_params(int a
+ {
+ if (abf == 0) {
+ __raw_writeb(0, EP93XX_GPIO_A_INT_ENABLE);
++ __raw_writeb(gpio_int_debounce[0], EP93XX_GPIO_A_INT_DEBOUNCE);
+ __raw_writeb(gpio_int_type2[0], EP93XX_GPIO_A_INT_TYPE2);
+ __raw_writeb(gpio_int_type1[0], EP93XX_GPIO_A_INT_TYPE1);
+ __raw_writeb(gpio_int_unmasked[0] & gpio_int_enabled[0], EP93XX_GPIO_A_INT_ENABLE);
+ } else if (abf == 1) {
+ __raw_writeb(0, EP93XX_GPIO_B_INT_ENABLE);
++ __raw_writeb(gpio_int_debounce[1], EP93XX_GPIO_B_INT_DEBOUNCE);
+ __raw_writeb(gpio_int_type2[1], EP93XX_GPIO_B_INT_TYPE2);
+ __raw_writeb(gpio_int_type1[1], EP93XX_GPIO_B_INT_TYPE1);
+ __raw_writeb(gpio_int_unmasked[1] & gpio_int_enabled[1], EP93XX_GPIO_B_INT_ENABLE);
+ } else if (abf == 2) {
+ __raw_writeb(0, EP93XX_GPIO_F_INT_ENABLE);
++ __raw_writeb(gpio_int_debounce[2], EP93XX_GPIO_F_INT_DEBOUNCE);
+ __raw_writeb(gpio_int_type2[2], EP93XX_GPIO_F_INT_TYPE2);
+ __raw_writeb(gpio_int_type1[2], EP93XX_GPIO_F_INT_TYPE1);
+ __raw_writeb(gpio_int_unmasked[2] & gpio_int_enabled[2], EP93XX_GPIO_F_INT_ENABLE);
+@@ -361,6 +365,13 @@ static int ep93xx_gpio_irq_type(unsigned
+ } else {
+ gpio_int_enabled[port] &= ~(1 << line);
+ }
++
++ if (type & IRQ_TYPE_DEBOUNCE) {
++ gpio_int_debounce[port] |= 1 << line;
++ } else {
++ gpio_int_debounce[port] &= ~(1 << line);
++ }
++
+ update_gpio_int_params(port);
+
+ return 0;
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+@@ -78,16 +78,19 @@
+ #define EP93XX_GPIO_F_INT_ACK EP93XX_GPIO_REG(0x54)
+ #define EP93XX_GPIO_F_INT_ENABLE EP93XX_GPIO_REG(0x58)
+ #define EP93XX_GPIO_F_INT_STATUS EP93XX_GPIO_REG(0x5c)
++#define EP93XX_GPIO_F_INT_DEBOUNCE EP93XX_GPIO_REG(0x64)
+ #define EP93XX_GPIO_A_INT_TYPE1 EP93XX_GPIO_REG(0x90)
+ #define EP93XX_GPIO_A_INT_TYPE2 EP93XX_GPIO_REG(0x94)
+ #define EP93XX_GPIO_A_INT_ACK EP93XX_GPIO_REG(0x98)
+ #define EP93XX_GPIO_A_INT_ENABLE EP93XX_GPIO_REG(0x9c)
+ #define EP93XX_GPIO_A_INT_STATUS EP93XX_GPIO_REG(0xa0)
++#define EP93XX_GPIO_A_INT_DEBOUNCE EP93XX_GPIO_REG(0xa8)
+ #define EP93XX_GPIO_B_INT_TYPE1 EP93XX_GPIO_REG(0xac)
+ #define EP93XX_GPIO_B_INT_TYPE2 EP93XX_GPIO_REG(0xb0)
+ #define EP93XX_GPIO_B_INT_ACK EP93XX_GPIO_REG(0xb4)
+ #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8)
+ #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc)
++#define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4)
+
+ #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000)
+
+Index: linux-2.6.22/include/linux/irq.h
+===================================================================
+--- linux-2.6.22.orig/include/linux/irq.h
++++ linux-2.6.22/include/linux/irq.h
+@@ -44,6 +44,7 @@ typedef void fastcall (*irq_flow_handler
+ #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */
+ #define IRQ_TYPE_SENSE_MASK 0x0000000f /* Mask of the above */
+ #define IRQ_TYPE_PROBE 0x00000010 /* Probing in progress */
++#define IRQ_TYPE_DEBOUNCE 0x00000020 /* Enable HW debounce */
+
+ /* Internal flags */
+ #define IRQ_INPROGRESS 0x00000100 /* IRQ handler active - do not enter! */
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff
new file mode 100644
index 0000000000..d3c66940de
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c-bus.diff
@@ -0,0 +1,220 @@
+
+I2C bus driver using ep93xx GPIOs.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.22/drivers/i2c/busses/Kconfig
+===================================================================
+--- linux-2.6.22.orig/drivers/i2c/busses/Kconfig 2007-08-30 00:42:45.000000000 +0200
++++ linux-2.6.22/drivers/i2c/busses/Kconfig 2007-08-30 00:42:52.000000000 +0200
+@@ -635,4 +635,16 @@
+ This driver can also be built as a module. If so, the module
+ will be called i2c-pnx.
+
++config I2C_EP93XX
++ tristate "Cirrus Logic EP93XX GPIO-based I2C interface"
++ depends on I2C && ARCH_EP93XX
++ select I2C_ALGOBIT
++ help
++ Say Y here if you have an Cirrus Logic EP93XX based
++ system and are using GPIO lines for an I2C bus.
++
++ This support is also available as a module. If so, the module
++ will be called i2c-ep93xx.
++
++
+ endmenu
+Index: linux-2.6.22/drivers/i2c/busses/Makefile
+===================================================================
+--- linux-2.6.22.orig/drivers/i2c/busses/Makefile 2007-08-30 00:42:45.000000000 +0200
++++ linux-2.6.22/drivers/i2c/busses/Makefile 2007-08-30 00:42:52.000000000 +0200
+@@ -52,6 +52,7 @@
+ obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o
+ obj-$(CONFIG_SCx200_ACB) += scx200_acb.o
+ obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o
++obj-$(CONFIG_I2C_EP93XX) += i2c-ep93xx.o
+
+ ifeq ($(CONFIG_I2C_DEBUG_BUS),y)
+ EXTRA_CFLAGS += -DDEBUG
+Index: linux-2.6.22/drivers/i2c/busses/i2c-ep93xx.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.22/drivers/i2c/busses/i2c-ep93xx.c 2007-08-30 00:42:52.000000000 +0200
+@@ -0,0 +1,159 @@
++/*
++ * EP93XX I2C bus driver.
++ * Copyright (C) 2007 Lennert Buytenhek <buytenh@wantstofly.org>
++ *
++ * An I2C bus driver for the Cirrus Logic EP93xx SoC.
++ *
++ * Based on an earlier version by Alessandro Zummo.
++ */
++
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/i2c-algo-bit.h>
++#include <asm/hardware.h>
++#include <asm/arch/gpio.h>
++
++struct ep93xx_i2c_priv {
++ struct ep93xx_i2c_data *data;
++ struct i2c_adapter adapter;
++ struct i2c_algo_bit_data algo_data;
++ int sda;
++ int scl;
++};
++
++
++static void ep93xx_bit_setsda(void *cookie, int val)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (val) {
++ gpio_line_config(priv->data->sda_pin, GPIO_IN);
++ if (priv->scl && !priv->sda && priv->data->stop != NULL)
++ priv->data->stop(priv->data->cookie);
++ priv->sda = 1;
++ } else {
++ if (priv->scl && priv->sda && priv->data->start != NULL)
++ priv->data->start(priv->data->cookie);
++ gpio_line_config(priv->data->sda_pin, GPIO_OUT);
++ gpio_line_set(priv->data->sda_pin, 0);
++ priv->sda = 0;
++ }
++}
++
++static void ep93xx_bit_setscl(void *cookie, int val)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (val) {
++ gpio_line_config(priv->data->scl_pin, GPIO_IN);
++ priv->scl = 1;
++ } else {
++ gpio_line_config(priv->data->scl_pin, GPIO_OUT);
++ gpio_line_set(priv->data->scl_pin, 0);
++ priv->scl = 0;
++ }
++}
++
++static int ep93xx_bit_getsda(void *cookie)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (priv->sda == 0)
++ BUG();
++
++ return gpio_line_get(priv->data->sda_pin);
++}
++
++static int ep93xx_bit_getscl(void *cookie)
++{
++ struct ep93xx_i2c_priv *priv = cookie;
++
++ if (priv->scl == 0)
++ BUG();
++
++ return gpio_line_get(priv->data->scl_pin);
++}
++
++
++static int ep93xx_i2c_probe(struct platform_device *pdev)
++{
++ struct ep93xx_i2c_priv *priv;
++ int err;
++
++ priv = kzalloc(sizeof(struct ep93xx_i2c_priv), GFP_KERNEL);
++ if (priv == NULL)
++ return -ENOMEM;
++
++ priv->data = pdev->dev.platform_data;
++
++ strlcpy(priv->adapter.name, pdev->dev.driver->name, I2C_NAME_SIZE);
++ priv->adapter.algo_data = &priv->algo_data;
++ priv->adapter.class = I2C_CLASS_ALL;
++ priv->adapter.dev.parent = &pdev->dev;
++
++ priv->algo_data.data = priv;
++ priv->algo_data.setsda = ep93xx_bit_setsda;
++ priv->algo_data.setscl = ep93xx_bit_setscl;
++ priv->algo_data.getsda = ep93xx_bit_getsda;
++ priv->algo_data.getscl = ep93xx_bit_getscl;
++ priv->algo_data.udelay = 10;
++ priv->algo_data.timeout = 100;
++
++ priv->sda = 1;
++ gpio_line_config(priv->data->sda_pin, GPIO_IN);
++
++ priv->scl = 1;
++ gpio_line_config(priv->data->scl_pin, GPIO_IN);
++
++ err = i2c_bit_add_bus(&priv->adapter);
++ if (err) {
++ printk(KERN_ERR "ERROR: Could not install %s\n",
++ pdev->dev.bus_id);
++ kfree(priv);
++ return err;
++ }
++
++ platform_set_drvdata(pdev, priv);
++
++ return 0;
++}
++
++static int ep93xx_i2c_remove(struct platform_device *pdev)
++{
++ struct ep93xx_i2c_priv *priv;
++
++ priv = platform_get_drvdata(pdev);
++ i2c_del_adapter(&priv->adapter);
++ platform_set_drvdata(pdev, NULL);
++ kfree(priv);
++
++ return 0;
++}
++
++static struct platform_driver ep93xx_i2c_driver = {
++ .probe = ep93xx_i2c_probe,
++ .remove = ep93xx_i2c_remove,
++ .driver = {
++ .name = "ep93xx-i2c",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init ep93xx_i2c_init(void)
++{
++ return platform_driver_register(&ep93xx_i2c_driver);
++}
++
++static void __exit ep93xx_i2c_exit(void)
++{
++ platform_driver_unregister(&ep93xx_i2c_driver);
++}
++
++module_init(ep93xx_i2c_init);
++module_exit(ep93xx_i2c_exit);
++
++MODULE_AUTHOR("Lennert Buytenhek <buytenh@wantstofly.org>");
++MODULE_DESCRIPTION("GPIO-based I2C adapter for EP93XX systems");
++MODULE_LICENSE("GPL");
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:42:45.000000000 +0200
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:42:52.000000000 +0200
+@@ -16,5 +16,13 @@
+ unsigned char phy_id;
+ };
+
++struct ep93xx_i2c_data {
++ int sda_pin;
++ int scl_pin;
++ void *cookie;
++ void (*start)(void *);
++ void (*stop)(void *);
++};
++
+
+ #endif
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff
new file mode 100644
index 0000000000..b68fb14e2e
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-i2c.diff
@@ -0,0 +1,110 @@
+
+Instantiate the ep93xx gpio i2c bus driver in the generic ep93xx
+code.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c 2007-08-30 00:42:49.000000000 +0200
++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c 2007-08-30 00:43:00.000000000 +0200
+@@ -509,6 +509,52 @@
+ };
+
+
++static DEFINE_MUTEX(eeclk_eedat_mutex);
++static int i2c_transaction_in_progress;
++
++static void ep93xx_i2c_start_condition(void *cookie)
++{
++ if (!i2c_transaction_in_progress) {
++ mutex_lock(&eeclk_eedat_mutex);
++ i2c_transaction_in_progress = 1;
++ }
++}
++
++static void ep93xx_i2c_stop_condition(void *cookie)
++{
++ if (i2c_transaction_in_progress) {
++ mutex_unlock(&eeclk_eedat_mutex);
++ i2c_transaction_in_progress = 0;
++ } else {
++ printk(KERN_WARNING "ep93xx: i2c stop without start??\n");
++ }
++}
++
++static struct ep93xx_i2c_data ep93xx_i2c_gpio_data = {
++ .sda_pin = EP93XX_GPIO_LINE_EEDAT,
++ .scl_pin = EP93XX_GPIO_LINE_EECLK,
++ .start = ep93xx_i2c_start_condition,
++ .stop = ep93xx_i2c_stop_condition,
++};
++
++static struct platform_device ep93xx_i2c_device = {
++ .name = "ep93xx-i2c",
++ .id = 0,
++ .dev.platform_data = &ep93xx_i2c_gpio_data,
++ .num_resources = 0,
++};
++
++void eeclk_eedat_claim(void)
++{
++ mutex_lock(&eeclk_eedat_mutex);
++}
++
++void eeclk_eedat_release(void)
++{
++ mutex_unlock(&eeclk_eedat_mutex);
++}
++
++
+ void __init ep93xx_init_devices(void)
+ {
+ unsigned int v;
+@@ -521,10 +567,20 @@
+ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
+ __raw_writel(v, EP93XX_SYSCON_DEVICE_CONFIG);
+
++ /*
++ * When EECLK/EEDAT are in open drain mode (EEDRIVE=0b11),
++ * writing a 1 to their Data Register bits causes subsequent
++ * reads from the Data Direction Register to return 'input',
++ * which confuses gpio_line_config(). So, we use CMOS drive
++ * mode instead.
++ */
++ __raw_writel(0, EP93XX_GPIO_EEDRIVE);
++
+ amba_device_register(&uart1_device, &iomem_resource);
+ amba_device_register(&uart2_device, &iomem_resource);
+ amba_device_register(&uart3_device, &iomem_resource);
+
+ platform_device_register(&ep93xx_rtc_device);
+ platform_device_register(&ep93xx_ohci_device);
++ platform_device_register(&ep93xx_i2c_device);
+ }
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-08-30 00:42:49.000000000 +0200
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-08-30 00:43:00.000000000 +0200
+@@ -91,6 +91,7 @@
+ #define EP93XX_GPIO_B_INT_ENABLE EP93XX_GPIO_REG(0xb8)
+ #define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc)
+ #define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4)
++#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8)
+
+ #define EP93XX_AAC_BASE (EP93XX_APB_VIRT_BASE + 0x00080000)
+
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:42:52.000000000 +0200
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/platform.h 2007-08-30 00:43:00.000000000 +0200
+@@ -10,6 +10,9 @@
+ void ep93xx_init_devices(void);
+ extern struct sys_timer ep93xx_timer;
+
++void eeclk_eedat_claim(void);
++void eeclk_eedat_release(void);
++
+ struct ep93xx_eth_data
+ {
+ unsigned char dev_addr[6];
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff
new file mode 100644
index 0000000000..0d11311d10
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-leds.diff
@@ -0,0 +1,181 @@
+
+EP93xx leds driver
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c
++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c
+@@ -555,6 +555,12 @@ void eeclk_eedat_release(void)
+ }
+
+
++static struct platform_device ep93xx_led_device = {
++ .name = "ep93xx-led",
++ .id = -1,
++};
++
++
+ void __init ep93xx_init_devices(void)
+ {
+ unsigned int v;
+@@ -583,4 +589,5 @@ void __init ep93xx_init_devices(void)
+ platform_device_register(&ep93xx_rtc_device);
+ platform_device_register(&ep93xx_ohci_device);
+ platform_device_register(&ep93xx_i2c_device);
++ platform_device_register(&ep93xx_led_device);
+ }
+Index: linux-2.6.22/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.22.orig/drivers/leds/Kconfig
++++ linux-2.6.22/drivers/leds/Kconfig
+@@ -95,6 +95,12 @@ config LEDS_COBALT
+ help
+ This option enables support for the front LED on Cobalt Server
+
++config LEDS_EP93XX
++ tristate "LED Support for Cirrus Logic EP93xx"
++ depends on LEDS_CLASS && ARCH_EP93XX
++ help
++ This option enables support for the Cirrus Logic EP93xx based boards.
++
+ comment "LED Triggers"
+
+ config LEDS_TRIGGERS
+Index: linux-2.6.22/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.22.orig/drivers/leds/Makefile
++++ linux-2.6.22/drivers/leds/Makefile
+@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX) += leds-net4
+ obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
+ obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
+ obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
++obj-$(CONFIG_LEDS_EP93XX) += leds-ep93xx.o
+
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
+Index: linux-2.6.22/drivers/leds/leds-ep93xx.c
+===================================================================
+--- /dev/null
++++ linux-2.6.22/drivers/leds/leds-ep93xx.c
+@@ -0,0 +1,119 @@
++/*
++ * LEDs driver for Cirrus Logic EP93xx
++ *
++ * Author: Petr Stetiar <ynezz@true.cz>
++ *
++ * Based on 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/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/gpio.h>
++
++static void ep93xx_green_led_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ if (value)
++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_HIGH);
++ else
++ gpio_line_set(EP93XX_GPIO_LINE_GRLED, EP93XX_GPIO_LOW);
++}
++
++static void ep93xx_red_led_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ if (value)
++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_HIGH);
++ else
++ gpio_line_set(EP93XX_GPIO_LINE_RDLED, EP93XX_GPIO_LOW);
++}
++
++
++static struct led_classdev ep93xx_green_led = {
++ .name = "ep93xx:green",
++ .default_trigger = "none",
++ .brightness_set = ep93xx_green_led_set,
++};
++
++static struct led_classdev ep93xx_red_led = {
++ .name = "ep93xx:red",
++ .default_trigger = "heartbeat",
++ .brightness_set = ep93xx_red_led_set,
++};
++
++#ifdef CONFIG_PM
++static int ep93xx_led_suspend(struct platform_device *dev, pm_message_t state)
++{
++ led_classdev_suspend(&ep93xx_green_led);
++ led_classdev_suspend(&ep93xx_red_led);
++ return 0;
++}
++
++static int ep93xx_led_resume(struct platform_device *dev)
++{
++ led_classdev_resume(&ep93xx_red_led);
++ led_classdev_resume(&ep93xx_green_led);
++ return 0;
++}
++#endif
++
++static int ep93xx_led_probe(struct platform_device *pdev)
++{
++ int ret;
++
++ gpio_line_config(EP93XX_GPIO_LINE_GRLED, GPIO_OUT);
++ gpio_line_config(EP93XX_GPIO_LINE_RDLED, GPIO_OUT);
++
++ ret = led_classdev_register(&pdev->dev, &ep93xx_green_led);
++ if (ret < 0)
++ return ret;
++
++ ret = led_classdev_register(&pdev->dev, &ep93xx_red_led);
++ if (ret < 0)
++ led_classdev_unregister(&ep93xx_green_led);
++
++ return ret;
++}
++
++static int ep93xx_led_remove(struct platform_device *pdev)
++{
++ led_classdev_unregister(&ep93xx_green_led);
++ led_classdev_unregister(&ep93xx_red_led);
++ return 0;
++}
++
++static struct platform_driver ep93xx_led_driver = {
++ .probe = ep93xx_led_probe,
++ .remove = ep93xx_led_remove,
++#ifdef CONFIG_PM
++ .suspend = ep93xx_led_suspend,
++ .resume = ep93xx_led_resume,
++#endif
++ .driver = {
++ .name = "ep93xx-led",
++ },
++};
++
++static int __init ep93xx_led_init(void)
++{
++ return platform_driver_register(&ep93xx_led_driver);
++}
++
++static void __exit ep93xx_led_exit(void)
++{
++ platform_driver_unregister(&ep93xx_led_driver);
++}
++
++module_init(ep93xx_led_init);
++module_exit(ep93xx_led_exit);
++
++MODULE_AUTHOR("Petr Stetiar <ynezz@true.cz>");
++MODULE_DESCRIPTION("Cirrus Logic EP93xx LED driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch
new file mode 100644
index 0000000000..fb6c8cfe18
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-maverick-uniqid.patch
@@ -0,0 +1,38 @@
+
+Adds support for SoC's unique ID (Maverick Key) in /proc/cpuinfo
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.22/arch/arm/kernel/setup.c
+===================================================================
+--- linux-2.6.22.orig/arch/arm/kernel/setup.c 2007-09-02 23:08:51.000000000 +0200
++++ linux-2.6.22/arch/arm/kernel/setup.c 2007-09-02 23:10:24.000000000 +0200
+@@ -959,8 +959,15 @@
+
+ seq_printf(m, "Hardware\t: %s\n", machine_name);
+ seq_printf(m, "Revision\t: %04x\n", system_rev);
++
++#if defined(CONFIG_ARCH_EP93XX)
++#include <asm/arch/ep93xx-regs.h>
++ seq_printf(m, "Serial\t\t: %016x\n",
++ *((unsigned int *)EP93XX_SECURITY_UNIQID));
++#else
+ seq_printf(m, "Serial\t\t: %08x%08x\n",
+ system_serial_high, system_serial_low);
++#endif
+
+ return 0;
+ }
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-02 23:06:45.000000000 +0200
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ep93xx-regs.h 2007-09-02 23:08:34.000000000 +0200
+@@ -70,6 +70,8 @@
+ #define EP93XX_I2S_BASE (EP93XX_APB_VIRT_BASE + 0x00020000)
+
+ #define EP93XX_SECURITY_BASE (EP93XX_APB_VIRT_BASE + 0x00030000)
++#define EP93XX_SECURITY_REG(x) (EP93XX_SECURITY_BASE + (x))
++#define EP93XX_SECURITY_UNIQID EP93XX_SECURITY_REG(0x2440)
+
+ #define EP93XX_GPIO_BASE (EP93XX_APB_VIRT_BASE + 0x00040000)
+ #define EP93XX_GPIO_REG(x) (EP93XX_GPIO_BASE + (x))
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff
new file mode 100644
index 0000000000..9eb2d9de98
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff
@@ -0,0 +1,42 @@
+
+Hackishly enable all UART clocks before uncompressing the kernel,
+so that using ttyAM1 or ttyAM2 as console can work.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/uncompress.h
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h
+@@ -78,6 +78,23 @@ static void ethernet_reset(void)
+
+
+ /*
++ * We don't have clock management for the UARTs (amba-pl010)
++ * yet, so hackily enable all UART clocks here for now.
++ */
++#define PHYS_SYSCON_DEVICE_CONFIG 0x80930080
++#define PHYS_SYSCON_SWLOCK 0x809300c0
++
++static void enable_all_uart_clocks(void)
++{
++ unsigned int v;
++
++ v = __raw_readl(PHYS_SYSCON_DEVICE_CONFIG);
++ __raw_writel(0xaa, PHYS_SYSCON_SWLOCK);
++ __raw_writel(v | 0x01140000, PHYS_SYSCON_DEVICE_CONFIG);
++}
++
++
++/*
+ * Some bootloaders don't turn on the UARTBAUD bit, which means that
+ * the UARTs will be running off a divided 7.3728 MHz clock instead of
+ * the 14.7456 MHz peripheral clock when linux boots.
+@@ -126,6 +143,7 @@ static void fix_uart_base(void)
+ static void arch_decomp_setup(void)
+ {
+ ethernet_reset();
++ enable_all_uart_clocks();
+ fix_uart_base();
+ }
+
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff
new file mode 100644
index 0000000000..7183ab626e
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-uartbaud.diff
@@ -0,0 +1,66 @@
+
+Force UARTBAUD on before uncompressing.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/uncompress.h
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h
+@@ -77,9 +77,56 @@ static void ethernet_reset(void)
+ }
+
+
++/*
++ * Some bootloaders don't turn on the UARTBAUD bit, which means that
++ * the UARTs will be running off a divided 7.3728 MHz clock instead of
++ * the 14.7456 MHz peripheral clock when linux boots.
++ *
++ * We detect that condition here and fix it by turning on UARTBAUD, and
++ * then reprogramming the divisors on all enabled UARTs to twice what
++ * they were before we turned UARTBAUD on, to preserve the programmed
++ * baud rate.
++ */
++#define PHYS_SYSCON_CLOCK_CONTROL 0x80930004
++#define SYSCON_CLOCK_UARTBAUD 0x20000000
++#define PHYS_UART1_BASE 0x808c0000
++#define PHYS_UART2_BASE 0x808d0000
++#define PHYS_UART3_BASE 0x808e0000
++
++static void uart_divisor_times_two(unsigned int base)
++{
++ u16 divisor;
++
++ divisor = __raw_readb(base + 0x0c) << 8;
++ divisor |= __raw_readb(base + 0x10);
++ if (divisor) {
++ divisor = (2 * (divisor + 1)) - 1;
++ __raw_writeb(divisor >> 8, base + 0x0c);
++ __raw_writeb(divisor & 0xff, base + 0x10);
++ __raw_writeb(__raw_readb(base + 0x08), base + 0x08);
++ }
++}
++
++static void fix_uart_base(void)
++{
++ unsigned int v;
++
++ v = __raw_readl(PHYS_SYSCON_CLOCK_CONTROL);
++ if ((v & SYSCON_CLOCK_UARTBAUD) == 0) {
++ v |= SYSCON_CLOCK_UARTBAUD;
++ __raw_writel(v, PHYS_SYSCON_CLOCK_CONTROL);
++
++ uart_divisor_times_two(PHYS_UART1_BASE);
++ uart_divisor_times_two(PHYS_UART2_BASE);
++ uart_divisor_times_two(PHYS_UART3_BASE);
++ }
++}
++
++
+ static void arch_decomp_setup(void)
+ {
+ ethernet_reset();
++ fix_uart_base();
+ }
+
+ #define arch_decomp_wdog()
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff
new file mode 100644
index 0000000000..8254153b69
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-timer-accuracy.diff
@@ -0,0 +1,59 @@
+
+The ep93xx has a weird timer tick base (983.04 kHz.) This experimental
+patch tries to increase time of day accuracy by keeping the number of
+ticks until the next jiffy in a fractional value representation.
+
+Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
+
+Index: linux-2.6.22/arch/arm/mach-ep93xx/core.c
+===================================================================
+--- linux-2.6.22.orig/arch/arm/mach-ep93xx/core.c
++++ linux-2.6.22/arch/arm/mach-ep93xx/core.c
+@@ -94,19 +94,32 @@ void __init ep93xx_map_io(void)
+ * track of lost jiffies.
+ */
+ static unsigned int last_jiffy_time;
++static unsigned int next_jiffy_time;
++static unsigned int accumulator;
+
+-#define TIMER4_TICKS_PER_JIFFY ((CLOCK_TICK_RATE + (HZ/2)) / HZ)
++#define TIMER4_TICKS_PER_JIFFY (983040 / HZ)
++#define TIMER4_TICKS_MOD_JIFFY (983040 % HZ)
++
++static int after_eq(unsigned long a, unsigned long b)
++{
++ return ((signed long)(a - b)) >= 0;
++}
+
+ static int ep93xx_timer_interrupt(int irq, void *dev_id)
+ {
+ write_seqlock(&xtime_lock);
+
+ __raw_writel(1, EP93XX_TIMER1_CLEAR);
+- while ((signed long)
+- (__raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time)
+- >= TIMER4_TICKS_PER_JIFFY) {
+- last_jiffy_time += TIMER4_TICKS_PER_JIFFY;
++ while (after_eq(__raw_readl(EP93XX_TIMER4_VALUE_LOW), next_jiffy_time)) {
+ timer_tick();
++
++ last_jiffy_time = next_jiffy_time;
++ next_jiffy_time += TIMER4_TICKS_PER_JIFFY;
++ accumulator += TIMER4_TICKS_MOD_JIFFY;
++ if (accumulator >= HZ) {
++ next_jiffy_time++;
++ accumulator -= HZ;
++ }
+ }
+
+ write_sequnlock(&xtime_lock);
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/timex.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/timex.h
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/timex.h
+@@ -2,4 +2,4 @@
+ * linux/include/asm-arm/arch-ep93xx/timex.h
+ */
+
+-#define CLOCK_TICK_RATE 983040
++#define CLOCK_TICK_RATE (1000 * HZ)
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/series b/packages/linux/linux-2.6.22.6/ts72xx/series
new file mode 100644
index 0000000000..e5455efd3c
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/series
@@ -0,0 +1,12 @@
+ep93xx-gpio-interrupt-debounce.diff
+ep93xx-i2c-bus.diff
+ep93xx-i2c.diff
+ep93xx-leds.diff
+ep93xx-serial-uartbaud.diff
+ep93xx-serial-clocks.diff
+ep93xx-timer-accuracy.diff
+ep93xx-maverick-uniqid.patch
+ts72xx-machine-id-fix.patch
+ts72xx-nfbit-fix.patch
+ts72xx-watchdog.patch
+ts72xx-use-cpld-reset.patch
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch
new file mode 100644
index 0000000000..64c38398db
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-machine-id-fix.patch
@@ -0,0 +1,17 @@
+
+Fix wrong machine ID passed from RedBoot
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.22/arch/arm/kernel/head.S
+===================================================================
+--- linux-2.6.22.orig/arch/arm/kernel/head.S 2007-08-30 00:42:45.000000000 +0200
++++ linux-2.6.22/arch/arm/kernel/head.S 2007-08-30 00:43:13.000000000 +0200
+@@ -82,6 +82,7 @@
+ bl __lookup_processor_type @ r5=procinfo r9=cpuid
+ movs r10, r5 @ invalid processor (r5=0)?
+ beq __error_p @ yes, error 'p'
++ ldr r1, =0x000002a1 @ mach-type = TS-7250
+ bl __lookup_machine_type @ r5=machinfo
+ movs r8, r5 @ invalid machine (r5=0)?
+ beq __error_a @ yes, error 'a'
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch
new file mode 100644
index 0000000000..eab73154a8
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-nfbit-fix.patch
@@ -0,0 +1,15 @@
+
+Force the nF bit on. Usually this is set by the bootrom. If it is not set,
+then the CPU core will run from HCLK instead of FCLK, and performance will
+suffer. If you see BogoMIPS of about 1/4 of your CPU clock, try turning this
+on; your performance should double.
+
+--- linux-2.6.21.4/arch/arm/mm/proc-arm920.S 2007-06-07 23:27:31.000000000 +0200
++++ linux-2.6.21.4-arm/arch/arm/mm/proc-arm920.S 2007-06-08 22:59:48.000000000 +0200
+@@ -395,6 +395,7 @@
+ mrc p15, 0, r0, c1, c0 @ get control register v4
+ bic r0, r0, r5
+ orr r0, r0, r6
++ orr r0, r0, #0x40000000
+ mov pc, lr
+ .size __arm920_setup, . - __arm920_setup
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch
new file mode 100644
index 0000000000..9744a67653
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-use-cpld-reset.patch
@@ -0,0 +1,41 @@
+
+Use CPLD watchdog to reset the machine instead of buggy ep93xx one, which
+sometimes get stuck...
+
+Signed-off-by: Petr Stetiar <ynezz@true.cz>
+
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/system.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/system.h 2007-08-30 00:53:47.000000000 +0200
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/system.h 2007-08-30 00:54:28.000000000 +0200
+@@ -3,6 +3,7 @@
+ */
+
+ #include <asm/hardware.h>
++#include <asm/mach-types.h>
+
+ static inline void arch_idle(void)
+ {
+@@ -15,11 +16,17 @@
+
+ local_irq_disable();
+
+- devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
+- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
+- __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
+- __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
+- __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
++ if (machine_is_ts72xx()) {
++ __raw_writeb(0x5, TS72XX_WATCHDOG_FEED_PHYS_BASE);
++ __raw_writeb(0x1, TS72XX_WATCHDOG_CONTROL_PHYS_BASE);
++ } else {
++ devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
++ __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
++ __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
++ __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
++ }
++
+
+ while (1)
+ ;
diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch
new file mode 100644
index 0000000000..aa2cb834f9
--- /dev/null
+++ b/packages/linux/linux-2.6.22.6/ts72xx/ts72xx-watchdog.patch
@@ -0,0 +1,430 @@
+
+TS-72xx watchdog driver
+
+Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>
+
+Index: linux-2.6.22/arch/arm/mach-ep93xx/ts72xx.c
+===================================================================
+--- linux-2.6.22.orig/arch/arm/mach-ep93xx/ts72xx.c 2007-08-30 01:33:00.000000000 +0200
++++ linux-2.6.22/arch/arm/mach-ep93xx/ts72xx.c 2007-08-30 01:33:10.000000000 +0200
+@@ -183,6 +183,26 @@
+ .resource = ts72xx_eth_resource,
+ };
+
++static struct resource ts72xx_watchdog_resources[] = {
++ [0] = {
++ .start = TS72XX_WATCHDOG_CONTROL_PHYS_BASE,
++ .end = TS72XX_WATCHDOG_CONTROL_PHYS_BASE + 0x0fff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = TS72XX_WATCHDOG_FEED_PHYS_BASE,
++ .end = TS72XX_WATCHDOG_FEED_PHYS_BASE + 0x0fff,
++ .flags = IORESOURCE_MEM,
++ },
++};
++
++static struct platform_device ts72xx_watchdog_device = {
++ .name = "ts72xx_wdt",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(ts72xx_watchdog_resources),
++ .resource = ts72xx_watchdog_resources,
++};
++
+ static void __init ts72xx_init_machine(void)
+ {
+ ep93xx_init_devices();
+@@ -193,6 +213,7 @@
+ memcpy(ts72xx_eth_data.dev_addr,
+ (void *)(EP93XX_ETHERNET_BASE + 0x50), 6);
+ platform_device_register(&ts72xx_eth_device);
++ platform_device_register(&ts72xx_watchdog_device);
+ }
+
+ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
+Index: linux-2.6.22/drivers/char/watchdog/Kconfig
+===================================================================
+--- linux-2.6.22.orig/drivers/char/watchdog/Kconfig 2007-08-30 01:33:00.000000000 +0200
++++ linux-2.6.22/drivers/char/watchdog/Kconfig 2007-08-30 01:33:10.000000000 +0200
+@@ -187,6 +187,18 @@
+
+ Say N if you are unsure.
+
++config TS72XX_WATCHDOG
++ tristate "TS-72xx Watchdog"
++ depends on WATCHDOG && ARCH_EP93XX && MACH_TS72XX
++ help
++ Say Y here if to include support for the CPLD watchdog
++ included on Technologic Systems SBC.
++
++ NOTE: timeout value is given in milliseconds, not in seconds.
++
++ To compile this driver as a module, choose M here: the
++ module will be called ts72xx_wdt.
++
+ # X86 (i386 + ia64 + x86_64) Architecture
+
+ config ACQUIRE_WDT
+Index: linux-2.6.22/drivers/char/watchdog/Makefile
+===================================================================
+--- linux-2.6.22.orig/drivers/char/watchdog/Makefile 2007-08-30 01:33:00.000000000 +0200
++++ linux-2.6.22/drivers/char/watchdog/Makefile 2007-08-30 01:33:10.000000000 +0200
+@@ -34,6 +34,7 @@
+ obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o
+ obj-$(CONFIG_MPCORE_WATCHDOG) += mpcore_wdt.o
+ obj-$(CONFIG_EP93XX_WATCHDOG) += ep93xx_wdt.o
++obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o
+ obj-$(CONFIG_PNX4008_WATCHDOG) += pnx4008_wdt.o
+
+ # X86 (i386 + ia64 + x86_64) Architecture
+Index: linux-2.6.22/drivers/char/watchdog/ts72xx_wdt.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.22/drivers/char/watchdog/ts72xx_wdt.c 2007-08-30 01:33:10.000000000 +0200
+@@ -0,0 +1,332 @@
++/*
++ * TS-72xx Watchdog Driver for Technologic Systems boards.
++ *
++ * Based on ep93xx_wdt.c by Lehtiniemi <rayl@mail.com> &
++ * Alessandro Zummo <a.zummo@towertech.it>
++ * and ib700wdt.c by Charles Howes <chowes@vsol.net>
++ * and mpc83xx_wdt.c by Dave Updegraff <dave@cray.org> &
++ * Kumar Gala <galak@kernel.crashing.org>
++ *
++ * (c) Copyright 2006 Matthieu Crapet <mcrapet@gmail.com>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ *
++ * This driver only deals with native timeout provided by CPLD :
++ * 1/4s, 1/2s, 1s, 2s, 4s and 8s. No external timer is used.
++ * Notice that we must ping before modifying the control register.
++ */
++
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/fs.h>
++#include <linux/miscdevice.h>
++#include <linux/platform_device.h>
++#include <linux/init.h>
++#include <linux/watchdog.h>
++#include <asm/io.h>
++#include <asm/uaccess.h>
++#include <asm/system.h>
++#include <asm/mach-types.h>
++
++#define WATCHDOG_VERSION "0.2"
++#define PFX "ts72xx_wdt: "
++
++#define WATCHDOG_TIMEOUT 8000 /* 8 seconds */
++#define WDT_IN_USE 0
++#define WDT_OK_TO_CLOSE 1
++
++static unsigned long ts72xx_wdt_status;
++static unsigned char ts72xx_wdt_cpld_value = 0x7;
++static int nowayout = WATCHDOG_NOWAYOUT;
++static int timeout = WATCHDOG_TIMEOUT;
++
++static int ts72xx_wdt_times[12] = {
++ 6000, 3000, 1500, 750, 275, 0,
++ 8000, 4000, 2000, 1000, 500, 250
++};
++
++static void __iomem *control_register;
++static void __iomem *feed_register;
++
++
++/*
++ * Kernel methods.
++ */
++
++static inline void ts72xx_wdt_ping(void)
++{
++ __raw_writew(0x05, feed_register);
++}
++
++static inline void ts72xx_wdt_enable(void)
++{
++ __raw_writew(0x05, feed_register);
++ __raw_writew(ts72xx_wdt_cpld_value, control_register);
++}
++
++static inline void ts72xx_wdt_disable(void)
++{
++ __raw_writew(0x05, feed_register);
++ __raw_writew(0, control_register);
++}
++
++static inline void ts72xx_parse_timeout(int value)
++{
++ unsigned char cpld_value = 0x7;
++ int i;
++
++ if ((value > 8000) || (value < 250)) {
++ timeout = WATCHDOG_TIMEOUT;
++ printk(KERN_INFO PFX "Timeout value out of range, set to %d\n", timeout);
++ } else {
++ for (i = 0; i < 6; i++) {
++ if (value >= ts72xx_wdt_times[i]) {
++ timeout = ts72xx_wdt_times[i+6];
++
++ if (value != timeout)
++ printk(KERN_INFO PFX "Timeout value rounded to %d\n", timeout);
++
++ if (i >= 3) /* cpld_value can't be 4 */
++ i++;
++
++ cpld_value = 7 - i;
++ break;
++ }
++ }
++ }
++
++ ts72xx_wdt_cpld_value = cpld_value;
++}
++
++static ssize_t ts72xx_wdt_write(struct file *file, const char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ /* Can't seek (pwrite) on this device */
++ if (*ppos != file->f_pos)
++ return -ESPIPE;
++
++ if (count) {
++ if (!nowayout) {
++ size_t i;
++
++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status);
++
++ for (i = 0; i != count; i++) {
++ char c;
++
++ if (get_user(c, buf + i))
++ return -EFAULT;
++
++ if (c == 'V')
++ set_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status);
++ else
++ clear_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status);
++ }
++ }
++ ts72xx_wdt_ping();
++ }
++
++ return count;
++}
++
++static int ts72xx_wdt_ioctl(struct inode *inode, struct file *file,
++ unsigned int cmd, unsigned long arg)
++{
++ int new_margin;
++ int ret = -ENOIOCTLCMD;
++
++ static struct watchdog_info ident = {
++ .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE,
++ .firmware_version = 1,
++ .identity = "TS-72xx Watchdog",
++ };
++
++ switch (cmd) {
++ case WDIOC_GETSUPPORT:
++ ret = copy_to_user((struct watchdog_info __user *)arg, &ident,
++ sizeof(ident)) ? -EFAULT : 0;
++ break;
++
++ case WDIOC_GETSTATUS:
++ case WDIOC_GETBOOTSTATUS:
++ ret = put_user(0, (int __user *)arg);
++ break;
++
++ case WDIOC_KEEPALIVE:
++ ts72xx_wdt_ping();
++ ret = 0;
++ break;
++
++ case WDIOC_SETTIMEOUT:
++ if (get_user(new_margin, (int __user *)arg))
++ return -EFAULT;
++
++ ts72xx_parse_timeout(new_margin);
++ ts72xx_wdt_enable();
++ /* Fall */
++
++ case WDIOC_GETTIMEOUT:
++ ret = put_user(timeout, (int __user *)arg);
++ break;
++ }
++
++ return ret;
++}
++
++static int ts72xx_wdt_open(struct inode *inode, struct file *file)
++{
++ if (test_and_set_bit(WDT_IN_USE, &ts72xx_wdt_status))
++ return -EBUSY;
++
++ if (nowayout) {
++ __module_get(THIS_MODULE);
++ }
++
++ ts72xx_wdt_enable();
++ ts72xx_wdt_ping();
++
++ return nonseekable_open(inode, file);
++}
++
++static int ts72xx_wdt_close(struct inode *inode, struct file *file)
++{
++ if (test_bit(WDT_OK_TO_CLOSE, &ts72xx_wdt_status))
++ ts72xx_wdt_disable();
++ else
++ printk(KERN_CRIT PFX "Device file closed unexpectedly. "
++ "Will not stop the WDT!\n");
++
++ clear_bit(WDT_IN_USE, &ts72xx_wdt_status);
++
++ return 0;
++}
++
++/*
++ * Kernel Interfaces
++ */
++
++static struct file_operations ts72xx_wdt_fops = {
++ .owner = THIS_MODULE,
++ .llseek = no_llseek,
++ .write = ts72xx_wdt_write,
++ .ioctl = ts72xx_wdt_ioctl,
++ .open = ts72xx_wdt_open,
++ .release = ts72xx_wdt_close,
++};
++
++static struct miscdevice ts72xx_wdt_miscdev = {
++ .minor = WATCHDOG_MINOR,
++ .name = "watchdog",
++ .fops = &ts72xx_wdt_fops,
++};
++
++static void ts72xx_wdt_shutdown(struct platform_device *dev)
++{
++ ts72xx_wdt_disable();
++}
++
++static int __devinit ts72xx_wdt_probe(struct platform_device *dev)
++{
++ struct resource *r;
++ int ret;
++
++ if (!machine_is_ts72xx())
++ return -ENODEV;
++
++ r = platform_get_resource(dev, IORESOURCE_MEM, 0);
++
++ if (!r) {
++ ret = -ENODEV;
++ goto err_out;
++ }
++
++ control_register = ioremap(r->start, r->end - r->start + 1);
++
++ if (control_register == NULL) {
++ ret = -ENOMEM;
++ goto err_out;
++ }
++
++ r = platform_get_resource(dev, IORESOURCE_MEM, 1);
++
++ if (!r) {
++ ret = -ENODEV;
++ goto err_unmap1;
++ }
++
++ feed_register = ioremap(r->start, r->end - r->start + 1);
++
++ if (feed_register == NULL) {
++ ret = -ENOMEM;
++ goto err_unmap1;
++ }
++
++ ret = misc_register(&ts72xx_wdt_miscdev);
++ if (ret) {
++ printk(KERN_ERR PFX "cannot register miscdev on minor=%d "
++ "(err=%d), ep93xx_watchdog already loaded?!\n", WATCHDOG_MINOR, ret);
++ goto err_unmap2;
++ }
++
++ printk(KERN_INFO PFX "TS-72xx watchdog driver, v%s\n", WATCHDOG_VERSION);
++ ts72xx_parse_timeout(timeout);
++
++ return 0;
++
++err_unmap2:
++ iounmap(feed_register);
++err_unmap1:
++ iounmap(control_register);
++err_out:
++ return ret;
++}
++
++static int __devexit ts72xx_wdt_remove(struct platform_device *dev)
++{
++ misc_deregister(&ts72xx_wdt_miscdev);
++ iounmap(feed_register);
++ iounmap(control_register);
++
++ return 0;
++}
++
++static struct platform_driver ts72xx_wdt_driver = {
++ .probe = ts72xx_wdt_probe,
++ .remove = __devexit_p(ts72xx_wdt_remove),
++ .shutdown = ts72xx_wdt_shutdown,
++ .driver = {
++ .owner = THIS_MODULE,
++ .name = "ts72xx_wdt",
++ },
++};
++
++static int __init ts72xx_wdt_init(void)
++{
++ return platform_driver_register(&ts72xx_wdt_driver);
++}
++
++static void __exit ts72xx_wdt_exit(void)
++{
++ platform_driver_unregister(&ts72xx_wdt_driver);
++}
++
++module_init(ts72xx_wdt_init);
++module_exit(ts72xx_wdt_exit);
++
++#ifdef CONFIG_WATCHDOG_NOWAYOUT
++module_param(nowayout, int, 0);
++MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CONFIG_WATCHDOG_NOWAYOUT)");
++#endif
++
++module_param(timeout, int, 0);
++MODULE_PARM_DESC(timeout,"Watchdog timeout in milliseconds (250..8000, default=" __MODULE_STRING(WATCHDOG_TIMEOUT) ")");
++
++MODULE_AUTHOR("Matthieu Crapet <mcrapet@gmail.com>");
++MODULE_DESCRIPTION("TS-72xx watchdog driver");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
+Index: linux-2.6.22/include/asm-arm/arch-ep93xx/ts72xx.h
+===================================================================
+--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/ts72xx.h 2007-08-30 01:33:25.000000000 +0200
++++ linux-2.6.22/include/asm-arm/arch-ep93xx/ts72xx.h 2007-08-30 01:34:14.000000000 +0200
+@@ -68,6 +68,9 @@
+ #define TS72XX_RTC_DATA_PHYS_BASE 0x11700000
+ #define TS72XX_RTC_DATA_SIZE 0x00001000
+
++#define TS72XX_WATCHDOG_CONTROL_PHYS_BASE 0x23800000
++#define TS72XX_WATCHDOG_FEED_PHYS_BASE 0x23c00000
++
+ #ifndef __ASSEMBLY__
+ #include <asm/io.h>
+
diff --git a/packages/linux/linux-rp-2.6.22/defconfig-akita b/packages/linux/linux-rp-2.6.22/defconfig-akita
index edeaa414db..dd8cb8558f 100644
--- a/packages/linux/linux-rp-2.6.22/defconfig-akita
+++ b/packages/linux/linux-rp-2.6.22/defconfig-akita
@@ -743,6 +743,7 @@ CONFIG_NET_RADIO=y
#
# Wireless 802.11b ISA/PCI cards support
#
+CONFIG_WLAN_80211=y
CONFIG_HERMES=m
# CONFIG_ATMEL is not set
diff --git a/packages/linux/linux-rp-2.6.22/defconfig-c7x0 b/packages/linux/linux-rp-2.6.22/defconfig-c7x0
index c644187e96..d9b3e2b93f 100644
--- a/packages/linux/linux-rp-2.6.22/defconfig-c7x0
+++ b/packages/linux/linux-rp-2.6.22/defconfig-c7x0
@@ -757,6 +757,7 @@ CONFIG_NET_RADIO=y
#
# Wireless 802.11b ISA/PCI cards support
#
+CONFIG_WLAN_80211=y
CONFIG_HERMES=m
# CONFIG_ATMEL is not set
@@ -772,7 +773,6 @@ CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_CS=m
-CONFIG_NET_WIRELESS=y
#
# PCMCIA network device support
diff --git a/packages/linux/linux-rp_2.6.22.bb b/packages/linux/linux-rp_2.6.22.bb
index 03eca283b4..b36189d9fb 100644
--- a/packages/linux/linux-rp_2.6.22.bb
+++ b/packages/linux/linux-rp_2.6.22.bb
@@ -1,6 +1,6 @@
require linux-rp.inc
-PR = "r8"
+PR = "r9"
# Handy URLs
# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
diff --git a/packages/linux/linux/ts72xx/.mtn2git_empty b/packages/linux/linux/ts72xx/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux/ts72xx/.mtn2git_empty
diff --git a/packages/linux/linux/ts72xx/defconfig b/packages/linux/linux/ts72xx/defconfig
new file mode 100644
index 0000000000..75931d9cb1
--- /dev/null
+++ b/packages/linux/linux/ts72xx/defconfig
@@ -0,0 +1,1184 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.22.6
+# Wed Sep 5 00:08:45 2007
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+# CONFIG_GENERIC_GPIO is not set
+# CONFIG_GENERIC_TIME is not set
+# CONFIG_GENERIC_CLOCKEVENTS is not set
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# 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 is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+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_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# 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=y
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# 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_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+
+#
+# Cirrus EP93xx Implementation Options
+#
+CONFIG_CRUNCH=y
+
+#
+# EP93xx Platforms
+#
+# CONFIG_MACH_ADSSPHERE is not set
+CONFIG_MACH_EDB9302=y
+# CONFIG_MACH_EDB9302A is not set
+# CONFIG_MACH_EDB9312 is not set
+CONFIG_MACH_EDB9315=y
+CONFIG_MACH_EDB9315A=y
+CONFIG_MACH_GESBC9312=y
+# CONFIG_MACH_MICRO9 is not set
+# CONFIG_MACH_MICRO9H is not set
+# CONFIG_MACH_MICRO9M is not set
+# CONFIG_MACH_MICRO9L is not set
+CONFIG_MACH_TS72XX=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM920T=y
+CONFIG_CPU_32v4T=y
+CONFIG_CPU_ABRT_EV4T=y
+CONFIG_CPU_CACHE_V4WT=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_OUTER_CACHE is not set
+CONFIG_ARM_VIC=y
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+# 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_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyAM0,115200 ip=192.168.1.3:192.168.1.2:192.168.1.2:255.255.255.0 root=/dev/nfs nfsroot=192.168.1.2:/media/data/devel/om2007.2/ts72xx/tmp/deploy/glibc/images/ts72xx/nfs_root"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+CONFIG_FPE_NWFPE_XP=y
+# 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
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=y
+# CONFIG_NET_KEY_MIGRATE 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=y
+# 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=y
+# 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=y
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+CONFIG_INET6_XFRM_MODE_TUNNEL=y
+CONFIG_INET6_XFRM_MODE_BEET=y
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# 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_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_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL 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
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+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_BLKDEVS=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
+# CONFIG_SSFDC 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 is not set
+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=y
+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=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=1
+# CONFIG_MTD_ARM_INTEGRATOR 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
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_TS7250=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_ATA is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# 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
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_EP93XX_ETH=y
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET_MII is not set
+# CONFIG_USB_USBNET is not set
+# 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 is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL010=y
+CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
+# CONFIG_SERIAL_AMBA_PL011 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_EP93XX_WATCHDOG is not set
+CONFIG_TS72XX_WATCHDOG=y
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TINY_USB is not set
+# CONFIG_I2C_EP93XX is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+CONFIG_I2C_DEBUG_CORE=y
+CONFIG_I2C_DEBUG_ALGO=y
+CONFIG_I2C_DEBUG_BUS=y
+CONFIG_I2C_DEBUG_CHIP=y
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+# CONFIG_HWMON is not set
+
+#
+# Misc devices
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_EP93XX=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_FB 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=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=y
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_CONSOLE=y
+# CONFIG_USB_SERIAL_GENERIC is not set
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+# CONFIG_USB_SERIAL_CP2101 is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OPTION is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_M48T86=y
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_EP93XX=y
+# CONFIG_RTC_DRV_PL031 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=y
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_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_INOTIFY_USER=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 is not set
+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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR 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_SUNRPC_BIND34 is not set
+# 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=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# 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
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+CONFIG_DEBUG_SLAB=y
+# CONFIG_DEBUG_SLAB_LEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+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
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/packages/linux/linux_2.6.22+2.6.23-rc5.bb b/packages/linux/linux_2.6.22+2.6.23-rc5.bb
new file mode 100644
index 0000000000..5807335964
--- /dev/null
+++ b/packages/linux/linux_2.6.22+2.6.23-rc5.bb
@@ -0,0 +1,34 @@
+require linux.inc
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_ts72xx = "-1"
+
+PR = "r0"
+
+BASE_KERNEL_VERSION = "2.6.22"
+KERNEL_VERSION = "2.6.23-rc5"
+KERNEL_RELEASE = "2.6.23-rc5"
+
+PR = "r0"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${BASE_KERNEL_VERSION}.tar.bz2 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-${KERNEL_VERSION}.bz2;patch=1 \
+ file://defconfig \
+ "
+
+SRC_URI_append_ts72xx = "\
+ file://ep93xx-gpio-interrupt-debounce.diff;patch=1 \
+ file://ep93xx-i2c-bus.diff;patch=1 \
+ file://ep93xx-i2c.diff;patch=1 \
+ file://ep93xx-leds.diff;patch=1 \
+ file://ep93xx-serial-uartbaud.diff;patch=1 \
+ file://ep93xx-serial-clocks.diff;patch=1 \
+ file://ep93xx-timer-accuracy.diff;patch=1 \
+ file://ep93xx-maverick-uniqid.patch;patch=1 \
+ file://ts72xx-nfbit-fix.patch;patch=1 \
+ file://ts72xx-machine-id-fix.patch;patch=1 \
+ file://ts72xx-watchdog.patch;patch=1 \
+ file://ts72xx-use-cpld-reset.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/linux-2.6.22"
diff --git a/packages/linux/linux_2.6.22.6.bb b/packages/linux/linux_2.6.22.6.bb
new file mode 100644
index 0000000000..2d0bb71c14
--- /dev/null
+++ b/packages/linux/linux_2.6.22.6.bb
@@ -0,0 +1,28 @@
+require linux.inc
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_ts72xx = "1"
+
+PR = "r0"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.bz2;patch=1 \
+ file://defconfig \
+ "
+
+SRC_URI_append_ts72xx = "\
+ file://ep93xx-gpio-interrupt-debounce.diff;patch=1 \
+ file://ep93xx-i2c-bus.diff;patch=1 \
+ file://ep93xx-i2c.diff;patch=1 \
+ file://ep93xx-leds.diff;patch=1 \
+ file://ep93xx-serial-uartbaud.diff;patch=1 \
+ file://ep93xx-serial-clocks.diff;patch=1 \
+ file://ep93xx-timer-accuracy.diff;patch=1 \
+ file://ep93xx-maverick-uniqid.patch;patch=1 \
+ file://ts72xx-nfbit-fix.patch;patch=1 \
+ file://ts72xx-machine-id-fix.patch;patch=1 \
+ file://ts72xx-watchdog.patch;patch=1 \
+ file://ts72xx-use-cpld-reset.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/linux-2.6.22"
diff --git a/packages/madwifi/madwifi-ng_r2702-20070903.bb b/packages/madwifi/madwifi-ng_r2702-20070903.bb
new file mode 100644
index 0000000000..cf614c96ae
--- /dev/null
+++ b/packages/madwifi/madwifi-ng_r2702-20070903.bb
@@ -0,0 +1,14 @@
+# Bitbake recipe for the madwifi-ng driver
+
+# Don't use this unless you know what you're doing -- this version does
+# *NOT* build on BE kernels.
+DEFAULT_PREFERENCE = "-1"
+
+# Disable stripping of kernel modules, since this action strips too
+# much out, and the resulting module won't load.
+INHIBIT_PACKAGE_STRIP = "1"
+
+require madwifi-ng_r.inc
+
+# PR set after the include, to override what's set in the included file.
+PR = "r0"
diff --git a/packages/maemo3/hildon-1/.mtn2git_empty b/packages/maemo3/hildon-1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/maemo3/hildon-1/.mtn2git_empty
diff --git a/packages/maemo3/hildon-1/buttonbox.patch b/packages/maemo3/hildon-1/buttonbox.patch
new file mode 100644
index 0000000000..cfea60d000
--- /dev/null
+++ b/packages/maemo3/hildon-1/buttonbox.patch
@@ -0,0 +1,11 @@
+--- /tmp/hildon-code-dialog.c 2007-08-07 11:46:03.000000000 +0200
++++ hildon-1/src/hildon-code-dialog.c 2007-08-07 11:46:16.468400000 +0200
+@@ -277,7 +277,7 @@
+ gtk_container_add (GTK_CONTAINER (priv->buttons[3][2]), image1);
+ dialog_action_area1 = GTK_DIALOG (dialog)->action_area;
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1),
+- GTK_BUTTONBOX_CENTER);
++ GTK_BUTTONBOX_DEFAULT);
+
+ okButton = gtk_dialog_add_button (GTK_DIALOG (dialog) ,DEVICELOCK_OK,
+ GTK_RESPONSE_OK);
diff --git a/packages/maemo3/hildon-1_svn.bb b/packages/maemo3/hildon-1_svn.bb
new file mode 100644
index 0000000000..c5c01792ca
--- /dev/null
+++ b/packages/maemo3/hildon-1_svn.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Hildon widget library"
+LICENSE = "LGPL"
+
+DEPENDS = "gconf-dbus esound gtk+"
+
+PV = "1.0.12+svnr${SRCREV}"
+
+SRC_URI = "svn://stage.maemo.org/svn/maemo/projects/haf/trunk;module=hildon-1;proto=https \
+ file://buttonbox.patch;patch=1 "
+S = "${WORKDIR}/hildon-1"
+
+inherit autotools pkgconfig lib_package
+
+EXTRA_OECONF = "--with-maemo-gtk=no"
+
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/maemo3/libosso_1.20.bb b/packages/maemo3/libosso_1.20.bb
index 13daf0b10c..d5489c7e95 100644
--- a/packages/maemo3/libosso_1.20.bb
+++ b/packages/maemo3/libosso_1.20.bb
@@ -1,10 +1,13 @@
LICENSE = "LGPL"
+DESCRIPTION = "Nokia osso library"
-DEPENDS = "dbus-glib glib-2.0 outo"
+DEPENDS = "hildon-1 dbus-glib glib-2.0 outo"
+
+PR = "r1"
SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-1.tar.gz"
-inherit autotools pkgconfig
+inherit autotools pkgconfig lib_package
do_configure_prepend() {
diff --git a/packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch b/packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch
new file mode 100644
index 0000000000..29dc9c0ab6
--- /dev/null
+++ b/packages/matchbox-keyboard/files/matchbox-keyboard-applet.patch
@@ -0,0 +1,92 @@
+Index: applet/applet.c
+===================================================================
+--- applet/applet.c (revision 1633)
++++ applet/applet.c (working copy)
+@@ -1,30 +1,76 @@
++/*
++ * keyboard - Tray applet to toggle matchbox-keyboard's gtk-im
++ *
++ * Copyright 2007, Openedhand Ltd.
++ * Author Stefan Schmidt <stefan@openmoko.org>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the license.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ */
++
+ #include <gtk/gtk.h>
++#include <gtk/gtkeventbox.h>
+ #include <matchbox-panel/mb-panel.h>
+ #include <matchbox-panel/mb-panel-scaling-image.h>
+ #include <gtk-im/im-protocol.h>
+
++typedef struct {
++ GtkWidget *event_box;
++ gboolean show;
++} KeyboardApplet;
++
+ static void
+-on_toggled (GtkToggleButton *button)
++on_toggled (GtkWidget *event_box, GdkEventButton *event, KeyboardApplet *applet)
+ {
+- protocol_send_event (gtk_toggle_button_get_active (button) ?
+- INVOKE_KBD_SHOW : INVOKE_KBD_HIDE);
++
++ protocol_send_event (applet->show ? INVOKE_KBD_SHOW : INVOKE_KBD_HIDE);
++
++ if (applet->show)
++ applet->show = FALSE;
++ else
++ applet->show = TRUE;
+ }
+
++static void
++keyboard_applet_free (KeyboardApplet *applet)
++{
++ g_slice_free (KeyboardApplet, applet);
++}
++
+ G_MODULE_EXPORT GtkWidget *
+ mb_panel_applet_create (const char *id, GtkOrientation orientation)
+ {
+- GtkWidget *button, *image;
++ KeyboardApplet *applet;
++ MBPanelScalingImage *image;
++ //GtkImage *image;
+
+- button = gtk_toggle_button_new ();
+- gtk_widget_set_name (button, "MatchboxPanelKeyboard");
+- gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
++ /* Create applet data structure */
++ applet = g_slice_new (KeyboardApplet);
+
++ applet->event_box = gtk_event_box_new ();
++ gtk_event_box_set_visible_window (applet->event_box, FALSE);
++
++ gtk_widget_set_name (applet->event_box, "MatchboxPanelKeyboard");
++
+ image = mb_panel_scaling_image_new (orientation, "matchbox-keyboard");
+- gtk_container_add (GTK_CONTAINER (button), image);
+
+- g_signal_connect (button, "toggled", G_CALLBACK (on_toggled), NULL);
++ gtk_container_add (GTK_CONTAINER (applet->event_box), image);
+
+- gtk_widget_show_all (button);
++ g_object_weak_ref (G_OBJECT (applet->event_box),
++ (GWeakNotify) keyboard_applet_free, applet);
+
+- return button;
++ /* Toggle the on release event */
++ g_signal_connect (applet->event_box, "button-release-event",
++ G_CALLBACK (on_toggled), applet);
++
++ gtk_widget_show_all (applet->event_box);
++
++ return applet->event_box;
+ }
diff --git a/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb b/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb
index 0ecb5e947d..a0e35824b8 100644
--- a/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb
+++ b/packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb
@@ -6,10 +6,11 @@ RPROVIDES_${PN} = matchbox-keyboard
#DEFAULT_PREFERENCE = "-1"
SECTION = "x11"
PV = "0.0+svn${SRCDATE}"
-PR = "r2"
+PR = "r4"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-keyboard;proto=http \
- file://80matchboxkeyboard"
+ file://matchbox-keyboard-applet.patch;patch=1;pnum=0 \
+ file://80matchboxkeyboard"
SRC_URI_append_fic-gta01 = " file://fic-gta01-font-size.patch;patch=1"
diff --git a/packages/matchbox-keyboard/matchbox-keyboard_svn.bb b/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
index ba002869c7..27ea4aea1d 100644
--- a/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
+++ b/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
@@ -4,14 +4,14 @@ DEPENDS = "libfakekey expat libxft"
RCONFLICTS = matchbox-keyboard-inputmethod
RPROVIDES_${PN} = matchbox-keyboard-inputmethod
SECTION = "x11"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR="r6"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
file://smallscreen-fontsize.patch;patch=1 \
- file://2-Add-new-modifier--layout--Used-to-cycle-thru-all-available-layouts.patch;patch=1 \
- file://3-Changes-to-improve-layout-rendering--especially-after-adding-support-for.patch;patch=1 \
- file://4-Add-rendering-debug-logging.patch;patch=1 \
+# file://2-Add-new-modifier--layout--Used-to-cycle-thru-all-available-layouts.patch;patch=1 \
+# file://3-Changes-to-improve-layout-rendering--especially-after-adding-support-for.patch;patch=1 \
+# file://4-Add-rendering-debug-logging.patch;patch=1 \
file://5-Add-support-for-loading-multiple-independent-layouts.patch;patch=1 \
file://6-Add-layout-switch-key-to-all-layouts.patch;patch=1 \
"
@@ -26,5 +26,5 @@ EXTRA_OECONF = "--disable-cairo"
FILES_${PN} = "${bindir}/* \
${datadir}/applications \
${datadir}/pixmaps \
- ${datadir}/matchbox-keyboard"
+ ${datadir}/matchbox-keyboard"
diff --git a/packages/matchbox-panel/matchbox-panel_svn.bb b/packages/matchbox-panel/matchbox-panel_svn.bb
index 3ff258fe8f..e7fb3e6439 100644
--- a/packages/matchbox-panel/matchbox-panel_svn.bb
+++ b/packages/matchbox-panel/matchbox-panel_svn.bb
@@ -1,5 +1,5 @@
require matchbox-panel.inc
-PV = "0.9.2+svn${SRCDATE}"
+PV = "0.9.2+svnr${SRCREV}"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
diff --git a/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb b/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb
index 39b035bc7a..4972444211 100644
--- a/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb
+++ b/packages/matchbox-themes-extra/matchbox-theme-sato_svn.bb
@@ -3,7 +3,9 @@ LICENSE = "GPL"
DEPENDS = "matchbox-wm"
SECTION = "x11/wm"
-PV = "0.1+svn${SRCDATE}"
+DEFAULT_PREFERENCE = "-1"
+
+PV = "0.1+svnr${SRCREV}"
PR = "r0"
PACKAGE_ARCH = "all"
diff --git a/packages/matchbox2/matchbox-desktop-2_svn.bb b/packages/matchbox2/matchbox-desktop-2_svn.bb
index 31a6b9836d..8dc74ef509 100644
--- a/packages/matchbox2/matchbox-desktop-2_svn.bb
+++ b/packages/matchbox2/matchbox-desktop-2_svn.bb
@@ -3,7 +3,7 @@ LICENSE = "GPL"
SECTION = "x11/panels"
DEPENDS = "gtk+ startup-notification"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r0"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
diff --git a/packages/matchbox2/matchbox-panel-2_svn.bb b/packages/matchbox2/matchbox-panel-2_svn.bb
index 44d23e1a55..79fafff202 100644
--- a/packages/matchbox2/matchbox-panel-2_svn.bb
+++ b/packages/matchbox2/matchbox-panel-2_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "matchbox-panel-2 is a lightweight dock (system tray) application
LICENSE = "GPL"
SECTION = "x11/panels"
DEPENDS = "gtk+ apmd startup-notification"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r8"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
diff --git a/packages/misc-binary-only/prism-firmware.bb b/packages/misc-binary-only/prism-firmware.bb
index fefdb0ae22..903c55e15e 100644
--- a/packages/misc-binary-only/prism-firmware.bb
+++ b/packages/misc-binary-only/prism-firmware.bb
@@ -5,22 +5,24 @@ RDEPENDS = "hostap-utils"
RREPLACES = "prism3-firmware prism3-support"
RCONFLICTS = "prism3-firmware prism3-support"
PACKAGE_ARCH = "all"
-PR = "r2"
+PR = "r3"
-SRC_URI = "http://www.red-bean.com/~proski/firmware/Latest-prism.tar.bz2 \
+SRC_URI = "http://www.red-bean.com/~proski/firmware/primary.tar.bz2 \
+ http://www.red-bean.com/~proski/firmware/1.7.4.tar.bz2 \
file://prism-fw.sh \
file://hostap.rules"
-S = "${WORKDIR}/Latest-prism/"
-
do_install() {
install -d ${D}${base_libdir}/firmware/
install -d ${D}${base_libdir}/udev/
install -d ${D}${sysconfdir}/pcmcia/
install -d ${D}${sysconfdir}/udev/rules.d/
- install -m 0644 primary-RAM/*.hex ${D}${base_libdir}/firmware/
- install -m 0644 secondary-RAM/rf010804.hex ${D}${base_libdir}/firmware/
+ install -m 0644 ${WORKDIR}/primary/af010104.hex ${D}${base_libdir}/firmware/
+ install -m 0644 ${WORKDIR}/primary/ak010104.hex ${D}${base_libdir}/firmware/
+ install -m 0644 ${WORKDIR}/primary/pm010102.hex ${D}${base_libdir}/firmware/
+
+ install -m 0644 ${WORKDIR}/1.7.4/rf010704.hex ${D}${base_libdir}/firmware/
install -m 0755 ${WORKDIR}/prism-fw.sh ${D}${base_libdir}/udev/
install -m 0644 ${WORKDIR}/hostap.rules ${D}${sysconfdir}/udev/rules.d/
diff --git a/packages/misc-binary-only/prism-firmware/prism-fw.sh b/packages/misc-binary-only/prism-firmware/prism-fw.sh
index 96a2457f33..619f612be1 100644
--- a/packages/misc-binary-only/prism-firmware/prism-fw.sh
+++ b/packages/misc-binary-only/prism-firmware/prism-fw.sh
@@ -4,7 +4,7 @@ CARD_ID=`/usr/sbin/hostap_diag $INTERFACE|grep NICID|awk '{print $2}'|sed -e 's/
# 801d cards lack even Primary firmware so we cannot use hostap_diag
PRI=/lib/firmware/pm010102.hex
-STA=/lib/firmware/rf010804.hex
+STA=/lib/firmware/rf010704.hex
if [ $CARD_ID = '800c' ] || [ $CARD_ID = '8013' ] || [ $CARD_ID = '8017' ] || \
[ $CARD_ID = '801b' ] || [ $CARD_ID = '8022' ] || [ $CARD_ID = '8023' ] ; then
diff --git a/packages/mono/mono-1.2.5/.mtn2git_empty b/packages/mono/mono-1.2.5/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/mono/mono-1.2.5/.mtn2git_empty
diff --git a/packages/mono/mono-1.2.4+1.2.5pre5/configure.patch b/packages/mono/mono-1.2.5/configure.patch
index 1553115c0e..1553115c0e 100644
--- a/packages/mono/mono-1.2.4+1.2.5pre5/configure.patch
+++ b/packages/mono/mono-1.2.5/configure.patch
diff --git a/packages/mono/mono-native_1.2.5pre5.bb b/packages/mono/mono-native_1.2.5.bb
index 4664cf8310..0f1391cd25 100644
--- a/packages/mono/mono-native_1.2.5pre5.bb
+++ b/packages/mono/mono-native_1.2.5.bb
@@ -1,4 +1,4 @@
-require mono_1.2.5pre5.inc
+require mono_1.2.5.inc
PR = "r2"
DEPENDS = "glib-2.0-native"
diff --git a/packages/mono/mono_1.2.5pre5.bb b/packages/mono/mono_1.2.5.bb
index 3ba24e9a5a..c0a4cfb223 100644
--- a/packages/mono/mono_1.2.5pre5.bb
+++ b/packages/mono/mono_1.2.5.bb
@@ -1,4 +1,4 @@
-require mono_1.2.5pre5.inc
+require mono_1.2.5.inc
#DEPENDS = "mono-native glib-2.0"
# for now, we skip the mono-native build -- just install
@@ -8,7 +8,7 @@ require mono_1.2.5pre5.inc
# installed
DEPENDS = "glib-2.0"
-PR = "r3"
+PR = "r0"
SRC_URI += "file://configure.patch;patch=1"
diff --git a/packages/mono/mono_1.2.5pre5.inc b/packages/mono/mono_1.2.5.inc
index 802e64156a..0e0df1caf2 100644
--- a/packages/mono/mono_1.2.5pre5.inc
+++ b/packages/mono/mono_1.2.5.inc
@@ -2,12 +2,10 @@ DESCRIPTION = "Mono Programming Language"
SECTION = "devel/mono"
LICENSE = "GPL LGPL X11"
-PV = "1.2.4+1.2.5pre5"
-
# the md5 sum check is required because Novell does not version their pre release versions of mono
# if the md5sum check fails, contact cbrake on #oe
# checksums are stored in conf/checksums.ini
-SRC_URI = "http://mono.ximian.com/monobuild/preview/sources/mono/mono-1.2.5.tar.bz2"
+SRC_URI = "http://go-mono.com/sources/mono/mono-1.2.5.tar.bz2"
S = "${WORKDIR}/mono-1.2.5"
diff --git a/packages/openmoko-apps/openmoko-appmanager_svn.bb b/packages/openmoko-apps/openmoko-appmanager_svn.bb
index d7a708b85c..a38341016b 100644
--- a/packages/openmoko-apps/openmoko-appmanager_svn.bb
+++ b/packages/openmoko-apps/openmoko-appmanager_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The OpenMoko Application Manager"
SECTION = "openmoko/applications"
DEPENDS += "ipkg"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-apps/openmoko-calculator_svn.bb b/packages/openmoko-apps/openmoko-calculator_svn.bb
index 19f3ed9e45..4650af0da0 100644
--- a/packages/openmoko-apps/openmoko-calculator_svn.bb
+++ b/packages/openmoko-apps/openmoko-calculator_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The OpenMoko Calculator Application"
SECTION = "openmoko/applications"
AUTHOR = "Rodolphe Ortalo <rodolphe.ortalo@free.fr>"
-PV = "0.0.3+svn${SRCDATE}"
+PV = "0.0.3+svnr${SRCREV}"
PR = "r0"
inherit openmoko
diff --git a/packages/openmoko-apps/openmoko-dialer_svn.bb b/packages/openmoko-apps/openmoko-dialer_svn.bb
index 75abce2274..04baaba393 100644
--- a/packages/openmoko-apps/openmoko-dialer_svn.bb
+++ b/packages/openmoko-apps/openmoko-dialer_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "The OpenMoko Dialer"
SECTION = "openmoko/applications"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-apps/openmoko-footer_svn.bb b/packages/openmoko-apps/openmoko-footer_svn.bb
index fed6f99455..c606bb6be8 100644
--- a/packages/openmoko-apps/openmoko-footer_svn.bb
+++ b/packages/openmoko-apps/openmoko-footer_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "The OpenMoko Footer"
SECTION = "openmoko/applications"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-apps/openmoko-messages_svn.bb b/packages/openmoko-apps/openmoko-messages_svn.bb
index 948560bd52..729cd4df80 100644
--- a/packages/openmoko-apps/openmoko-messages_svn.bb
+++ b/packages/openmoko-apps/openmoko-messages_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The OpenMoko Messaging Application"
SECTION = "openmoko/applications"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
PR = "r2"
inherit openmoko
diff --git a/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb b/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb
index 0d1456541d..2378c8ce44 100644
--- a/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb
+++ b/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The OpenMoko Media Player"
SECTION = "openmoko/applications"
DEPENDS += "alsa-lib dbus-glib id3lib libvorbis"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
PR = "r1"
inherit openmoko
diff --git a/packages/openmoko-apps/openmoko-taskmanager_svn.bb b/packages/openmoko-apps/openmoko-taskmanager_svn.bb
index 5f313f170e..f81bae1c88 100644
--- a/packages/openmoko-apps/openmoko-taskmanager_svn.bb
+++ b/packages/openmoko-apps/openmoko-taskmanager_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "The OpenMoko Task Manager"
SECTION = "openmoko/applications"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-base/openmoko-common_svn.bb b/packages/openmoko-base/openmoko-common_svn.bb
index e72d325bb9..8dc1cae549 100644
--- a/packages/openmoko-base/openmoko-common_svn.bb
+++ b/packages/openmoko-base/openmoko-common_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Common files for the OpenMoko distribution"
SECTION = "openmoko/base"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r1"
inherit openmoko-base
diff --git a/packages/openmoko-base/openmoko-icon-theme-standard_svn.bb b/packages/openmoko-base/openmoko-icon-theme-standard_svn.bb
index a7f62b31c0..e98d0076c8 100644
--- a/packages/openmoko-base/openmoko-icon-theme-standard_svn.bb
+++ b/packages/openmoko-base/openmoko-icon-theme-standard_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Standard Gtk+ icon theme for the OpenMoko distribution"
SECTION = "openmoko/base"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r1"
inherit openmoko-base autotools
diff --git a/packages/openmoko-base/openmoko-libs_svn.bb b/packages/openmoko-base/openmoko-libs_svn.bb
index a7b5387a99..d3dbeb0e1f 100644
--- a/packages/openmoko-base/openmoko-libs_svn.bb
+++ b/packages/openmoko-base/openmoko-libs_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "openmoko-libs is a set of libraries implementing a Gtk+ based app
SECTION = "openmoko/libs"
LICENSE = "LGPL"
DEPENDS += "gtk+ eds-dbus libgsmd libxosd"
-PV = "0.4+svn${SRCDATE}"
+PV = "0.4+svnr${SRCREV}"
PR = "r0"
inherit openmoko
diff --git a/packages/openmoko-base/openmoko-session_svn.bb b/packages/openmoko-base/openmoko-session_svn.bb
index 7acc8fae1c..128473eae3 100644
--- a/packages/openmoko-base/openmoko-session_svn.bb
+++ b/packages/openmoko-base/openmoko-session_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Matchbox session files for OpenMoko"
SECTION = "openmoko/base"
RDEPENDS = "matchbox-panel-2 matchbox-wm openmoko-today gconf"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r0"
inherit openmoko-base
diff --git a/packages/openmoko-base/openmoko-sound-theme-standard_svn.bb b/packages/openmoko-base/openmoko-sound-theme-standard_svn.bb
index 39b1e8d143..f521fe1de6 100644
--- a/packages/openmoko-base/openmoko-sound-theme-standard_svn.bb
+++ b/packages/openmoko-base/openmoko-sound-theme-standard_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Standard sound theme for the OpenMoko distribution"
SECTION = "openmoko/base"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r0"
inherit openmoko-base autotools
diff --git a/packages/openmoko-base/openmoko-theme-standard-qvga_svn.bb b/packages/openmoko-base/openmoko-theme-standard-qvga_svn.bb
index 44c296f258..0c2c8da9a8 100644
--- a/packages/openmoko-base/openmoko-theme-standard-qvga_svn.bb
+++ b/packages/openmoko-base/openmoko-theme-standard-qvga_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Standard Gtk+ theme for the OpenMoko distribution, qvga version"
SECTION = "openmoko/base"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r0"
inherit openmoko-base
diff --git a/packages/openmoko-base/openmoko-theme-standard_svn.bb b/packages/openmoko-base/openmoko-theme-standard_svn.bb
index 8bf59ac707..542e80fc7e 100644
--- a/packages/openmoko-base/openmoko-theme-standard_svn.bb
+++ b/packages/openmoko-base/openmoko-theme-standard_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Standard Gtk+ theme for the OpenMoko distribution"
SECTION = "openmoko/base"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r5"
inherit openmoko-base
diff --git a/packages/openmoko-examples/openmoko-finger-demo_svn.bb b/packages/openmoko-examples/openmoko-finger-demo_svn.bb
index e54f8c06bc..7d0af4c04f 100644
--- a/packages/openmoko-examples/openmoko-finger-demo_svn.bb
+++ b/packages/openmoko-examples/openmoko-finger-demo_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "An example finger application for OpenMoko"
SECTION = "openmoko/examples"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb b/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb
index 9f80fbf7dc..0df3a1968a 100644
--- a/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb
+++ b/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "A simple example panel plugin for OpenMoko"
SECTION = "openmoko/examples"
DEPENDS += "libmatchbox"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
PR = "r1"
diff --git a/packages/openmoko-examples/openmoko-panel-demo_svn.bb b/packages/openmoko-examples/openmoko-panel-demo_svn.bb
index 6121bcccbc..5c346f8bb9 100644
--- a/packages/openmoko-examples/openmoko-panel-demo_svn.bb
+++ b/packages/openmoko-examples/openmoko-panel-demo_svn.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "An example panel plugin for OpenMoko"
SECTION = "openmoko/examples"
DEPENDS += "libmatchbox"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb b/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb
index 1ba2f95072..8701cc18e8 100644
--- a/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb
+++ b/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "A simple stylus application example for OpenMoko"
SECTION = "openmoko/examples"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-examples/openmoko-stylus-demo_svn.bb b/packages/openmoko-examples/openmoko-stylus-demo_svn.bb
index a0ec4721c2..6ba32215a5 100644
--- a/packages/openmoko-examples/openmoko-stylus-demo_svn.bb
+++ b/packages/openmoko-examples/openmoko-stylus-demo_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "An example stylus application for OpenMoko"
SECTION = "openmoko/examples"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
inherit openmoko
diff --git a/packages/openmoko-inputmethods/openmoko-keyboard_svn.bb b/packages/openmoko-inputmethods/openmoko-keyboard_svn.bb
index 58f25ab0b6..2231e22db1 100644
--- a/packages/openmoko-inputmethods/openmoko-keyboard_svn.bb
+++ b/packages/openmoko-inputmethods/openmoko-keyboard_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Matchbox virtual keyboard for X11 - OpenMoko fork"
LICENSE = "GPL"
DEPENDS = "libfakekey expat libxft"
SECTION = "openmoko/inputmethods"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r1"
inherit openmoko autotools pkgconfig gettext
diff --git a/packages/openmoko-pim/openmoko-contacts_svn.bb b/packages/openmoko-pim/openmoko-contacts_svn.bb
index 0ee27ef73c..bdcbeaf519 100644
--- a/packages/openmoko-pim/openmoko-contacts_svn.bb
+++ b/packages/openmoko-pim/openmoko-contacts_svn.bb
@@ -4,7 +4,7 @@ SECTION = "openmoko/pim"
DEPENDS += "glib-2.0 gtk+ libglade eds-dbus gnome-vfs openmoko-libs"
RDEPENDS = "gnome-vfs-plugin-file libedata-book"
RRECOMMENDS = "gnome-vfs-plugin-http"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r3"
inherit openmoko
diff --git a/packages/openmoko-pim/openmoko-dates_svn.bb b/packages/openmoko-pim/openmoko-dates_svn.bb
index 5d52871ecd..7bfd42c3b6 100644
--- a/packages/openmoko-pim/openmoko-dates_svn.bb
+++ b/packages/openmoko-pim/openmoko-dates_svn.bb
@@ -3,7 +3,7 @@ SECTION = "openmoko/pim"
LICENSE = "GPL"
DEPENDS = "glib-2.0 gtk+ libglade eds-dbus openmoko-libs"
RDEPENDS = "libedata-cal"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r9"
inherit gnome autotools pkgconfig gtk-icon-cache
diff --git a/packages/openmoko-pim/openmoko-tasks_svn.bb b/packages/openmoko-pim/openmoko-tasks_svn.bb
index b3c627e621..ca2385ff78 100644
--- a/packages/openmoko-pim/openmoko-tasks_svn.bb
+++ b/packages/openmoko-pim/openmoko-tasks_svn.bb
@@ -3,7 +3,7 @@ SECTION = "openmoko/pim"
LICENSE = "GPL"
DEPENDS = "glib-2.0 gtk+ libglade eds-dbus openmoko-libs"
RDEPENDS = "libedata-cal"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
PR = "r0"
inherit gnome autotools pkgconfig gtk-icon-cache
diff --git a/packages/openmoko-pim/openmoko-today_svn.bb b/packages/openmoko-pim/openmoko-today_svn.bb
index da5a961671..4e2b2ef374 100644
--- a/packages/openmoko-pim/openmoko-today_svn.bb
+++ b/packages/openmoko-pim/openmoko-today_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "OpenMoko Today application."
SECTION = "openmoko/pim"
LICENSE = "GPL"
DEPENDS = "openmoko-libs eds-dbus startup-notification"
-PV = "0.1+svn${SRCDATE}"
+PV = "0.1+svnr${SRCREV}"
inherit autotools pkgconfig gtk-icon-cache openmoko
diff --git a/packages/openmoko2/libmokopanelui2_svn.bb b/packages/openmoko2/libmokopanelui2_svn.bb
index bfeb22fd7b..03159cc864 100644
--- a/packages/openmoko2/libmokopanelui2_svn.bb
+++ b/packages/openmoko2/libmokopanelui2_svn.bb
@@ -1,11 +1,10 @@
SECTION = "openmoko/libs"
-DEPENDS = "gtk+"
-PV = "0.1.0+svn${SVNREV}"
-PR = "r1"
+DEPENDS = "gtk+ matchbox-panel-2"
+PV = "0.3.0+svn${SVNREV}"
+PR = "r0"
inherit openmoko2
do_stage() {
autotools_stage_all
}
-
diff --git a/packages/openmoko2/openmoko-common2_svn.bb b/packages/openmoko2/openmoko-common2_svn.bb
index f54a23de18..0cf7f763cb 100644
--- a/packages/openmoko2/openmoko-common2_svn.bb
+++ b/packages/openmoko2/openmoko-common2_svn.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Common files for the OpenMoko distribution"
SECTION = "openmoko/base"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r3"
inherit openmoko2
diff --git a/packages/openmoko2/openmoko-mediaplayer2_svn.bb b/packages/openmoko2/openmoko-mediaplayer2_svn.bb
index 871416c066..e353bcbaa7 100644
--- a/packages/openmoko2/openmoko-mediaplayer2_svn.bb
+++ b/packages/openmoko2/openmoko-mediaplayer2_svn.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "A media player for OpenMoko"
SECTION = "openmoko/tools"
DEPENDS = "libmokoui2 expat gstreamer libspiff"
+RDEPENDS = "gst-meta-audio"
PV = "0.1.0+svn${SVNREV}"
-PR = "r0"
+PR = "r1"
inherit openmoko2
FILES_${PN} += "${datadir}/openmoko-mediaplayer"
-
diff --git a/packages/openmoko2/openmoko-session2.bb b/packages/openmoko2/openmoko-session2.bb
index 31d38382df..de2d7cdff6 100644
--- a/packages/openmoko2/openmoko-session2.bb
+++ b/packages/openmoko2/openmoko-session2.bb
@@ -4,7 +4,7 @@ SECTION = "x11"
RDEPENDS = "matchbox-common matchbox-applet-startup-monitor matchbox-panel-2"
RDEPENDS += "openmoko-common2 openmoko-today2 openmoko-dialer2"
RCONFLICTS = "openmoko-session"
-PR = "r30"
+PR = "r31"
SRC_URI = "file://etc"
S = ${WORKDIR}
diff --git a/packages/openmoko2/openmoko-session2/etc/matchbox/session b/packages/openmoko2/openmoko-session2/etc/matchbox/session
index dee3e58051..4f2f8ae110 100755
--- a/packages/openmoko2/openmoko-session2/etc/matchbox/session
+++ b/packages/openmoko2/openmoko-session2/etc/matchbox/session
@@ -9,6 +9,6 @@ openmoko-dialer &
matchbox-window-manager -use_titlebar yes -use_desktop_mode decorated -theme openmoko-standard-2 -use_cursor $SHOWCURSOR $@ &
matchbox-panel-2 --start-applets systray,startup \
- --end-applets openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb,openmoko-panel-bt,openmoko-panel-clock --titlebar &
+ --end-applets openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb,openmoko-panel-bt,openmoko-panel-clock,keyboard --titlebar &
exec neod
diff --git a/packages/pango/pango.inc b/packages/pango/pango.inc
index e73fecbfb2..5189d950c1 100644
--- a/packages/pango/pango.inc
+++ b/packages/pango/pango.inc
@@ -8,7 +8,7 @@ EXTRA_AUTORECONF = ""
SECTION = "x11/libs"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libx11 libxft gtk-doc cairo"
+DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv virtual/libx11 libxft gtk-doc cairo"
PACKAGES_DYNAMIC = "pango-module-*"
diff --git a/packages/pxaregs/.mtn2git_empty b/packages/pxaregs/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/pxaregs/.mtn2git_empty
diff --git a/packages/pxaregs/pxaregs-1.14/.mtn2git_empty b/packages/pxaregs/pxaregs-1.14/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/pxaregs/pxaregs-1.14/.mtn2git_empty
diff --git a/packages/pxaregs/pxaregs-1.14/Makefile b/packages/pxaregs/pxaregs-1.14/Makefile
new file mode 100644
index 0000000000..00b7d52624
--- /dev/null
+++ b/packages/pxaregs/pxaregs-1.14/Makefile
@@ -0,0 +1,3 @@
+
+
+all: pxaregs
diff --git a/packages/pxaregs/pxaregs-1.14/i2c.patch b/packages/pxaregs/pxaregs-1.14/i2c.patch
new file mode 100644
index 0000000000..36983ec479
--- /dev/null
+++ b/packages/pxaregs/pxaregs-1.14/i2c.patch
@@ -0,0 +1,15 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -21,10 +21,6 @@
+ #include <fcntl.h>
+ #include <ctype.h>
+
+-#include <linux/i2c.h>
+-#include <linux/i2c-dev.h>
+-
+-
+ // fd for /dev/mem
+ static int fd = -1;
+
diff --git a/packages/pxaregs/pxaregs-1.14/munmap.patch b/packages/pxaregs/pxaregs-1.14/munmap.patch
new file mode 100644
index 0000000000..a9c4b95cf0
--- /dev/null
+++ b/packages/pxaregs/pxaregs-1.14/munmap.patch
@@ -0,0 +1,22 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -1794,7 +1794,7 @@ static int getmem(u32 addr)
+ regaddr = map + (addr & MAP_MASK);
+
+ val = *(u32*) regaddr;
+- munmap(0,MAP_SIZE);
++ munmap(map,MAP_SIZE);
+
+ return val;
+ }
+@@ -1829,7 +1829,7 @@ static void putmem(u32 addr, u32 val)
+ regaddr = map + (addr & MAP_MASK);
+
+ *(u32*) regaddr = val;
+- munmap(0,MAP_SIZE);
++ munmap(map,MAP_SIZE);
+ }
+
+ static u32 lastaddr = 0;
diff --git a/packages/pxaregs/pxaregs-1.14/serial.patch b/packages/pxaregs/pxaregs-1.14/serial.patch
new file mode 100644
index 0000000000..06853851d0
--- /dev/null
+++ b/packages/pxaregs/pxaregs-1.14/serial.patch
@@ -0,0 +1,14 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -78,6 +78,9 @@ static struct reg_info regs[] = {
+ { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" },
+ { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" },
+
++{ "HW_MCR", 0x41600010, 0, 0xffffffff, 'x', "HWUART Modem Control Register" },
++{ "HW_MSR", 0x41600018, 0, 0xffffffff, 'x', "HWUART Modem Status Register" },
++
+ { "PMCR", 0x40F00000, 0, 0xffffffff, 'x', "Power Manager Control Register (3-23)" },
+ { "PMCR_IDAE", 0x40F00000, 0, 0x00000001, 'd', "PM imprecise data abort abort signal" },
+
diff --git a/packages/pxaregs/pxaregs-1.14/usb.patch b/packages/pxaregs/pxaregs-1.14/usb.patch
new file mode 100644
index 0000000000..59f21fe3c1
--- /dev/null
+++ b/packages/pxaregs/pxaregs-1.14/usb.patch
@@ -0,0 +1,17 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -78,6 +78,12 @@ static struct reg_info regs[] = {
+ { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" },
+ { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" },
+
++{ "UP2OCR", 0x40600020, 0, 0xffffffff, 'x', "USB Port 2 Output Control Register" },
++{ "UP2OCR_SEOS", 0x40600020, 24, 7, 'x', "USB Port 2 Single-Ended Output Select" },
++{ "UP2OCR_HXOE", 0x40600020, 17, 1, 'x', "USB Port 2 Tranceiver OE" },
++{ "UP2OCR_HXS", 0x40600020, 16, 1, 'x', "USB Port 2 Tranceiver Output Select" },
++{ "UP2OCR_IDON", 0x40600020, 10, 1, 'x', "OTG ID Read Enable" },
++
+ { "HW_MCR", 0x41600010, 0, 0xffffffff, 'x', "HWUART Modem Control Register" },
+ { "HW_MSR", 0x41600018, 0, 0xffffffff, 'x', "HWUART Modem Status Register" },
+
diff --git a/packages/pxaregs/pxaregs_1.14.bb b/packages/pxaregs/pxaregs_1.14.bb
new file mode 100644
index 0000000000..d57dacef51
--- /dev/null
+++ b/packages/pxaregs/pxaregs_1.14.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Tool to display and modify PXA registers at runtime"
+LICENSE = "GPLv2"
+AUTHOR = "Holger Schurig <hs4233@mail.mn-solutions.de>"
+HOMEPAGE = "http://www.mn-logistik.de/unsupported/pxa250/"
+
+SRC_URI = "http://www.mn-logistik.de/unsupported/pxa250/pxaregs.c \
+ file://i2c.patch;pnum=1;patch=1 \
+ file://munmap.patch;pnum=1;patch=1 \
+ file://serial.patch;pnum=1;patch=1 \
+ file://usb.patch;pnum=1;patch=1 "
+
+S = "${WORKDIR}"
+
+do_compile() {
+ ${CC} pxaregs.c -o pxaregs ${CFLAGS}
+}
+
+do_install() {
+ install -d ${D}${sbindir}/
+ install -m 0755 pxaregs ${D}${sbindir}/
+}
diff --git a/packages/qte/qte-mt-static_2.3.10.bb b/packages/qte/qte-mt-static_2.3.10.bb
index 21feb25fef..c7d962343a 100644
--- a/packages/qte/qte-mt-static_2.3.10.bb
+++ b/packages/qte/qte-mt-static_2.3.10.bb
@@ -1,6 +1,8 @@
require qte-common_${PV}.inc
PR = "r8"
+DEFAULT_PREFERENCE = "-1"
+
EXTRA_OECONF += "-static -thread"
do_stage() {
diff --git a/packages/qte/qtopia-core_4.3.1.bb b/packages/qte/qtopia-core_4.3.1.bb
new file mode 100644
index 0000000000..73cfb7f6da
--- /dev/null
+++ b/packages/qte/qtopia-core_4.3.1.bb
@@ -0,0 +1,222 @@
+SUMMARY = "QtopiaCore"
+SECTION = "libs"
+LICENSE = "GPL"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+DEPENDS = "freetype tslib"
+
+PR = "r1"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz \
+ file://linux-oe-qmake.conf"
+
+S = "${WORKDIR}/qtopia-core-opensource-src-${PV}"
+
+inherit pkgconfig
+
+# Qmake gets confused by environment variables, as it builds both HOST
+# and TARGET objects. The correct compiler settings come from the mkspec
+# and are set with the OE_QMAKE_ variables
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = " MAKEFLAGS= "
+
+# This stuff could also be done by inheriting qmake, but I didn't want to
+# bother with the qmake separation from the Qtopia configure. This separation
+# is probably nothing more than a patch on the configure and setting some
+# environment variables to use our own qmake/moc/uic, but that's something
+# to figure out later.
+export OE_QMAKE_CC="${CC}"
+export OE_QMAKE_CFLAGS="${CFLAGS}"
+export OE_QMAKE_CXX="${CXX}"
+export OE_QMAKE_CXXFLAGS="-fno-exceptions ${CXXFLAGS}"
+export OE_QMAKE_LDFLAGS="${LDFLAGS}"
+export OE_QMAKE_LINK="${CXX}"
+export OE_QMAKE_AR="${AR}"
+export OE_QMAKE_RANLIB="${RANLIB}"
+export OE_QMAKE_STRIP="echo"
+export OE_QMAKE_RPATH="-Wl,-rpath-link,"
+export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
+export OE_QMAKE_INCDIR_QTOPIA="${QTOPIADIR}/include"
+export OE_QMAKE_LIBDIR_QTOPIA="${QTOPIADIR}/lib"
+
+require qte-functions.inc
+QT_ARCH := "${@qte_arch(d)}"
+
+# FIXME use info.bbclass once it has been commited
+QT_ENDIAN = "-little-endian"
+
+# We don't build the examples and demos atm. They're quite big and not used
+# frequently, only for testing maybe. Feel free to change and to package
+# them separately.
+QT_CONFIG_FLAGS = "-release \
+ -no-cups -no-accessibility \
+ -nomake demos -nomake examples -nomake tools -reduce-relocations \
+ -qt-mouse-tslib -qt-gfx-transformed -embedded ${QT_ARCH}"
+
+do_configure() {
+ # Hack to honor our compiler flags
+ sed -i s/-O2//g ${S}/mkspecs/*/qmake.conf
+ sed -i s/-O2//g ${S}/mkspecs/*/*/qmake.conf
+
+
+ # Install the OE build templates (something which might be done
+ # by inheriting qmake)
+ for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
+ do
+ install -d ${S}/mkspecs/$template
+ install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
+ ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
+ done
+
+ # The Qmake Makefile generation doesn't like these environment
+ # variables, as they mess up the HOST tools builds
+ unset CC
+ unset CXX
+ unset CFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+
+ # For rationale behind the installation locations, see remark above
+ echo yes | ./configure -v \
+ -prefix ${prefix} \
+ -bindir ${bindir} \
+ -libdir ${libdir} \
+ -docdir ${docdir}/qtopia \
+ -headerdir ${includedir} \
+ -plugindir ${datadir}/qtopia/plugins \
+ -datadir ${datadir} \
+ -translationdir ${datadir}/qtopia/translations \
+ -sysconfdir ${sysconfdir} \
+ -examplesdir ${bindir}/qtopia/examples \
+ -demosdir ${bindir}/qtopia/demos \
+ -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \
+ -xplatform linux-oe-g++ \
+ ${QT_CONFIG_FLAGS} \
+ -L${STAGING_LIBDIR} -I${STAGING_INCDIR}
+}
+
+#
+# Fixup some pkgconfig files
+# moc_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/moc
+# uic_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/uic
+#
+# Libs: -L${libdir} -lQtNetwork -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib $(LIBS_EXTRA) -lQtCore -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib -lm -lrt -lpthread -ldl
+#
+do_compile_append() {
+ cd ${S}/lib/pkgconfig
+ sed -i s#"-L${S}/lib"##g *.pc
+ sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# *.pc
+ sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# *.pc
+}
+
+do_stage_append() {
+ echo "Fixing up Qt"
+ cd ${STAGING_LIBDIR}/pkgconfig
+ sed -i s#"-L${S}/lib"##g Qt*.pc
+ sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# Qt*.pc
+ sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# Qt*.pc
+}
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+
+ # These are host binaries, we should only use them in staging
+ rm -rf ${D}/${bindir}
+ rm -rf ${D}/${datadir}/mkspecs
+
+ touch ${D}/${libdir}/fonts/fontdir
+}
+
+# We might want to package all the libraries separately, so you can really
+# fine-tune what to install. This is e.g. done in qt4-x11-free_4.1.2.bb.
+# What should these packages be called? I'm tempted to call them the same
+# as in qt4 version, as the API is supposed to be compatible, e.g.
+# libqtcore4 and libqtgui4. This will however conflict if you have QT and
+# Qtopia, but this is something you don't want anyway, I guess.
+# Another solution is making virtual/libqtfoo4, and DEPENDing on that one
+# and let both the PACKAGES in QT and Qtopia PROVIDE these. The packages
+# themselves could then be called libqtopiafoo4.
+# I'll postpone this discussion by not making separate Qtopia packages.
+
+# Also, I don't package the plugins and translations atm, I don't use them
+# and I don't feel like thinking about a sensible separation.
+
+PACKAGES =+ " libqtcore libqtcore-dev libqtcore-dbg \
+ libqtxml libqtxml-dev libqtxml-dbg \
+ libqtgui libqtgui-dev libqtgui-dbg \
+ libqtsql libqtsql-dev libqtsql-dbg \
+ libqtnetwork libqtnetwork-dev libqtnetwork-dbg \
+ libqtsvg libqtsvg-dev libqtsvg-dbg \
+ libqt3support libqt3support-dev libqt3support-dbg \
+ qtopia-core-plugins qtopia-core-plugins-dbg \
+ libqtscript libqtscript-dev libqtscript-dbg \
+ "
+
+PACKAGES += " ${PN}-fonts "
+
+# The default included fonts are around 75MB and consist of a number of
+# FreeType-renderable fonts as well as QPF (Qtopia Prerendered Fonts).
+# As FreeType is generally slow on embedded platforms, and 75MB is
+# quite huge, we downsize the fonts dir in the do_install. I've decided
+# to include only the QPF (Helvetica and Fixed), amounting to 500KB. This
+# also results in tremendously faster application startup time.
+FILES_libqtcore += " ${libdir}/fonts/helvetic* ${libdir}/fonts/fixed* ${D}/${libdir}/fonts/fontdir"
+FILES_${PN}-fonts = "${libdir}/fonts"
+
+FILES_qtopia-core-plugins += "${datadir}/qtopia/plugins/*/*.so"
+FILES_qtopia-core-plugins-dbg += "${datadir}/qtopia/plugins/*/.debug/*.so"
+
+FILES_libqtcore += "${libdir}/libQtCore.so.*"
+FILES_libqtxml += "${libdir}/libQtXml.so.*"
+FILES_libqtgui += "${libdir}/libQtGui.so.*"
+FILES_libqtsql += "${libdir}/libQtSql.so.*"
+FILES_libqtnetwork += "${libdir}/libQtNetwork.so.*"
+FILES_libqtsvg += "${libdir}/libQtSvg.so.*"
+FILES_libqt3support += "${libdir}/libQt3Support.so.*"
+FILES_libqtscript += "${libdir}/libQtScript.so.*"
+
+FILES_libqtcore-dev += "${libdir}/*QtCore.*"
+FILES_libqtxml-dev += "${libdir}/*QtXml.*"
+FILES_libqtgui-dev += "${libdir}/*QtGui.*"
+FILES_libqtsql-dev += "${libdir}/*QtSql.*"
+FILES_libqtnetwork-dev += "${libdir}/*QtNetwork.*"
+FILES_libqtsvg-dev += "${libdir}/*QtSvg.*"
+FILES_libqt3support-dev += "${libdir}/*Qt3Support.*"
+FILES_libqtscript-dev += "${libdir}/*QtScript.*"
+
+FILES_libqtcore-dbg += "${libdir}/.debug/libQtCore*"
+FILES_libqtxml-dbg += "${libdir}/.debug/libQtXml*"
+FILES_libqtgui-dbg += "${libdir}/.debug/libQtGui*"
+FILES_libqtsql-dbg += "${libdir}/.debug/libQtSql*"
+FILES_libqtnetwork-dbg += "${libdir}/.debug/libQtNetwork*"
+FILES_libqtsvg-dbg += "${libdir}/.debug/libQtSvg*"
+FILES_libqt3support-dbg += "${libdir}/.debug/libQt3Support*"
+FILES_libqtscript-dbg += "${libdir}/.debug/libQtScript*"
+
+
+python populate_packages_prepend() {
+ translationdir = bb.data.expand('${datadir}/qtopia/translations/', d)
+ do_split_packages(d, translationdir, '^qt_(.*)\.qm$', 'qtopia-translation-%s', 'Qtopia translation for %s', extra_depends='' )
+}
+
+
+
+STAGE_TEMP = "${WORKDIR}/temp-staging"
+do_stage() {
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake install INSTALL_ROOT=${STAGE_TEMP}
+
+ install -d ${STAGING_INCDIR}/qtopiacore4
+ install -d ${STAGING_LIBDIR}/qtopiacore4
+ cp -af ${STAGE_TEMP}/$includedir/* ${STAGING_INCDIR}/qtopiacore4/
+
+ for i in ${STAGE_TEMP}/${libdir}/*.la
+ do
+ oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .la) ${STAGING_LIBDIR}/qtopiacore4
+ done
+
+ rm -rf ${STAGE_TEMP}
+}
+
diff --git a/packages/samba/samba.inc b/packages/samba/samba.inc
index aa3083d1f6..bcae4e7885 100644
--- a/packages/samba/samba.inc
+++ b/packages/samba/samba.inc
@@ -1,6 +1,6 @@
SECTION = "console/network"
LICENSE = "GPL"
-DEPENDS = "readline"
+DEPENDS = "readline virtual/libiconv"
SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \
file://configure.patch;patch=1 \
@@ -10,6 +10,7 @@ S = "${WORKDIR}/samba-${PV}/source"
inherit autotools
EXTRA_OECONF='--disable-cups --with-readline=${STAGING_LIBDIR}/.. \
+ --with-libiconv=${STAGING_LIBDIR}/.. \
--without-ads --without-automount --with-smbmount'
PACKAGES =+ "libsmbclient libsmbclient-dev cifs cifs-doc"
diff --git a/packages/samba/samba_3.0.23c.bb b/packages/samba/samba_3.0.23c.bb
index 5317bcc62a..74f0593150 100644
--- a/packages/samba/samba_3.0.23c.bb
+++ b/packages/samba/samba_3.0.23c.bb
@@ -1,6 +1,8 @@
require samba.inc
inherit update-rc.d
+PR = "r1"
+
SRC_URI += "file://config-lfs.patch;patch=1 \
file://init \
file://quota.patch;patch=1;pnum=0 \
diff --git a/packages/scummvm/scummvm.inc b/packages/scummvm/scummvm.inc
index 9e977c2a04..b35e71374d 100644
--- a/packages/scummvm/scummvm.inc
+++ b/packages/scummvm/scummvm.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.scummvm.org"
SECTION = "games"
PRIORITY = "optional"
LICENSE = "GPL"
-PR = "r1"
+PR = "r4"
SRC_URI = "${SOURCEFORGE_MIRROR}/scummvm/scummvm-${PV}.tar.bz2"
@@ -11,7 +11,7 @@ inherit autotools
EXTRA_OECONF = "--host=${HOST_SYS} \
--backend=sdl \
- --with-sdl-prefix=${STAGING_BINDIR_CROSS}/.. \
+ --with-sdl-prefix=${STAGING_BINDIR_CROSS} \
--disable-alsa \
--prefix=${prefix} \
--with-ogg-prefix=${STAGING_LIBDIR}/.. \
diff --git a/packages/sphyrna/sphyrna_svn.bb b/packages/sphyrna/sphyrna_svn.bb
index 048d001905..d2e90cf8f2 100644
--- a/packages/sphyrna/sphyrna_svn.bb
+++ b/packages/sphyrna/sphyrna_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Sphyrna - Hammerhead Reverse Engineering"
HOMEPAGE = "http://projects.linuxtogo.org/projects/sphyrna"
LICENSE = "GPLv2"
DEPENDS = "readline"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r0"
SRC_URI = "svn://projects.linuxtogo.org/svn;module=sphyrna"
diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb
index f75cf3d450..f3e3ee8456 100644
--- a/packages/tasks/task-openmoko-feed.bb
+++ b/packages/tasks/task-openmoko-feed.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "OpenMoko: Misc. Feed Items"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r7"
+PR = "r8"
inherit task
@@ -21,7 +21,6 @@ RDEPENDS_task-openmoko-feed = "\
python-pygtk \
python-pyserial \
ruby \
- scummvm \
timezones \
tor \
vnc \
diff --git a/packages/tasks/task-openmoko.bb b/packages/tasks/task-openmoko.bb
index f28589b6b7..e47f5b22cf 100644
--- a/packages/tasks/task-openmoko.bb
+++ b/packages/tasks/task-openmoko.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "OpenMoko: Tasks for the OpenMoko Linux Distribution"
SECTION = "openmoko/base"
LICENSE = "MIT"
PROVIDES = "task-openmoko-everything"
-PR = "r60"
+PR = "r61"
inherit task
@@ -77,13 +77,13 @@ RDEPENDS_task-openmoko-ui = "\
# handle theming. FIXME: properly use machine database in a smart way,
# taking into account not only size but also PPI! Ultimately this might
# need recomputing some theme files and images on-the-fly :/ SVG and logical
-# theme description anyone?
-THEMES = "openmoko-icon-theme-standard2 openmoko-theme-standard2"
-THEMES_a780 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
-THEMES_e680 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
-THEMES_a1200 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
-THEMES_rokr2 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
-THEMES_rokr6 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
+# theme description anyone? Or simply Edje to the rescue! :D
+THEMES = "openmoko-icon-theme-standard2 openmoko-theme-standard2"
+THEMES_a780 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
+THEMES_e680 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
+THEMES_a1200 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
+THEMES_rokre2 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
+THEMES_rokre6 = "openmoko-icon-theme-standard2 openmoko-theme-standard2-qvga"
RDEPENDS_task-openmoko-ui += "${THEMES}"
@@ -98,6 +98,7 @@ RDEPENDS_task-openmoko-base = "\
# openmoko-appmanager \
matchbox-keyboard-inputmethod \
matchbox-keyboard-im \
+ matchbox-keyboard-applet \
matchbox-stroke \
openmoko-terminal2 \
openmoko-keyboard \
diff --git a/packages/tinymail/libtinymail_svn.bb b/packages/tinymail/libtinymail_svn.bb
index 6792154e7a..300fee2cfa 100644
--- a/packages/tinymail/libtinymail_svn.bb
+++ b/packages/tinymail/libtinymail_svn.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "TinyMail is an attempt to create an E-mail framework for mobile d
SECTION = "x11/utils"
LICENSE = "LGPL"
DEPENDS = "gtk+ glib-2.0 gnome-vfs gconf-dbus libgnomeui"
-PV = "0.0.1+svn${SRCDATE}"
+PV = "0.0.1+svnr${SRCREV}"
PR = "r3"
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/uboot/uboot-openmoko_svn.bb b/packages/uboot/uboot-openmoko_svn.bb
index 9b5dbb509b..e1575884c2 100644
--- a/packages/uboot/uboot-openmoko_svn.bb
+++ b/packages/uboot/uboot-openmoko_svn.bb
@@ -4,16 +4,18 @@ LICENSE = "GPL"
SECTION = "bootloader"
PRIORITY = "optional"
PROVIDES = "virtual/bootloader"
-PV = "1.2.0+git${SRCDATE}+svn${SRCDATE}"
+PV = "1.2.0+git${SRCDATE}+svnr${SRCREV}"
PR = "r0"
+SRCREV_FORMAT = "patches"
+
UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 smdk2440 hxd8 qt2410 gta02v1 gta02v2"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "\
- git://www.denx.de/git/u-boot.git/;protocol=git \
- svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=http \
+ git://www.denx.de/git/u-boot.git/;protocol=git;name=upstream \
+ svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=http;name=patches \
file://uboot-eabi-fix-HACK.patch \
file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \
"
diff --git a/packages/uclibc/uclibc_svn.bb b/packages/uclibc/uclibc_svn.bb
index 8607c571b2..d19c986a7d 100644
--- a/packages/uclibc/uclibc_svn.bb
+++ b/packages/uclibc/uclibc_svn.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.29"
-PV = "${UCLIBC_BASE}+svn${SRCDATE}"
+PV = "${UCLIBC_BASE}+svnr${SRCREV}"
PR = "r5"
#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
diff --git a/packages/webkit/webkit-gtk_svn.bb b/packages/webkit/webkit-gtk_svn.bb
index 8a6480d54f..7ec07c3816 100644
--- a/packages/webkit/webkit-gtk_svn.bb
+++ b/packages/webkit/webkit-gtk_svn.bb
@@ -1,10 +1,11 @@
-DEPENDS = "flex-native gperf-native gperf perl-native curl icu uicmoc4-native qmake2-native libxml2 sqlite3 cairo libxslt libidn gnutls gtk+"
+DEPENDS = "flex-native gperf-native gperf perl-native curl icu libxml2 sqlite3 cairo libxslt libidn gnutls gtk+"
+SRCREV_FORMAT = "webcore-rwebkit"
# Yes, this is wrong...
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+svnr${SRCREV}"
PR = "r1"
-inherit qmake qt4x11 pkgconfig
+inherit qmake2 pkgconfig
SRC_URI = "\
svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \
@@ -21,7 +22,7 @@ SRC_URI = "\
"
S = "${WORKDIR}/"
-do_configure_append() {
+do_configure() {
qmake2 -spec ${QMAKESPEC} CONFIG+=gdk-port CONFIG-=qt CONFIG-=release CONFIG+=debug
mkdir -p WebKitBuilds/Debug
cd WebKitBuilds/Debug
diff --git a/packages/xoo/xoo_svn.bb b/packages/xoo/xoo_svn.bb
index 71a39b057d..231122194b 100644
--- a/packages/xoo/xoo_svn.bb
+++ b/packages/xoo/xoo_svn.bb
@@ -4,7 +4,7 @@ It is intended for embedded developers that want to simulate a target device \
HOMEPAGE = "http://projects.o-hand.com/xoo"
LICENSE = "GPL"
DEPENDS = "virtual/libx11 libxtst gtk+ libglade"
-PV = "0.7+svn${SRCDATE}"
+PV = "0.7+svnr${SRCREV}"
PR = "r1"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=Xoo;proto=http \
diff --git a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
index d8a6c3d795..beb7b0f561 100644
--- a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
@@ -7,7 +7,7 @@ DEPENDS += "libxkbfile libxcalibrate"
PROVIDES = "virtual/xserver"
PE = "1"
-PR = "r1"
+PR = "r2"
FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-1.2.0:${FILE_DIRNAME}/xserver-kdrive"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
@@ -21,6 +21,5 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
S = "${WORKDIR}/xorg-server-${PV}"
-IMAGEON_OECONF = "--disable-imageon"
-IMAGEON_OECONF_arm = "--enable-imageon"
+EXTRA_OECONF += "--enable-imageon"
diff --git a/packages/xournal/xournal_0.4.bb b/packages/xournal/xournal_0.4.bb
new file mode 100644
index 0000000000..5a8a1b74b7
--- /dev/null
+++ b/packages/xournal/xournal_0.4.bb
@@ -0,0 +1,17 @@
+HOMEPAGE = "http://xournal.sf.net/"
+DESCRIPTION = "Xournal is an application for notetaking, sketching, keeping a journal using a stylus."
+DEPENDS = "gtk+ libgnomecanvas libgnomeprintui"
+SECTION = "x11"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://xournal.sourceforge.net/xournal-${PV}.tar.gz \
+ file://xournal.desktop"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -d ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/xournal.desktop ${D}${datadir}/applications/
+}
+
diff --git a/site/ix86-common b/site/ix86-common
index 00c544f382..226e2e0f79 100644
--- a/site/ix86-common
+++ b/site/ix86-common
@@ -166,6 +166,9 @@ libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no}
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
# libxfce4util
with_broken_putenv=${with_broken_putenv=no}