diff options
author | Rolf Leggewie <oe-devel@rolf.leggewie.biz> | 2007-05-06 16:09:44 +0000 |
---|---|---|
committer | Rolf Leggewie <oe-devel@rolf.leggewie.biz> | 2007-05-06 16:09:44 +0000 |
commit | cd1720fefd729bb1598d569442a17fb2054acc46 (patch) | |
tree | 1cb5f724286cc608ad96a883121a5e40a16cef82 | |
parent | 106b275a737d82c767dc18861b9c006db2e11ddd (diff) | |
parent | 33de73cb673b87938d734673c5fec3e5957250a7 (diff) |
merge of '4e038cbec73ce09bc146fb74f60b2c6d4359a29b'
and '61b65ffb0a858399f89407df40b6469b203bda44'
39 files changed, 1105 insertions, 89 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 30b164b734..c3a211eefd 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -219,7 +219,7 @@ def package_qa_check_rpath(file,name,d): #bb.note("???%s???" % bad_dir_test) for line in txt: #bb.note("===%s===" % line) - if bad_dir_test in line: + if bad_dir in line: package_qa_write_error( 1, name, file, d) bb.error("QA Issue package %s contains bad RPATH %s in file %s" % (name, line, file)) #bb.note("Fixing RPATH for you in %s" % file) diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf index daa579f132..be2a5b88bf 100644 --- a/conf/distro/angstrom-2007.1.conf +++ b/conf/distro/angstrom-2007.1.conf @@ -8,7 +8,7 @@ #DISTRO_VERSION = "2007.4" DISTRO_VERSION = "test-${DATE}" -DISTRO_REVISION = "41" +DISTRO_REVISION = "42" require conf/distro/include/angstrom.inc require conf/distro/include/sane-srcdates.inc @@ -51,6 +51,7 @@ FEED_ARCH_htcuniversal = "armv5te" FEED_ARCH_hx2000 = "armv5te" FEED_ARCH_hx4700 = "armv5te" FEED_ARCH_ixp4xx = "armv5te" +FEED_ARCH_ixp4xxle = "armv5te" FEED_ARCH_magician = "armv5te" FEED_ARCH_netbook-pro = "armv5te" FEED_ARCH_nokia770 = "armv5te" @@ -60,6 +61,8 @@ FEED_ARCH_spitz = "armv5te" FEED_ARCH_tosa = "armv5te" +FEED_ARCH_ixp4xxbe = "armv5teb" + #i586 machines FEED_ARCH_epia = "i586" @@ -98,6 +101,9 @@ PREFERRED_VERSION_linux-handhelds-2.6_magician ?= "2.6.20-hh6" PREFERRED_VERSION_file = "4.18" PREFERRED_VERSION_file_native = "4.18" +PREFERRED_VERSION_perl-native = "5.8.8" +PREFERRED_VERSION_perl = "5.8.8" + CVS_TARBALL_STASH = "\ http://www.angstrom-distribution.org/unstable/sources/ \ http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \ @@ -132,7 +138,7 @@ PREFERRED_VERSION_fontconfig = "2.4.1" PREFERRED_VERSION_freetype = "2.3.3" PREFERRED_VERSION_freetype-native = "2.2.1" PREFERRED_VERSION_cairo = "1.4.4" -PREFERRED_VERSION_glib-2.0 = "2.12.11" +PREFERRED_VERSION_glib-2.0 = "2.12.12" # older gtk-webcore releases don't work on ARM/EABI # We need to switch to a fixed SRCDATE or release as soon as possible @@ -148,7 +154,7 @@ PREFERRED_PROVIDER_xserver ?= "xserver-kdrive" require conf/distro/include/preferred-xorg-versions-X11R7.2.inc #PREFERRED_VERSION_xserver-kdrive = "1.2.0" -PREFERRED_VERSION_gtk+ = "2.10.10" +PREFERRED_VERSION_gtk+ = "2.10.12" PREFERRED_VERSION_libgnomeui = "2.16.1" PREFERRED_VERSION_prismstumbler = "0.7.3" diff --git a/packages/chrpath/chrpath-native_0.13.bb b/packages/chrpath/chrpath-native_0.13.bb index c9cc9112a3..6ba8feb5e6 100644 --- a/packages/chrpath/chrpath-native_0.13.bb +++ b/packages/chrpath/chrpath-native_0.13.bb @@ -1,10 +1,3 @@ -DESCRIPTION = "chrpath allows you to change the rpath (where the application looks for libraries) in an application. It does not (yet) allow you to add an rpath if there isn't one already." -LICENSE = "GPL" - -SRC_URI = "http://ftp.debian.org/debian/pool/main/c/chrpath/chrpath_0.13.orig.tar.gz" - -inherit autotools native - -S = "${WORKDIR}/chrpath-${PV}" - +require chrpath.inc +inherit native diff --git a/packages/chrpath/chrpath.inc b/packages/chrpath/chrpath.inc new file mode 100644 index 0000000000..1858d47d2c --- /dev/null +++ b/packages/chrpath/chrpath.inc @@ -0,0 +1,10 @@ +DESCRIPTION = "chrpath allows you to change the rpath (where the application looks for libraries) in an application. It does not (yet) allow you to add an rpath if there isn't one already." +LICENSE = "GPL" + +SRC_URI = "http://ftp.debian.org/debian/pool/main/c/chrpath/chrpath_${PV}.orig.tar.gz" + +inherit autotools + +S = "${WORKDIR}/chrpath-${PV}" + + diff --git a/packages/chrpath/chrpath_0.13.bb b/packages/chrpath/chrpath_0.13.bb new file mode 100644 index 0000000000..15392d9ac2 --- /dev/null +++ b/packages/chrpath/chrpath_0.13.bb @@ -0,0 +1 @@ +require chrpath.inc diff --git a/packages/db/db_4.2.52.bb b/packages/db/db_4.2.52.bb index 05565287f5..a0c394f7a4 100644 --- a/packages/db/db_4.2.52.bb +++ b/packages/db/db_4.2.52.bb @@ -91,7 +91,7 @@ do_install_append() { if test -d "${D}/${prefix}/docs" then mkdir -p "${D}/${datadir}" - test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}" + test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}" mv "${D}/${prefix}/docs" "${D}/${docdir}" fi } diff --git a/packages/db/db_4.3.29.bb b/packages/db/db_4.3.29.bb index 3c14b9eb96..474e73724f 100644 --- a/packages/db/db_4.3.29.bb +++ b/packages/db/db_4.3.29.bb @@ -92,7 +92,7 @@ do_install_append() { if test -d "${D}/${prefix}/docs" then mkdir -p "${D}/${datadir}" - test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}" + test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}" mv "${D}/${prefix}/docs" "${D}/${docdir}" fi } diff --git a/packages/glib-2.0/glib.inc b/packages/glib-2.0/glib.inc index 7539dd1e2a..6b384ad6c7 100644 --- a/packages/glib-2.0/glib.inc +++ b/packages/glib-2.0/glib.inc @@ -15,7 +15,10 @@ PR = "r1" LEAD_SONAME = "libglib-2.0.*" FILES_glib-2.0-utils = "${bindir}/*" -EXTRA_OECONF = "--disable-debug --enable-included-printf=no" +EXTRA_OECONF = "--disable-debug " + +# Add and entry for your favourite arch if your (g)libc has a sane printf +EXTRA_OECONF_append_glibc_arm = " --enable-included-printf=no " S = "${WORKDIR}/glib-${PV}" diff --git a/packages/gpe-autostarter/gpe-autostarter-0.12/.mtn2git_empty b/packages/gpe-autostarter/gpe-autostarter-0.12/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gpe-autostarter/gpe-autostarter-0.12/.mtn2git_empty diff --git a/packages/gpe-autostarter/gpe-autostarter-0.12/wireless.patch b/packages/gpe-autostarter/gpe-autostarter-0.12/wireless.patch new file mode 100644 index 0000000000..b375507ca8 --- /dev/null +++ b/packages/gpe-autostarter/gpe-autostarter-0.12/wireless.patch @@ -0,0 +1,12 @@ +--- gpe-autostarter-0.12/net.c.orig 2007-04-30 21:26:40.000000000 +0200 ++++ gpe-autostarter-0.12/net.c 2007-04-30 21:33:20.000000000 +0200 +@@ -18,7 +18,9 @@ + #include <locale.h> + #include <signal.h> + ++#include <linux/types.h> + #include <sys/socket.h> ++#include <linux/if.h> + #include <linux/wireless.h> + #include <sys/ioctl.h> + diff --git a/packages/gpe-autostarter/gpe-autostarter_0.12.bb b/packages/gpe-autostarter/gpe-autostarter_0.12.bb index f92b5df16b..c47f75797e 100644 --- a/packages/gpe-autostarter/gpe-autostarter_0.12.bb +++ b/packages/gpe-autostarter/gpe-autostarter_0.12.bb @@ -4,3 +4,5 @@ DEPENDS = "glib-2.0 dbus-glib hotplug-dbus virtual/libx11" RDEPENDS = "hotplug-dbus" inherit gpe + +SRC_URI += "file://wireless.patch;patch=1" diff --git a/packages/kdepimpi/files/qt-mt.patch b/packages/kdepimpi/files/qt-mt.patch new file mode 100644 index 0000000000..c7e3f9d88a --- /dev/null +++ b/packages/kdepimpi/files/qt-mt.patch @@ -0,0 +1,41 @@ +diff --git a/microkde/kresources/resource.cpp b/microkde/kresources/resource.cpp +index cccd485..65d82e2 100644 +--- a/microkde/kresources/resource.cpp ++++ b/microkde/kresources/resource.cpp +@@ -29,6 +29,23 @@ + + using namespace KRES; + ++namespace fixme { ++ class QMutexLocker { ++ public: ++ QMutexLocker(QMutex *m) : mtx(m) { ++ if(mtx) mtx->lock(); ++ } ++ ~QMutexLocker() { ++ if(mtx) mtx->unlock(); ++ } ++ ++ QMutex *mutex() const { return mtx; } ++ private: ++ QMutex *mtx; ++ }; ++} ++using namespace fixme; ++ + class Resource::ResourcePrivate + { + public: +diff --git a/microkde/kresources/resource.h b/microkde/kresources/resource.h +index ed5af96..997fff6 100644 +--- a/microkde/kresources/resource.h ++++ b/microkde/kresources/resource.h +@@ -25,7 +25,7 @@ + + //US + #ifdef QT_THREAD_SUPPORT +-#include <qmutex.h> ++#include <qthread.h> + #endif //QT_THREAD_SUPPORT + + #include <qvaluelist.h> diff --git a/packages/kdepimpi/kdepimpi_2.2.7.bb b/packages/kdepimpi/kdepimpi_2.2.7.bb index 6059bf8528..ca4d5c0786 100644 --- a/packages/kdepimpi/kdepimpi_2.2.7.bb +++ b/packages/kdepimpi/kdepimpi_2.2.7.bb @@ -1,5 +1,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/kdepimpi/kdepimpi-${PV}.tar.gz \ - file://gcc4.patch;patch=1" + file://gcc4.patch;patch=1 \ + file://qt-mt.patch;patch=1" require kdepimpi-base.inc diff --git a/packages/libtool/libtool-1.5.22/.mtn2git_empty b/packages/libtool/libtool-1.5.22/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/libtool/libtool-1.5.22/.mtn2git_empty diff --git a/packages/libtool/libtool-1.5.22/autotools.patch b/packages/libtool/libtool-1.5.22/autotools.patch new file mode 100644 index 0000000000..5df441e945 --- /dev/null +++ b/packages/libtool/libtool-1.5.22/autotools.patch @@ -0,0 +1,127 @@ +diff -urNd -urNd libtool-1.5/cdemo/configure.ac libtool-1.5.ac/cdemo/configure.ac +--- libtool-1.5/cdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400 ++++ libtool-1.5.ac/cdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -24,6 +24,7 @@ + ## ------------------------ ## + AC_INIT([cdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([main.c]) ++AC_CONFIG_AUX_DIR([..]) + + + ## ------------------------ ## +diff -urNd -urNd libtool-1.5/demo/configure.ac libtool-1.5.ac/demo/configure.ac +--- libtool-1.5/demo/configure.ac 2002-03-02 22:19:55.000000000 -0500 ++++ libtool-1.5.ac/demo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -24,6 +24,7 @@ + ## ------------------------ ## + AC_INIT([demo], [1.0], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([hello.c]) ++AC_CONFIG_AUX_DIR([..]) + + + ## ------------------------ ## +diff -urNd -urNd libtool-1.5/demo/Makefile.am libtool-1.5.ac/demo/Makefile.am +--- libtool-1.5/demo/Makefile.am 2002-11-19 04:42:39.000000000 -0500 ++++ libtool-1.5.ac/demo/Makefile.am 2004-05-05 17:17:34.000000000 -0400 +@@ -121,17 +121,16 @@ + + # This is one of the essential tests for deplibs_check_method=pass_all. + # If this one passes with pass_all, it is likely that pass_all works +-EXTRA_LIBRARIES = libhell0.a +-libhell0_a_SOURCES = hello.c foo.c +-EXTRA_LTLIBRARIES = libhell1.la libhell2.la ++EXTRA_LTLIBRARIES = libhell0.la libhell1.la libhell2.la ++libhell0_la_SOURCES = hello.c foo.c + libhell1_la_SOURCES = hell1.c + libhell1_la_LIBADD = -L. -lhell0 + libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) +-libhell1_la_DEPENDENCIES = libhell0.a ++libhell1_la_DEPENDENCIES = libhell0.la + libhell2_la_SOURCES = hell2.c + libhell2_la_LIBADD = -L. -lhell0 + libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) +-libhell2_la_DEPENDENCIES = libhell0.a ++libhell2_la_DEPENDENCIES = libhell0.la + EXTRA_PROGRAMS = hell0 + hell0_SOURCES = main.c + hell0_LDADD = libhell1.la libhell2.la $(LIBM) +diff -urNd -urNd libtool-1.5/depdemo/configure.ac libtool-1.5.ac/depdemo/configure.ac +--- libtool-1.5/depdemo/configure.ac 2002-10-22 15:29:28.000000000 -0400 ++++ libtool-1.5.ac/depdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -24,6 +24,7 @@ + ## ------------------------ ## + AC_INIT([depdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([main.c]) ++AC_CONFIG_AUX_DIR([..]) + + + ## ------------------------ ## +diff -urNd -urNd libtool-1.5/f77demo/configure.ac libtool-1.5.ac/f77demo/configure.ac +--- libtool-1.5/f77demo/configure.ac 2003-03-22 01:34:27.000000000 -0500 ++++ libtool-1.5.ac/f77demo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -23,6 +23,7 @@ + ## ------------------------ ## + AC_INIT([f77demo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([foof.f])dnl ++AC_CONFIG_AUX_DIR([..]) + + ## ------------------------ ## + ## Automake Initialisation. ## +diff -urNd -urNd libtool-1.5/mdemo/configure.ac libtool-1.5.ac/mdemo/configure.ac +--- libtool-1.5/mdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400 ++++ libtool-1.5.ac/mdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -24,6 +24,7 @@ + ## ------------------------ ## + AC_INIT([mdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([main.c]) ++AC_CONFIG_AUX_DIR([..]) + + + ## ------------------------ ## +diff -urNd -urNd libtool-1.5/pdemo/configure.ac libtool-1.5.ac/pdemo/configure.ac +--- libtool-1.5/pdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400 ++++ libtool-1.5.ac/pdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -24,6 +24,7 @@ + ## ------------------------ ## + AC_INIT([pdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([longer_file_name_hello.c]) ++AC_CONFIG_AUX_DIR([..]) + + + ## ------------------------ ## +diff -urNd -urNd libtool-1.5/pdemo/Makefile.am libtool-1.5.ac/pdemo/Makefile.am +--- libtool-1.5/pdemo/Makefile.am 2002-11-19 04:42:39.000000000 -0500 ++++ libtool-1.5.ac/pdemo/Makefile.am 2004-05-05 17:17:59.000000000 -0400 +@@ -121,17 +121,16 @@ + + # This is one of the essential tests for deplibs_check_method=pass_all. + # If this one passes with pass_all, it is likely that pass_all works +-EXTRA_LIBRARIES = libhell0.a +-libhell0_a_SOURCES = longer_file_name_hello.c longer_file_name_foo.c +-EXTRA_LTLIBRARIES = libhell1.la libhell2.la ++libhell0_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c ++EXTRA_LTLIBRARIES = libhell0.la libhell1.la libhell2.la + libhell1_la_SOURCES = longer_file_name_hell1.c + libhell1_la_LIBADD = -L. -lhell0 + libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) +-libhell1_la_DEPENDENCIES = libhell0.a ++libhell1_la_DEPENDENCIES = libhell0.la + libhell2_la_SOURCES = longer_file_name_hell2.c + libhell2_la_LIBADD = -L. -lhell0 + libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) +-libhell2_la_DEPENDENCIES = libhell0.a ++libhell2_la_DEPENDENCIES = libhell0.la + EXTRA_PROGRAMS = hell0 + hell0_SOURCES = longer_file_name_main.c + hell0_LDADD = libhell1.la libhell2.la $(LIBM) +diff -urNd -urNd libtool-1.5/tagdemo/configure.ac libtool-1.5.ac/tagdemo/configure.ac +--- libtool-1.5/tagdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400 ++++ libtool-1.5.ac/tagdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400 +@@ -24,6 +24,7 @@ + ## ------------------------ ## + AC_INIT([tagdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([foo.cpp]) ++AC_CONFIG_AUX_DIR([..]) + + AC_CANONICAL_TARGET + diff --git a/packages/libtool/libtool-1.5.22/install-path-check.patch b/packages/libtool/libtool-1.5.22/install-path-check.patch new file mode 100644 index 0000000000..46cc960986 --- /dev/null +++ b/packages/libtool/libtool-1.5.22/install-path-check.patch @@ -0,0 +1,25 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- libtool-1.5.6/ltmain.in~install-path-check 2004-05-14 22:56:19.000000000 -0500 ++++ libtool-1.5.6/ltmain.in 2004-05-14 22:57:48.000000000 -0500 +@@ -5503,10 +5503,13 @@ + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. +- if test "$inst_prefix_dir" = "$destdir"; then +- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 +- exit $EXIT_FAILURE +- fi ++ # ++ # This breaks install into our staging area. -PB ++ # ++ # if test "$inst_prefix_dir" = "$destdir"; then ++ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 ++ # exit $EXIT_FAILURE ++ # fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. diff --git a/packages/libtool/libtool-1.5.22/libdir-la.patch b/packages/libtool/libtool-1.5.22/libdir-la.patch new file mode 100644 index 0000000000..47aae4c7af --- /dev/null +++ b/packages/libtool/libtool-1.5.22/libdir-la.patch @@ -0,0 +1,52 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- libtool-1.5.6/ltmain.in~libdir-la 2004-04-01 21:46:15.000000000 -0600 ++++ libtool-1.5.6/ltmain.in 2004-05-14 22:53:51.000000000 -0500 +@@ -2147,8 +2147,14 @@ + absdir="$abs_ladir" + libdir="$abs_ladir" + else +- dir="$libdir" +- absdir="$libdir" ++ # Adding 'libdir' from the .la file to our library search paths ++ # breaks crosscompilation horribly. We cheat here and don't add ++ # it, instead adding the path where we found the .la. -CL ++ dir="$abs_ladir" ++ absdir="$abs_ladir" ++ libdir="$abs_ladir" ++ #dir="$libdir" ++ #absdir="$libdir" + fi + else + dir="$ladir/$objdir" +@@ -2615,6 +2621,16 @@ + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" ++# This interferes with crosscompilation. -CL ++# else ++# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` ++# if test -z "$libdir"; then ++# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 ++# exit 1 ++# fi ++# if test "$absdir" != "$libdir"; then ++# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 ++# fi + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then +@@ -5165,6 +5181,10 @@ + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do ++ # Replacing uninstalled with installed can easily break crosscompilation, ++ # since the installed path is generally the wrong architecture. -CL ++ newdependency_libs="$newdependency_libs $deplib" ++ continue + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` diff --git a/packages/libtool/libtool-1.5.22/prefix.patch b/packages/libtool/libtool-1.5.22/prefix.patch new file mode 100644 index 0000000000..5e7d9ba51d --- /dev/null +++ b/packages/libtool/libtool-1.5.22/prefix.patch @@ -0,0 +1,44 @@ +diff -aur libtool-1.5.22.orig/libtool.m4 libtool-1.5.22/libtool.m4 +--- libtool-1.5.22.orig/libtool.m4 2005-12-18 16:53:17.000000000 -0500 ++++ libtool-1.5.22/libtool.m4 2007-05-05 15:47:41.000000000 -0400 +@@ -67,7 +67,8 @@ + LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + + # Always use our own libtool. +-LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++LIBTOOL='$(SHELL) $(top_builddir)' ++LIBTOOL="$LIBTOOL/$host_alias-libtool" + AC_SUBST(LIBTOOL)dnl + + # Prevent multiple expansion +@@ -134,7 +135,7 @@ + rm="rm -f" + + # Global variables: +-default_ofile=libtool ++default_ofile=${host_alias}-libtool + can_build_shared=yes + + # All known linkers require a `.a' archive for static linking (except MSVC, +Only in libtool-1.5.22: libtool.m4.orig +diff -aur libtool-1.5.22.orig/Makefile.am libtool-1.5.22/Makefile.am +--- libtool-1.5.22.orig/Makefile.am 2005-08-12 13:21:09.000000000 -0400 ++++ libtool-1.5.22/Makefile.am 2007-05-05 15:49:25.000000000 -0400 +@@ -30,7 +30,7 @@ + aclocal_DATA = $(aclocal_macros) + + # The standalone libtool script, and the libtool distributor. +-bin_SCRIPTS = libtool libtoolize ++bin_SCRIPTS = $(host_alias)-libtool libtoolize + + ## These are installed as a subdirectory of pkgdatadir so that + ## libtoolize --ltdl can find them later: +@@ -55,7 +55,7 @@ + libltdl/configure \ + libltdl/config-h.in + +-libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.ac ++$(host_alias)-libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.ac + $(SHELL) $(top_builddir)/config.status --recheck + chmod +x $@ + diff --git a/packages/libtool/libtool-1.5.22/sedvar.patch b/packages/libtool/libtool-1.5.22/sedvar.patch new file mode 100644 index 0000000000..d505edae24 --- /dev/null +++ b/packages/libtool/libtool-1.5.22/sedvar.patch @@ -0,0 +1,16 @@ + +# +# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- libtool-1.5/ltmain.in~sedvar 2003-04-14 16:58:24.000000000 -0500 ++++ libtool-1.5/ltmain.in 2003-09-24 14:18:50.175518400 -0500 +@@ -48,6 +48,8 @@ + exit 0 + fi + ++[ -z "${SED}" ] && SED=sed ++ + # The name of this program. + progname=`$echo "$0" | ${SED} 's%^.*/%%'` + modename="$progname" diff --git a/packages/libtool/libtool-1.5.22/tag.patch b/packages/libtool/libtool-1.5.22/tag.patch new file mode 100644 index 0000000000..8921a3efb7 --- /dev/null +++ b/packages/libtool/libtool-1.5.22/tag.patch @@ -0,0 +1,19 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- libtool-1.5.6/ltmain.in~tag 2004-05-15 05:14:32.000000000 -0400 ++++ libtool-1.5.6/ltmain.in 2004-05-15 05:18:01.000000000 -0400 +@@ -226,8 +226,9 @@ + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" +- $echo "$modename: specify a tag with \`--tag'" 1>&2 +- exit $EXIT_FAILURE ++ $echo "$modename: defaulting to \`CC'" ++ $echo "$modename: if this is not correct, specify a tag with \`--tag'" ++# exit $EXIT_FAILURE + # else + # $echo "$modename: using $tagname tagged configuration" + fi diff --git a/packages/libtool/libtool-1.5.22/tag1.patch b/packages/libtool/libtool-1.5.22/tag1.patch new file mode 100644 index 0000000000..6fefd6266d --- /dev/null +++ b/packages/libtool/libtool-1.5.22/tag1.patch @@ -0,0 +1,13 @@ +Index: libtool-1.5.10/libltdl/ltmain.sh +=================================================================== +--- libtool-1.5.10.orig/libltdl/ltmain.sh 2004-09-19 13:34:44.000000000 +0100 ++++ libtool-1.5.10/libltdl/ltmain.sh 2006-05-25 15:28:39.000000000 +0100 +@@ -232,7 +232,7 @@ + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 +- exit $EXIT_FAILURE ++# exit $EXIT_FAILURE + # else + # $echo "$modename: using $tagname tagged configuration" + fi diff --git a/packages/libtool/libtool-1.5.22/uclibc.patch b/packages/libtool/libtool-1.5.22/uclibc.patch new file mode 100644 index 0000000000..2c8cbabbb3 --- /dev/null +++ b/packages/libtool/libtool-1.5.22/uclibc.patch @@ -0,0 +1,19 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- libtool-1.5.8/libtool.m4~uclibc ++++ libtool-1.5.8/libtool.m4 +@@ -2221,6 +2221,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/libtool/libtool-cross_1.5.22.bb b/packages/libtool/libtool-cross_1.5.22.bb new file mode 100644 index 0000000000..2188963495 --- /dev/null +++ b/packages/libtool/libtool-cross_1.5.22.bb @@ -0,0 +1,30 @@ +DEFAULT_PREFERENCE = "-1" + +SECTION = "devel" +require libtool_${PV}.bb + +PR = "r0" +PACKAGES = "" +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" +SRC_URI_append = " file://libdir-la.patch;patch=1 \ + file://prefix.patch;patch=1 \ + file://tag.patch;patch=1 \ + file://tag1.patch;patch=1 \ + file://install-path-check.patch;patch=1" +S = "${WORKDIR}/libtool-${PV}" + +prefix = "${STAGING_DIR}" +exec_prefix = "${prefix}/${BUILD_SYS}" +bindir = "${STAGING_BINDIR_NATIVE}" + +do_compile () { + : +} + +do_stage () { + install -m 0755 ${HOST_SYS}-libtool ${bindir}/${HOST_SYS}-libtool +} + +do_install () { + : +} diff --git a/packages/libtool/libtool-native_1.5.22.bb b/packages/libtool/libtool-native_1.5.22.bb new file mode 100644 index 0000000000..35d7f40b09 --- /dev/null +++ b/packages/libtool/libtool-native_1.5.22.bb @@ -0,0 +1,44 @@ +DEFAULT_PREFERENCE = "-1" + +SECTION = "devel" +require libtool_${PV}.bb + +PR = "r0" +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" +SRC_URI_append = " file://libdir-la.patch;patch=1 \ + file://prefix.patch;patch=1 \ + file://tag.patch;patch=1 \ + file://tag1.patch;patch=1 \ + file://install-path-check.patch;patch=1" +S = "${WORKDIR}/libtool-${PV}" + +STAGING_DATADIR_safe := "${STAGING_DATADIR}" + +inherit native + +do_stage () { + install -m 0755 ${HOST_SYS}-libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool + install -m 0755 libtoolize ${STAGING_BINDIR}/libtoolize + oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR} + install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/ + for dir in ${STAGING_DATADIR} ${STAGING_DATADIR_safe}; do + ltdldir="${dir}/libtool/libltdl" + install -d $dir/libtool \ + $ltdldir \ + $dir/aclocal + install -c config.guess $dir/libtool/config.guess + install -c config.sub $dir/libtool/config.sub + install -c -m 0644 ltmain.sh $dir/libtool/ + install -c -m 0644 libtool.m4 $dir/aclocal/ + install -c -m 0644 ltdl.m4 $dir/aclocal/ + + for src in README COPYING.LIB Makefile.am configure.ac \ + config-h.in ltdl.c ltdl.h; do + install -m 0644 libltdl/${src} ${ltdldir} + done + done +} + +do_install () { + : +} diff --git a/packages/libtool/libtool_1.5.22.bb b/packages/libtool/libtool_1.5.22.bb new file mode 100644 index 0000000000..d470d30cda --- /dev/null +++ b/packages/libtool/libtool_1.5.22.bb @@ -0,0 +1,37 @@ +DEFAULT_PREFERENCE = "-1" + +DESCRIPTION = "Generic library support script \ +This is GNU libtool, a generic library support script. Libtool hides \ +the complexity of generating special library types (such as shared \ +libraries) behind a consistent interface." +HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html" +LICENSE = "GPL" +SECTION = "devel" +PR = "r1" + +SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ + file://autotools.patch;patch=1 \ + file://uclibc.patch;patch=1" +# file://3figures.patch;patch=1" +S = "${WORKDIR}/libtool-${PV}" + +PACKAGES = "libltdl libltdl-dev ${PN}" +FILES_${PN} += "${datadir}/aclocal*" +FILES_libltdl = "${libdir}/libltdl.so.*" +FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h" + +inherit autotools + +EXTRA_AUTORECONF = "--exclude=libtoolize" + +do_configure () { + find ${S} -name acinclude.m4 | for m4 in `cat`; do + cat ${S}/libtool.m4 ${S}/ltdl.m4 > $m4 + done + autotools_do_configure +} + +do_stage () { + oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR} + install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/ +} diff --git a/packages/linux/linux-ezx-2.6.21/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/ezx-core.patch index f62d89a408..8e89afff53 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-core.patch +++ b/packages/linux/linux-ezx-2.6.21/ezx-core.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S =================================================================== ---- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-05-01 14:00:25.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-05-01 14:00:48.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-05-03 17:42:02.000000000 -0300 @@ -53,3 +53,6 @@ str r1, [r0, #0x18] #endif @@ -11,8 +11,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S +#endif Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-01 14:00:25.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-01 23:02:56.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-04 04:17:33.000000000 -0300 @@ -37,6 +37,10 @@ bool "Keith und Koep Trizeps4 DIMM-Module" select PXA27x @@ -60,8 +60,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig endif Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 14:00:25.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 23:03:58.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-04 04:17:42.000000000 -0300 @@ -18,6 +18,7 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o @@ -73,7 +73,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 23:03:58.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-04 04:17:42.000000000 -0300 @@ -0,0 +1,378 @@ +/* + * linux/arch/arm/mach-ezx/a780.c @@ -456,7 +456,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-05-01 14:00:48.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-05-03 17:42:02.000000000 -0300 @@ -0,0 +1,225 @@ +/* + * linux/include/asm-arm/arch-pxa/ezx.h @@ -685,8 +685,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h + Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h =================================================================== ---- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 14:00:24.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 23:02:53.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-04 04:17:32.000000000 -0300 @@ -849,6 +849,8 @@ #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ #define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */ @@ -802,8 +802,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h #define PGSR2 __REG(0x40F00028) /* Power Manager GPIO Sleep State Register for GP[84-64] */ Index: linux-2.6.21/arch/arm/boot/compressed/head.S =================================================================== ---- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-05-01 14:00:25.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-05-01 14:00:48.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-05-03 17:42:02.000000000 -0300 @@ -117,6 +117,9 @@ mov r0, r0 .endr @@ -816,8 +816,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head.S .word start @ absolute load/run zImage address Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h =================================================================== ---- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 14:00:24.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 14:00:48.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-05-03 17:42:02.000000000 -0300 @@ -14,14 +14,14 @@ #define STUART ((volatile unsigned long *)0x40700000) #define HWUART ((volatile unsigned long *)0x41600000) @@ -839,7 +839,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-05-01 14:00:48.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-05-03 17:42:02.000000000 -0300 @@ -0,0 +1,126 @@ +/* + * SSP control code for Motorola EZX phones @@ -970,7 +970,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-05-01 14:00:48.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-05-03 17:42:02.000000000 -0300 @@ -0,0 +1,9 @@ +#include <asm/arch/ezx.h> + @@ -984,7 +984,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c 2007-05-01 22:53:54.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c 2007-05-03 17:42:02.000000000 -0300 @@ -0,0 +1,113 @@ +/* + * linux/arch/arm/mach-ezx/a780.c @@ -1101,13 +1101,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c +arch_initcall(__ezx_lcd_init); Index: linux-2.6.21/arch/arm/mm/init.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-05-01 14:00:25.000000000 -0300 -+++ linux-2.6.21/arch/arm/mm/init.c 2007-05-01 14:00:48.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-05-03 17:41:57.000000000 -0300 ++++ linux-2.6.21/arch/arm/mm/init.c 2007-05-04 03:48:30.000000000 -0300 @@ -241,6 +241,10 @@ */ reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT, boot_pages << PAGE_SHIFT); -+#ifdef CONFIG_ARCH_EZX ++#ifdef CONFIG_PXA_EZX + /* reserve the first page memory for exiting sleep and user off */ + reserve_bootmem_node(pgdat, PHYS_OFFSET, PAGE_SIZE); +#endif diff --git a/packages/linux/linux-ezx-2.6.21/ezx-emu.patch b/packages/linux/linux-ezx-2.6.21/ezx-emu.patch index 95fdd96fc1..91d99ee17b 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-emu.patch +++ b/packages/linux/linux-ezx-2.6.21/ezx-emu.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-05-01 03:58:42.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-05-02 23:30:15.000000000 -0300 @@ -0,0 +1,215 @@ +/* + * EMU Driver for Motorola EZX phones @@ -151,7 +151,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c + return 0; +} + -+static int ezx_emu_suspend(struct platform_device *dev) ++static int ezx_emu_suspend(struct platform_device *dev, pm_message_t state) +{ + emu_switch_to_nothing(); + return 0; @@ -220,8 +220,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c +MODULE_LICENSE("GPL"); Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-01 01:39:12.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-01 02:07:23.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-02 21:31:22.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-02 23:26:53.000000000 -0300 @@ -94,6 +94,27 @@ endchoice @@ -252,8 +252,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig endmenu Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 02:07:23.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 04:10:48.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-02 23:26:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-03 17:41:40.000000000 -0300 @@ -19,6 +19,7 @@ obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o obj-$(CONFIG_MACH_TOSA) += tosa.o @@ -264,8 +264,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile led-y := leds.o Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-01 02:07:23.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 02:07:23.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-02 23:26:52.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-03 17:25:08.000000000 -0300 @@ -35,6 +35,7 @@ #include <asm/arch/ohci.h> #include <asm/arch/pxa-regs.h> diff --git a/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch b/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch index de64d722e9..a077ad5ffb 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch +++ b/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch @@ -1,8 +1,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-05-01 14:00:50.000000000 -0300 -@@ -0,0 +1,411 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-05-04 03:07:37.000000000 -0300 +@@ -0,0 +1,425 @@ +/* Driver for Motorola PCAP2 as present in EZX phones + * + * This is both a SPI device driver for PCAP itself, as well as @@ -51,7 +51,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + ezx_ssp_pcap_putget(value); + local_irq_enable(); + -+ DEBUGP("pcap write r%x: 0x%08x\n", reg_num, value); ++// DEBUGP("pcap write r%x: 0x%08x\n", reg_num, value); + return 0; +} +EXPORT_SYMBOL_GPL(ezx_pcap_write); @@ -65,7 +65,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + *value = ezx_ssp_pcap_putget(frame); + local_irq_enable(); + -+ DEBUGP("pcap read r%x: 0x%08x\n", reg_num, *value); ++// DEBUGP("pcap read r%x: 0x%08x\n", reg_num, *value); + return 0; +} +EXPORT_SYMBOL_GPL(ezx_pcap_read); @@ -121,12 +121,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + /* FIXME: this should be board-level, not chip-level */ + /* implement a per board pcap init reg array? */ + -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ISR_USB4VI, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_USB4VM, 0); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ISR_USB1VI, 1); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_USB1VM, 0); ++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ISR_USB4VI, 1); ++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_USB4VM, 0); ++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ISR_USB1VI, 1); ++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_USB1VM, 0); + // disable all interrupts -+ //ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, 0x03ffffff); ++ ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, PCAP_MASK_ALL_INTERRUPT); ++ // clear all interrupts ++ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, PCAP_MASK_ALL_INTERRUPT); + + ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL, 1); + ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL3); @@ -288,12 +290,12 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c +{ + int i; + const unsigned int cpu = smp_processor_id(); -+ u_int32_t reg; -+ -+ DEBUGP("pcap_irq_demux_handler(%u,,) entered\n", irq); ++ u_int32_t reg, mask; + + spin_lock(&desc->lock); + ++ DEBUGP("pcap_irq_demux_handler(%u,,) entered\n", irq); ++ + desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); + + if (unlikely(desc->status & IRQ_INPROGRESS)) { @@ -305,6 +307,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + } + + kstat_cpu(cpu).irqs[irq]++; ++ desc->chip->ack(irq); + desc->status |= IRQ_INPROGRESS; + + do { @@ -317,30 +320,27 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + } + + desc->status &= ~IRQ_PENDING; -+ spin_unlock(&desc->lock); + -+ ezx_pcap_read(SSP_PCAP_ADJ_ISR_REGISTER, ®); -+ DEBUGP("pcap_irq_demux_handler: ISR=0x%08x\n", reg); ++ ezx_pcap_read(SSP_PCAP_ADJ_ISR_REGISTER, ®); ++ ezx_pcap_read(SSP_PCAP_ADJ_MSR_REGISTER, &mask); ++ DEBUGP("pcap_irq_demux_handler: ISR=0x%08x MSR=0x%08x\n", reg, mask); + + for (i = ARRAY_SIZE(pcap2irq)-1; i >= 0; i--) { + unsigned int pirq = pcap2irq[i]; + if (pirq == 0) + continue; + -+ if (reg & (1 << i)) { ++ if ((reg & (1 << i)) && !(mask & (1 << i))) { + struct irq_desc *subdesc; + DEBUGP("found irq %u\n", pirq); + subdesc = irq_desc + pirq; -+ -+ // acknowledge pcap irq -+ // do just one pcap irq each time + subdesc->chip->ack(pirq); -+ i = 0; + ++ spin_unlock(&desc->lock); + handle_IRQ_event(pirq, subdesc->action); ++ spin_lock(&desc->lock); + } + } -+ spin_lock(&desc->lock); + + } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); + @@ -387,9 +387,23 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c + return 0; +} + ++static int ezx_pcap_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ DEBUGP("pcap suspend!\n"); ++ return 0; ++} ++ ++static int ezx_pcap_resume(struct platform_device *dev) ++{ ++ DEBUGP("pcap resume!\n"); ++ return 0; ++} ++ +static struct platform_driver ezxpcap_driver = { + .probe = ezx_pcap_probe, + .remove = ezx_pcap_remove, ++ .suspend = ezx_pcap_suspend, ++ .resume = ezx_pcap_resume, + .driver = { + .name = "ezx-pcap", + .owner = THIS_MODULE, @@ -417,7 +431,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-05-01 14:00:50.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-05-03 17:43:48.000000000 -0300 @@ -0,0 +1,665 @@ +/* (c) Copyright Motorola Beijing 2002 all rights reserved. + @@ -1086,8 +1100,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h +#endif Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h =================================================================== ---- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-05-01 14:00:24.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-05-01 14:00:50.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-05-03 17:41:55.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-05-03 17:43:48.000000000 -0300 @@ -176,7 +176,8 @@ #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) #elif defined(CONFIG_ARCH_LUBBOCK) || \ @@ -1117,8 +1131,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h + Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 14:00:48.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 14:00:50.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-03 17:42:02.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-04 04:17:33.000000000 -0300 @@ -18,7 +18,7 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o @@ -1130,8 +1144,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile led-y := leds.o Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-01 14:00:48.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 14:00:50.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-03 17:42:02.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-04 04:17:33.000000000 -0300 @@ -72,6 +72,24 @@ .clk_pcap = 1, }; diff --git a/packages/linux/linux-ezx-2.6.21/ezx-pm.patch b/packages/linux/linux-ezx-2.6.21/ezx-pm.patch index 2b498c8b8c..4ad66936c9 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-pm.patch +++ b/packages/linux/linux-ezx-2.6.21/ezx-pm.patch @@ -1,7 +1,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-04-30 18:29:49.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-05-03 17:41:39.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-05-03 17:43:42.000000000 -0300 @@ -22,6 +22,10 @@ #include <asm/arch/pxa-regs.h> #include <asm/arch/ohci.h> @@ -29,8 +29,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c } Index: linux-2.6.21/arch/arm/mach-pxa/pm.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-04-30 18:29:49.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-05-03 17:41:39.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-05-04 03:51:15.000000000 -0300 @@ -24,6 +24,10 @@ #include <asm/arch/lubbock.h> #include <asm/mach/time.h> diff --git a/packages/linux/linux-ezx-2.6.21/pcap-ts.patch b/packages/linux/linux-ezx-2.6.21/pcap-ts.patch new file mode 100644 index 0000000000..a07ec1abe9 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/pcap-ts.patch @@ -0,0 +1,450 @@ +Index: linux-2.6.21/drivers/input/touchscreen/Kconfig +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/Kconfig 2007-05-03 17:39:18.000000000 -0300 ++++ linux-2.6.21/drivers/input/touchscreen/Kconfig 2007-05-03 17:44:12.000000000 -0300 +@@ -164,4 +164,13 @@ + To compile this driver as a module, choose M here: the + module will be called ucb1400_ts. + ++config TOUCHSCREEN_PCAP ++ tristate "Motorola PCAP touchscreen" ++ depends on PXA_EZX ++ help ++ Say Y here if you have a Motorola EZX telephone and ++ want to support the built-in touchscreen. ++ ++ If unsure, say N. ++ + endif +Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-05-04 04:17:22.000000000 -0300 +@@ -0,0 +1,372 @@ ++/* ++ * pcap_ts.c - Touchscreen driver for Motorola PCAP2 based touchscreen as found ++ * in the EZX phone platform. ++ * ++ * Copyright (C) 2006 Harald Welte <laforge@openezx.org> ++ * ++ * Based on information found in the original Motorola 2.4.x ezx-ts.c driver. ++ * ++ * 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. ++ * ++ * May 3, 2007 - Daniel Ribeiro <drwyrm@gmail.com> ++ * Major cleanup ++ * PM Callbacks ++ * ++ * TODO: ++ * split this in a hardirq handler and a tasklet/bh ++ */ ++ ++#include <linux/module.h> ++#include <linux/init.h> ++#include <linux/fs.h> ++#include <linux/string.h> ++#include <linux/pm.h> ++#include <linux/timer.h> ++//#include <linux/config.h> ++#include <linux/interrupt.h> ++#include <linux/platform_device.h> ++#include <linux/input.h> ++ ++#include <asm/arch/hardware.h> ++#include <asm/arch/pxa-regs.h> ++#include <asm/arch/ezx-pcap.h> ++ ++#if 0 ++#define DEBUGP(x, args ...) printk(x, ## args) ++#else ++#define DEBUGP(x, args ...) ++#endif ++ ++#define PRESSURE 1 ++#define COORDINATE 2 ++#define STANDBY 3 ++ ++struct pcap_ts { ++ int irq_xy; ++ int irq_touch; ++ struct input_dev *input; ++ struct timer_list timer; ++ ++ u_int16_t x, y; ++ u_int16_t pressure; ++ ++ u_int8_t read_state; ++}; ++ ++#define X_AXIS_MIN 0 ++#define X_AXIS_MAX 1023 ++ ++#define Y_AXIS_MAX X_AXIS_MAX ++#define Y_AXIS_MIN X_AXIS_MIN ++ ++#define PRESSURE_MAX X_AXIS_MAX ++#define PRESSURE_MIN X_AXIS_MIN ++ ++/* if we try to read faster, pressure reading becomes unreliable */ ++#define SAMPLE_INTERVAL (HZ/50) ++ ++ ++static void pcap_ts_mode(u_int32_t mode) ++{ ++ u_int32_t tmp; ++ ++ ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); ++ tmp &= ~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK; ++ tmp |= mode; ++ ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++} ++ ++/* issue a XY read command to the ADC of PCAP2. Well get an ADCDONE2 interrupt ++ * once the result of the conversion is available */ ++static void pcap_ts_start_xy_read(struct pcap_ts *pcap_ts) ++{ ++ u_int32_t tmp; ++ ++ ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); ++ tmp &= SSP_PCAP_ADC_START_VALUE_SET_MASK; ++ tmp |= SSP_PCAP_ADC_START_VALUE; ++ ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC2_ASC, 1); ++} ++ ++/* read the XY result from the ADC of PCAP2 */ ++static void pcap_ts_get_xy_value(struct pcap_ts *pcap_ts) ++{ ++ u_int32_t tmp; ++ ++ ezx_pcap_read(SSP_PCAP_ADJ_ADC2_REGISTER, &tmp); ++ ++ if (pcap_ts->read_state == COORDINATE && !(tmp & 0x00400000)) { ++ pcap_ts->x = (tmp & SSP_PCAP_ADD1_VALUE_MASK); ++ pcap_ts->y = (tmp & SSP_PCAP_ADD2_VALUE_MASK) ++ >>SSP_PCAP_ADD2_VALUE_SHIFT; ++ } else { ++ pcap_ts->pressure = (tmp & SSP_PCAP_ADD2_VALUE_MASK) ++ >>SSP_PCAP_ADD2_VALUE_SHIFT; ++ } ++ ++} ++ ++/* PCAP2 interrupts us when ADC conversion result is available */ ++static irqreturn_t pcap_ts_irq_xy(int irq, void *dev_id) ++{ ++ struct pcap_ts *pcap_ts = dev_id; ++ ++ pcap_ts_get_xy_value(pcap_ts); ++ DEBUGP(KERN_DEBUG "%s X=%4d, Y=%4d Z=%4d ", ++ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS", ++ pcap_ts->x, pcap_ts->y, pcap_ts->pressure); ++ ++ switch (pcap_ts->read_state) { ++ case PRESSURE: ++ if (pcap_ts->pressure >= PRESSURE_MAX || ++ pcap_ts->pressure <= PRESSURE_MIN ) { ++ /* pen has been released (or cant read pressure - WM)*/ ++ DEBUGP("UP\n"); ++ /* do nothing */ ++ } else { ++ /* pen has been touched down */ ++ DEBUGP("DOWN\n"); ++ input_report_key(pcap_ts->input, BTN_TOUCH, 1); ++ input_report_abs(pcap_ts->input, ABS_PRESSURE, pcap_ts->pressure); ++ } ++ /* switch state machine into coordinate read mode */ ++ pcap_ts->read_state = COORDINATE; ++ pcap_ts_mode(PCAP_TS_POSITION_XY_MEASUREMENT); ++ pcap_ts_start_xy_read(pcap_ts); ++ break; ++ case COORDINATE: ++ if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX || ++ pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) { ++ /* pen has been released */ ++ DEBUGP("UP END\n"); ++ ++ input_report_key(pcap_ts->input, BTN_TOUCH, 0); ++ input_report_abs(pcap_ts->input, ABS_PRESSURE, 0); ++ ++ /* no need for timer, we'll get interrupted with ++ * next touch down event */ ++ del_timer(&pcap_ts->timer); ++ ++ /* ask PCAP2 to interrupt us if touch event happens ++ * again */ ++ pcap_ts->read_state = STANDBY; ++ pcap_ts_mode(PCAP_TS_STANDBY_MODE); ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ } else { ++ DEBUGP("DOWN\n"); ++ input_report_abs(pcap_ts->input, ABS_X, pcap_ts->x); ++ input_report_abs(pcap_ts->input, ABS_Y, pcap_ts->y); ++ ++ /* switch back to pressure read mode */ ++ pcap_ts->read_state = PRESSURE; ++ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); ++ mod_timer(&pcap_ts->timer, jiffies + SAMPLE_INTERVAL); ++ } ++ input_sync(pcap_ts->input); ++ break; ++ default: ++ DEBUGP("ERROR\n"); ++ break; ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++/* PCAP2 interrupts us if the pen touches down (interrupts also on pen up - WM)*/ ++static irqreturn_t pcap_ts_irq_touch(int irq, void *dev_id) ++{ ++ struct pcap_ts *pcap_ts = dev_id; ++ ++ /* mask Touchscreen interrupt bit, prevents further touch events ++ * from being reported to us until we're finished with reading ++ * both pressure and x/y from ADC */ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 1); ++ ++ DEBUGP("touched!!\n"); ++ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); ++ pcap_ts->read_state = PRESSURE; ++ pcap_ts_start_xy_read(pcap_ts); ++ ++ return IRQ_HANDLED; ++} ++ ++static void pcap_ts_timer_fn(unsigned long data) ++{ ++ struct pcap_ts *pcap_ts = (struct pcap_ts *) data; ++ ++ pcap_ts_start_xy_read(pcap_ts); ++} ++ ++static int __init ezxts_probe(struct platform_device *pdev) ++{ ++ int ret; ++ u_int32_t tmp; ++ struct pcap_ts *pcap_ts; ++ struct input_dev *input_dev; ++ int err = -ENOMEM; ++ ++ pcap_ts = kzalloc(sizeof(*pcap_ts), GFP_KERNEL); ++ input_dev = input_allocate_device(); ++ if (!pcap_ts || !input_dev) ++ goto fail; ++ ++ pcap_ts->irq_xy = platform_get_irq(pdev, 0); ++ if (pcap_ts->irq_xy < 0) { ++ err = pcap_ts->irq_xy; ++ goto fail; ++ } ++ ++ pcap_ts->irq_touch = platform_get_irq(pdev, 1); ++ if (pcap_ts->irq_touch < 0) { ++ err = pcap_ts->irq_touch; ++ goto fail; ++ } ++ ++ // Some initialization before done in ssp_pcap_open() ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_TS_REFENB, 0); ++ // ack interrupts ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ISR_ADCDONE2I, 1); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ISR_TSI, 1); ++ // unmask interrupts ++ // ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_MSR_ADCDONE2M, 0); ++ // set adc bits? FIXME I dont think its necessary - WM ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC2_ADINC1, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC2_ADINC2, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO0, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO1, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO2, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO3, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATOX, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_MTR1, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_MTR2, 0); ++ ++ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); ++ if (ret < 0) ++ return ret; ++ ++ tmp &= (~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK); ++ tmp |= PCAP_TS_STANDBY_MODE; ++ ++ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++ if (ret < 0) ++ return ret; ++ ++ err = request_irq(pcap_ts->irq_xy, pcap_ts_irq_xy, SA_INTERRUPT, ++ "PCAP Touchscreen XY", pcap_ts); ++ if (err < 0) { ++ printk(KERN_ERR "pcap_ts: can't grab xy irq %d: %d\n", ++ pcap_ts->irq_xy, err); ++ goto fail; ++ } ++ ++ err = request_irq(pcap_ts->irq_touch, pcap_ts_irq_touch, SA_INTERRUPT, ++ "PCAP Touchscreen Touch", pcap_ts); ++ if (err < 0) { ++ printk(KERN_ERR "pcap_ts: can't grab touch irq %d: %d\n", ++ pcap_ts->irq_touch, err); ++ goto fail_xy; ++ } ++ ++ pcap_ts->input = input_dev; ++ init_timer(&pcap_ts->timer); ++ pcap_ts->timer.data = (unsigned long) pcap_ts; ++ pcap_ts->timer.function = &pcap_ts_timer_fn; ++ ++ platform_set_drvdata(pdev, pcap_ts); ++ ++ pcap_ts->read_state = STANDBY; ++ pcap_ts_mode(PCAP_TS_STANDBY_MODE); ++ ++ /* enable pressure interrupt */ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ ++ input_dev->name = "EZX PCAP2 Touchscreen"; ++ input_dev->phys = "ezxts/input0"; ++ input_dev->id.bustype = BUS_HOST; ++ input_dev->id.vendor = 0x0001; ++ input_dev->id.product = 0x0002; ++ input_dev->id.version = 0x0100; ++ input_dev->cdev.dev = &pdev->dev; ++ input_dev->private = pcap_ts; ++ ++ input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); ++ input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); ++ input_set_abs_params(input_dev, ABS_X, X_AXIS_MIN, X_AXIS_MAX, 0, 0); ++ input_set_abs_params(input_dev, ABS_Y, Y_AXIS_MIN, Y_AXIS_MAX, 0, 0); ++ input_set_abs_params(input_dev, ABS_PRESSURE, PRESSURE_MIN, ++ PRESSURE_MAX, 0, 0); ++ ++ input_register_device(pcap_ts->input); ++ ++ return 0; ++ ++fail_xy: ++ free_irq(pcap_ts->irq_xy, pcap_ts); ++fail: ++ input_free_device(input_dev); ++ kfree(pcap_ts); ++ ++ return err; ++} ++ ++static int ezxts_remove(struct platform_device *pdev) ++{ ++ struct pcap_ts *pcap_ts = platform_get_drvdata(pdev); ++ ++ del_timer_sync(&pcap_ts->timer); ++ ++ free_irq(pcap_ts->irq_touch, pcap_ts); ++ free_irq(pcap_ts->irq_xy, pcap_ts); ++ ++ input_unregister_device(pcap_ts->input); ++ kfree(pcap_ts); ++ ++ return 0; ++} ++ ++static int ezxts_suspend(struct platform_device *dev, pm_message_t state) ++{ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC1_TS_REF_LOWPWR, 1); ++ return 0; ++} ++ ++static int ezxts_resume(struct platform_device *dev) ++{ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC1_TS_REF_LOWPWR, 0); ++ /* just in case we suspend with TSI masked. */ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ return 0; ++} ++ ++ ++static struct platform_driver ezxts_driver = { ++ .probe = ezxts_probe, ++ .remove = ezxts_remove, ++ .suspend = ezxts_suspend, ++ .resume = ezxts_resume, ++ .driver = { ++ .name = "pcap-ts", ++ .owner = THIS_MODULE, ++ }, ++}; ++ ++static int __init ezxts_init(void) ++{ ++ return platform_driver_register(&ezxts_driver); ++} ++ ++static void __exit ezxts_exit(void) ++{ ++ platform_driver_unregister(&ezxts_driver); ++} ++ ++module_init(ezxts_init); ++module_exit(ezxts_exit); ++ ++MODULE_DESCRIPTION("Motorola PCAP2 touchscreen driver"); ++MODULE_AUTHOR("Harald Welte <laforge@openezx.org>"); ++MODULE_LICENSE("GPL"); +Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-03 19:09:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-03 19:15:57.000000000 -0300 +@@ -116,8 +116,32 @@ + .resource = ezxemu_resources, + }; + +-/* OHCI Controller */ ++/* PCAP_TS */ ++struct resource pcap_ts_resources[] = { ++ [0] = { ++ .start = EZX_IRQ_ADCDONE2, ++ .end = EZX_IRQ_ADCDONE2, ++ .flags = IORESOURCE_IRQ, ++ }, ++ [1] = { ++ .start = EZX_IRQ_TS, ++ .end = EZX_IRQ_TS, ++ .flags = IORESOURCE_IRQ, ++ } ++}; + ++struct platform_device pcap_ts_device = { ++ .name = "pcap-ts", ++ .id = -1, ++ .dev = { ++ .parent = &ezxpcap_device.dev, ++ }, ++ .num_resources = ARRAY_SIZE(pcap_ts_resources), ++ .resource = pcap_ts_resources, ++}; ++ ++ ++/* OHCI Controller */ + static int ezx_ohci_init(struct device *dev) + { + /* for A780 support (connected with Neptune) */ +@@ -342,6 +366,7 @@ + &ezxpcap_device, + &ezxbp_device, + &ezxemu_device, ++ &pcap_ts_device, + }; + + static void __init a780_init(void) +Index: linux-2.6.21/drivers/input/touchscreen/Makefile +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/Makefile 2007-05-03 18:50:12.000000000 -0300 ++++ linux-2.6.21/drivers/input/touchscreen/Makefile 2007-05-03 18:50:59.000000000 -0300 +@@ -16,3 +16,4 @@ + obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o + obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o + obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o ++obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb index 28be2b8d17..35dc2dff5d 100644 --- a/packages/linux/linux-ezx_2.6.21.bb +++ b/packages/linux/linux-ezx_2.6.21.bb @@ -5,7 +5,7 @@ HOMEPAGE = "http://www.openezx.org" LICENSE = "GPL" DEPENDS += "quilt-native" EZX = "ezx0" -PR = "${EZX}-r3" +PR = "${EZX}-r4" inherit kernel @@ -18,6 +18,7 @@ RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" SRC_URI = " \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://ezx-core.patch;patch=1 \ + file://ezx-pm.patch;patch=1 \ file://ezx-pcap.patch;patch=1 \ file://ezx-mci.patch;patch=1 \ file://pxa27x-udc-support.2.patch;patch=1 \ @@ -26,7 +27,7 @@ SRC_URI = " \ file://ezx-serial-bug-workaround.patch;patch=1 \ file://pxa-kbd.patch;patch=1 \ file://ezx-kbd.patch;patch=1 \ - file://ezx-pm.patch;patch=1 \ + file://pcap-ts.patch;patch=1 \ file://mux_cli.patch;patch=1 \ file://mux-fix.patch;patch=1 \ file://mux-fix-init-errorpath.patch;patch=1 \ @@ -38,9 +39,6 @@ SRC_URI = " \ file://mux-linux-2.6.21-fix.patch;patch=1 \ file://mux-ifdef-ezx-features.patch;patch=1 \ file://mux_debug.patch;patch=1 \ - file://ezx-ts.patch;patch=1 \ - file://pcap_ts.c.patch;patch=1 \ - file://touchscreen-fix-r0.patch;patch=1 \ file://logo_linux_clut224.ppm \ file://defconfig-a780 \ file://defconfig-e680 \ diff --git a/packages/opie-init/opie-init/opie b/packages/opie-init/opie-init/opie index 8f08732797..63eeb7b47d 100755 --- a/packages/opie-init/opie-init/opie +++ b/packages/opie-init/opie-init/opie @@ -64,17 +64,26 @@ case $1 in fi echo Starting Opie.... $SSHAGENT $OPIEDIR/bin/qpe -terminal 3 - sleep 1 - $OPIEDIR/bin/qss </dev/null >/var/log/opie-qss.log 2>&1 & + echo -n >/var/log/opie-qss.log + test -x $OPIEDIR/bin/qpe && { for attempt in 0 1 2 3 4 5 6 7 8 9 a b c d e f ; do + sleep 1 + echo "Waiting for qcop to startup: $attempt ..." >>/var/log/opie-qss.log + $OPIEDIR/bin/qcop QPE/System 'ping()' || continue + echo "Starting qss" >>/var/log/opie-qss.log + $OPIEDIR/bin/qss </dev/null >>/var/log/opie-qss.log 2>&1 + echo "qss exited, will try to restart" >>/var/log/opie-qss.log + done; } & fi ;; 'stop') echo "Stopping Opie..." + killall qss 2>/dev/null killall qpe 2>/dev/null killall opie-login 2>/dev/null killall quicklauncher 2>/dev/null + true ;; diff --git a/packages/opie-init/opie-init_1.2.2.bb b/packages/opie-init/opie-init_1.2.2.bb index 47cca4f066..bc1a4bc4e6 100644 --- a/packages/opie-init/opie-init_1.2.2.bb +++ b/packages/opie-init/opie-init_1.2.2.bb @@ -1,5 +1,5 @@ require ${PN}.inc -PR = "r1" +PR = "r2" SRC_URI = "file://opie-reorgfiles \ file://opie \ diff --git a/packages/prismstumbler/prismstumbler-0.7.3/wireless.patch b/packages/prismstumbler/prismstumbler-0.7.3/wireless.patch new file mode 100644 index 0000000000..729a88d0c3 --- /dev/null +++ b/packages/prismstumbler/prismstumbler-0.7.3/wireless.patch @@ -0,0 +1,21 @@ +--- prismstumbler-0.7.3/src/iface-wlan-14.c.orig 2007-04-30 22:22:11.000000000 +0200 ++++ prismstumbler-0.7.3/src/iface-wlan-14.c 2007-04-30 22:22:40.000000000 +0200 +@@ -26,6 +26,7 @@ + #include <string.h> + #include <errno.h> + ++#include <net/if.h> + #include <sys/ioctl.h> + #include <sys/socket.h> + #include <linux/types.h> /* for "__kernel_caddr_t" et al */ +--- prismstumbler-0.7.3/src/cards.c.orig 2007-04-30 22:23:06.000000000 +0200 ++++ prismstumbler-0.7.3/src/cards.c 2007-04-30 22:23:33.000000000 +0200 +@@ -9,6 +9,8 @@ + + #include <stdio.h> + #include <sys/socket.h> ++#include <linux/types.h> ++#include <net/if.h> + #include <linux/wireless.h> + #include <glib.h> + #include <string.h> diff --git a/packages/prismstumbler/prismstumbler_0.7.3.bb b/packages/prismstumbler/prismstumbler_0.7.3.bb index bf38d10ca1..c0bfdcc5be 100644 --- a/packages/prismstumbler/prismstumbler_0.7.3.bb +++ b/packages/prismstumbler/prismstumbler_0.7.3.bb @@ -10,7 +10,8 @@ RDEPENDS = "wireless-tools" SRC_URI = "${SOURCEFORGE_MIRROR}/prismstumbler/${PN}-${PV}.tar.bz2 \ file://bogoconf.patch;patch=1 \ file://crosscompile.patch;patch=1 \ - file://libz.patch;patch=1;pnum=0" + file://libz.patch;patch=1;pnum=0 \ + file://wireless.patch;patch=1" inherit autotools pkgconfig @@ -19,7 +20,8 @@ EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \ --with-libpcap=${STAGING_DIR}/${HOST_SYS} \ --with-sqlite-includes=${STAGING_INCDIR} \ --with-sqlite-libs=${STAGING_LIBDIR} \ - --without-athena" + --without-athena \ + --without-motif" CFLAGS =+ "-I${S}/include -D_GNU_SOURCE" diff --git a/packages/sword/sword-1.5.9/.mtn2git_empty b/packages/sword/sword-1.5.9/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/sword/sword-1.5.9/.mtn2git_empty diff --git a/packages/sword/sword-1.5.9/gcc-visibility.patch b/packages/sword/sword-1.5.9/gcc-visibility.patch new file mode 100644 index 0000000000..f23a66767f --- /dev/null +++ b/packages/sword/sword-1.5.9/gcc-visibility.patch @@ -0,0 +1,26 @@ +diff --git a/include/rawtext.h b/include/rawtext.h +index 32986fe..1304bf7 100644 +--- a/include/rawtext.h ++++ b/include/rawtext.h +@@ -43,7 +43,7 @@ public: + virtual ~RawText(); + virtual SWBuf &getRawEntryBuf(); + virtual void increment(int steps = 1); +- virtual void decrement(int steps = 1) { increment(-steps); } ++ virtual __attribute__((visibility("default"))) void decrement(int steps = 1) { increment(-steps); } + virtual signed char createSearchFramework( + void (*percent) (char, void *) = &nullPercent, + void *percentUserData = 0); +diff --git a/include/versekey.h b/include/versekey.h +index 0ca5e47..53084d9 100644 +--- a/include/versekey.h ++++ b/include/versekey.h +@@ -253,7 +253,7 @@ public: + */ + virtual const char *getText() const; + virtual const char *getShortText() const; +- virtual void setText(const char *ikey) { SWKey::setText(ikey); parse (); } ++ virtual __attribute__((visibility("default"))) void setText(const char *ikey) { SWKey::setText(ikey); parse (); } + virtual void copyFrom(const SWKey &ikey); + + /** Equates this VerseKey to another VerseKey diff --git a/packages/sword/sword_1.5.9.bb b/packages/sword/sword_1.5.9.bb index 362b75e57c..2c180ac7e3 100644 --- a/packages/sword/sword_1.5.9.bb +++ b/packages/sword/sword_1.5.9.bb @@ -7,7 +7,8 @@ PRIORITY = "optional" LICENSE = "GPL" PR = "r0" -SRC_URI = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.5/sword-${PV}.tar.gz" +SRC_URI = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.5/sword-${PV}.tar.gz \ + file://gcc-visibility.patch;patch=1" inherit autotools pkgconfig diff --git a/packages/tracker/tracker_0.5.4.bb b/packages/tracker/tracker_0.5.4.bb index eaf8c3f566..d10a2a646b 100644 --- a/packages/tracker/tracker_0.5.4.bb +++ b/packages/tracker/tracker_0.5.4.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly." LICENSE = "GPLv2" -DEPENDS = "gtk+ gstreamer gamin libgmime dbus poppler libexif libgsf" +DEPENDS = "file gtk+ gstreamer gamin libgmime dbus poppler libexif libgsf" SRC_URI = "http://www.gnome.org/~jamiemcc/tracker/tracker-${PV}.tar.gz \ file://no-ioprio.patch;patch=1" |