summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/abiword/abiword_2.0.14.bb4
-rw-r--r--packages/base-files/base-files_3.0.14.bb4
-rw-r--r--packages/bluez-utils/bluez-utils-common_2.17.inc2
-rw-r--r--packages/bluez-utils/files/base.patch10
-rw-r--r--packages/gimp/gimp_2.2.7.bb2
-rw-r--r--packages/kdepimpi/files/opie-fontselector-copy.patch19
-rw-r--r--packages/kdepimpi/kdepimpi_2.1.13.bb (renamed from packages/kdepimpi/kdepimpi_2.1.9.bb)0
-rw-r--r--packages/kdepimpi/pwmpi.inc3
-rw-r--r--packages/kdepimpi/pwmpi_2.1.13.bb (renamed from packages/kdepimpi/pwmpi_2.1.9.bb)0
-rw-r--r--packages/libopie/libopie2.inc11
-rw-r--r--packages/linux/linux-openzaurus-2.6.12-mm1/dtl1_cs-add-socket-revE.patch10
-rw-r--r--packages/linux/linux-openzaurus_2.6.11.bb6
-rw-r--r--packages/linux/linux-openzaurus_2.6.12-mm1.bb11
-rw-r--r--packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050228.bb2
-rw-r--r--packages/maemo/nokia770-init/fixup-770.sh8
-rw-r--r--packages/maemo/nokia770-init_1.0.bb9
-rw-r--r--packages/meta/meta-gpe.bb6
-rw-r--r--packages/meta/meta-maemo.bb6
-rw-r--r--packages/meta/meta-sectest-gpe.bb6
-rw-r--r--packages/meta/opie-collections.inc10
-rw-r--r--packages/meta/pivotboot-image.bb4
-rw-r--r--packages/module-init-tools/module-init-tools-3.2-pre7/.mtn2git_empty (renamed from packages/kdepimpi/files/.mtn2git_empty)0
-rw-r--r--packages/module-init-tools/module-init-tools-3.2-pre7/ignore_arch_directory24
-rw-r--r--packages/module-init-tools/module-init-tools-3.2-pre7/manpagesopt39
-rw-r--r--packages/module-init-tools/module-init-tools-cross_3.1.bb4
-rw-r--r--packages/module-init-tools/module-init-tools_3.1.bb2
-rw-r--r--packages/module-init-tools/module-init-tools_3.2-pre7.bb59
-rw-r--r--packages/nfs-utils/nfs-utils_1.0.6.bb4
-rw-r--r--packages/nonworking/freenote/freenote_1.6.1.bb10
-rw-r--r--packages/nonworking/qualendar/qualendar_0.8.0.bb10
-rw-r--r--packages/omnievents/omnievents_2.6.1.bb2
-rw-r--r--packages/openntpd/openntpd_3.7p1.bb2
-rw-r--r--packages/pcmciautils/pcmciautils_005.bb29
-rw-r--r--packages/qpe-gaim/qpe-libgaim_1.4.0.bb (renamed from packages/qpe-gaim/qpe-libgaim_1.3.1.bb)0
-rw-r--r--packages/qte/qte-2.3.10/c7x0-w100-accel.patch877
-rw-r--r--packages/qte/qte-2.3.10/suspend-resume-hooks.patch64
-rw-r--r--packages/qte/qte_2.3.10.bb33
-rw-r--r--packages/sharp-binary-only/sharp-aticore-oss-1.0.1/fixstretchblit.patch30
-rw-r--r--packages/sysfsutils/sysfsutils_1.3.0.bb21
39 files changed, 931 insertions, 412 deletions
diff --git a/packages/abiword/abiword_2.0.14.bb b/packages/abiword/abiword_2.0.14.bb
index d7b0ab507b..751ec9fdf8 100644
--- a/packages/abiword/abiword_2.0.14.bb
+++ b/packages/abiword/abiword_2.0.14.bb
@@ -13,7 +13,7 @@ S = "${WORKDIR}/abiword-${PV}/abi"
SRC_URI = "http://download.sourceforge.net/abiword/abiword-${PV}.tar.bz2"
-FILES_${PN} += " ${datadir}/icons/* \
+FILES_${PN} += "${datadir}/icons/* \
${datadir}/AbiSuite-2.0/AbiWord/glade \
${datadir}/AbiSuite-2.0/AbiWord/scripts \
${datadir}/AbiSuite-2.0/AbiWord/system.profile-en \
@@ -21,7 +21,7 @@ ${datadir}/AbiSuite-2.0/AbiWord/system.profile-en_GB \
#${datadir}/AbiSuite-2.0/templates/A4.awt \
#${datadir}/AbiSuite-2.0/templates/US-Letter.awt \
${datadir}/AbiSuite-2.0/templates/normal.awt \
-${datadir}/AbiSuite-2.0/templates/normal.awt-en_GB \
+${datadir}/AbiSuite-2.0/templates/normal.awt-en_GB \
${datadir}/AbiSuite-2.0/templates/Employee-Directory.awt \
${datadir}/AbiSuite-2.0/templates/Business-Report.awt \
${datadir}/AbiSuite-2.0/templates/Fax-Coversheet.awt \
diff --git a/packages/base-files/base-files_3.0.14.bb b/packages/base-files/base-files_3.0.14.bb
index 4ca12c7aab..2c8071b81b 100644
--- a/packages/base-files/base-files_3.0.14.bb
+++ b/packages/base-files/base-files_3.0.14.bb
@@ -21,7 +21,7 @@ SRC_URI = " \
file://licenses/GPL-2 \
file://licenses/LGPL-2 \
file://licenses/LGPL-2.1 \
- file://licenses/Artistic "
+ file://licenses/Artistic "
S = "${WORKDIR}"
docdir_append = "/${P}"
@@ -38,7 +38,7 @@ dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
${localstatedir}/lock/subsys ${localstatedir}/log \
${localstatedir}/run ${localstatedir}/spool \
/mnt /media /media/card /media/cf /media/net /media/ram \
- /media/union /media/realroot /media/hdd \
+ /media/union /media/realroot /media/hdd \
/media/mmc1"
conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
diff --git a/packages/bluez-utils/bluez-utils-common_2.17.inc b/packages/bluez-utils/bluez-utils-common_2.17.inc
index 69f9514695..348636b926 100644
--- a/packages/bluez-utils/bluez-utils-common_2.17.inc
+++ b/packages/bluez-utils/bluez-utils-common_2.17.inc
@@ -4,7 +4,7 @@ PRIORITY = "optional"
DEPENDS = "bluez-libs-${PV} pcmcia-cs"
RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
file://base.patch;patch=1 \
diff --git a/packages/bluez-utils/files/base.patch b/packages/bluez-utils/files/base.patch
index c4bb288303..337c9aa73e 100644
--- a/packages/bluez-utils/files/base.patch
+++ b/packages/bluez-utils/files/base.patch
@@ -5,7 +5,13 @@
--- bluez-utils-2.17/pcmcia/bluetooth~base.patch
+++ bluez-utils-2.17/pcmcia/bluetooth
-@@ -18,6 +18,10 @@
+@@ -15,9 +15,16 @@
+
+ if [ -r ./shared ]; then . ./shared ; else . /etc/pcmcia/shared ; fi
+
++# Give the port some time to complete initialization
++sleep 5
++
# Get device attributes
get_info $DEVICE
@@ -16,7 +22,7 @@
#
# Serial devices
#
-@@ -25,7 +29,7 @@
+@@ -25,7 +32,7 @@
IRQ=`setserial /dev/$DEVICE | sed -e 's/.*IRQ: //'`
setserial /dev/$DEVICE irq 0 ; setserial /dev/$DEVICE irq $IRQ
diff --git a/packages/gimp/gimp_2.2.7.bb b/packages/gimp/gimp_2.2.7.bb
index 0107916fdc..5380106a64 100644
--- a/packages/gimp/gimp_2.2.7.bb
+++ b/packages/gimp/gimp_2.2.7.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The GIMP is the GNU Image Manipulation Program."
HOMEPAGE = "http://www.gimp.org"
LICENSE = "GPL"
-MAINTAINER = "Koen Kooi <koen@handhelds.org>
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
SRC_URI = "ftp://ftp.gimp.org/pub/gimp/v2.2/gimp-${PV}.tar.bz2"
diff --git a/packages/kdepimpi/files/opie-fontselector-copy.patch b/packages/kdepimpi/files/opie-fontselector-copy.patch
deleted file mode 100644
index c38c25a359..0000000000
--- a/packages/kdepimpi/files/opie-fontselector-copy.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Patch taken from OPIE project
-
-Index: ofontselector.cpp
-===================================================================
-RCS file: /cvs/opie/libopie2/opieui/ofontselector.cpp,v
-retrieving revision 1.7
-retrieving revision 1.8
-diff -u -r1.7 -r1.8
---- kdepim/microkde/ofontselector.cpp.orig 2005-03-08 14:13:14 +0100
-+++ kdepim/microkde/ofontselector.cpp 2005-03-08 14:14:48 +0100
-@@ -137,7 +137,7 @@
- this, SLOT( fontSizeClicked( int ) ) );
- gridLayout->addWidget( d-> m_font_size_list, 3, 1 );
-
-- d-> m_pointbug = ( qt_version ( ) <= 233 );
-+ d->m_pointbug = ( qt_version() == 232 || qt_version() == 233 ); // SharpROM uses 2.3.2
-
- if ( withpreview ) {
- d-> m_preview = new QMultiLineEdit ( this, "Preview" );
diff --git a/packages/kdepimpi/kdepimpi_2.1.9.bb b/packages/kdepimpi/kdepimpi_2.1.13.bb
index f3dde1a2fd..f3dde1a2fd 100644
--- a/packages/kdepimpi/kdepimpi_2.1.9.bb
+++ b/packages/kdepimpi/kdepimpi_2.1.13.bb
diff --git a/packages/kdepimpi/pwmpi.inc b/packages/kdepimpi/pwmpi.inc
index 7f4ebcc5a0..2b77eed0de 100644
--- a/packages/kdepimpi/pwmpi.inc
+++ b/packages/kdepimpi/pwmpi.inc
@@ -12,6 +12,9 @@ INCLUDEPATH+=${STAGING_INCDIR}/kdepimpi/ \
LIBS+=-L${STAGING_LIBDIR}/kdepimpi/ \
"
+do_configure_prepend() {
+}
+
do_stage() {
}
diff --git a/packages/kdepimpi/pwmpi_2.1.9.bb b/packages/kdepimpi/pwmpi_2.1.13.bb
index 904f640955..904f640955 100644
--- a/packages/kdepimpi/pwmpi_2.1.9.bb
+++ b/packages/kdepimpi/pwmpi_2.1.13.bb
diff --git a/packages/libopie/libopie2.inc b/packages/libopie/libopie2.inc
index 1ee7900fb8..75648b3c79 100644
--- a/packages/libopie/libopie2.inc
+++ b/packages/libopie/libopie2.inc
@@ -32,10 +32,15 @@ python __anonymous () {
do_compile() {
install -d ${STAGING_INCDIR}/opie2
install -d ${STAGING_INCDIR}/opie2/private
- for i in `find . -name "*.h"`
- do
+ for module in opiecore opiedb opiemm opienet opiepim opiesecurity opieui
+ do
+ cd $module
+ for i in `find . -name "*.h"`
+ do
install -m 0644 $i ${STAGING_INCDIR}/opie2/`basename $i`
- done
+ done
+ cd ..
+ done
for i in opimcontactsortvector.h opimoccurrence_p.h opimsortvector.h opimtodosortvector.h vobject_p.h opimeventsortvector.h
do
diff --git a/packages/linux/linux-openzaurus-2.6.12-mm1/dtl1_cs-add-socket-revE.patch b/packages/linux/linux-openzaurus-2.6.12-mm1/dtl1_cs-add-socket-revE.patch
new file mode 100644
index 0000000000..a2dbce3325
--- /dev/null
+++ b/packages/linux/linux-openzaurus-2.6.12-mm1/dtl1_cs-add-socket-revE.patch
@@ -0,0 +1,10 @@
+--- linux-2.6.12/drivers/bluetooth/dtl1_cs.c.orig 2005-07-05 11:19:50.000000000 +0200
++++ linux-2.6.12/drivers/bluetooth/dtl1_cs.c 2005-07-05 11:19:51.000000000 +0200
+@@ -810,6 +810,7 @@
+ static struct pcmcia_device_id dtl1_ids[] = {
+ PCMCIA_DEVICE_PROD_ID12("Nokia Mobile Phones", "DTL-1", 0xe1bfdd64, 0xe168480d),
+ PCMCIA_DEVICE_PROD_ID12("Socket", "CF", 0xb38bcc2e, 0x44ebf863),
++ PCMCIA_DEVICE_PROD_ID12("Socket", "CF+ Personal Network Card", 0xb38bcc2e, 0xe732bae3),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, dtl1_ids);
diff --git a/packages/linux/linux-openzaurus_2.6.11.bb b/packages/linux/linux-openzaurus_2.6.11.bb
index 725e130fcf..d93006ffa7 100644
--- a/packages/linux/linux-openzaurus_2.6.11.bb
+++ b/packages/linux/linux-openzaurus_2.6.11.bb
@@ -23,7 +23,7 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.gz \
${JLSRC}/zaurus-base-2.6.11.diff.gz;patch=1 \
${RPSRC}/rndis_fix-r0.patch;patch=1 \
${RPSRC}/w100_malloc-r2.patch;patch=1 \
- ${RPSRC}/pxairq_printk-r0.patch;patch=1 \
+ ${RPSRC}/pxairq_printk-r0.patch;patch=1 \
${RPSRC}/corgi_kbd-r14.patch;patch=1 \
${RPSRC}/corgi_ts-r10.patch;patch=1 \
${RPSRC}/sharp_multi_scoop-r1.patch;patch=1 \
@@ -55,11 +55,11 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.gz \
${DOSRC}/tosa-power-r2.patch;patch=1 \
${DOSRC}/tosa-mmc-r2.patch;patch=1 \
${JLSRC}/zaurus-local-2.6.11.diff.gz;patch=1 \
- ${JLSRC}/zaurus-leds-2.6.11.diff.gz;patch=1 \
+ ${JLSRC}/zaurus-leds-2.6.11.diff.gz;patch=1 \
file://add-oz-release-string.patch;patch=1 \
file://add-elpp-stuff.patch;patch=1 \
file://pxa-serial-hack.patch;patch=1 \
- ${RPSRC}/jl1/pxa-linking-bug.patch;patch=1 \
+ ${RPSRC}/jl1/pxa-linking-bug.patch;patch=1 \
file://defconfig-c7x0 \
file://defconfig-collie \
file://defconfig-poodle \
diff --git a/packages/linux/linux-openzaurus_2.6.12-mm1.bb b/packages/linux/linux-openzaurus_2.6.12-mm1.bb
index 00d3d891b9..fc519ecfbc 100644
--- a/packages/linux/linux-openzaurus_2.6.12-mm1.bb
+++ b/packages/linux/linux-openzaurus_2.6.12-mm1.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL"
#KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
KV = "${@bb.data.getVar('PV',d,True)}"
-PR = "r3"
+PR = "r4"
DOSRC = "http://www.do13.in-berlin.de/openzaurus/patches"
RPSRC = "http://www.rpsys.net/openzaurus/patches"
@@ -28,10 +28,10 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.gz \
${RPSRC}/machtype_update-r1.patch;patch=1 \
${RPSRC}/collie_typofix-r0.patch;patch=1 \
${RPSRC}/rmk_armsmp_fix-r0.patch;patch=1 \
- ${RPSRC}/corgi_tspmu-r1.patch;patch=1 \
+ ${RPSRC}/corgi_tspmu-r1.patch;patch=1 \
${RPSRC}/oprofile_trace-r3.patch;patch=1 \
${RPSRC}/preempt_nwfpe-r0.patch;patch=1 \
- ${RPSRC}/w100_core-r0.patch;patch=1 \
+ ${RPSRC}/w100_core-r0.patch;patch=1 \
${RPSRC}/w100_corgi-r0.patch;patch=1 \
${RPSRC}/corgi_kbd3-r6.patch;patch=1 \
${RPSRC}/corgi_kbd_susres-r0.patch;patch=1 \
@@ -48,7 +48,7 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.gz \
${RPSRC}/corgi_snd-r6.patch;patch=1 \
${RPSRC}/pxa_i2c-r2.patch;patch=1 \
${DOSRC}/pxa-i2c-suspend-r0.patch;patch=1 \
- ${DOSRC}/pxa-i2c-func-r0.patch;patch=1 \
+ ${DOSRC}/pxa-i2c-func-r0.patch;patch=1 \
${RPSRC}/mmc_timeout-r0.patch;patch=1 \
${RPSRC}/spitz_mtd-r0.patch;patch=1 \
${RPSRC}/ipaq/hx2750_base-r17.patch;patch=1 \
@@ -73,8 +73,9 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.gz \
${JLSRC}/zaurus-local-2.6.11.diff.gz;patch=1 \
file://add-oz-release-string.patch;patch=1 \
file://add-elpp-stuff.patch;patch=1 \
- file://pxa-serial-hack.patch;patch=1 \
+ file://pxa-serial-hack.patch;patch=1 \
${RPSRC}/jl1/pxa-linking-bug.patch;patch=1 \
+ file://dtl1_cs-add-socket-revE.patch;patch=1 \
file://defconfig-c7x0 \
file://defconfig-ipaq-pxa-2.6 \
file://defconfig-collie \
diff --git a/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050228.bb b/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050228.bb
index 3855300e31..b1dc3d7081 100644
--- a/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050228.bb
+++ b/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050228.bb
@@ -35,7 +35,7 @@ SRC_URI = "http://developer.ezaurus.com/sl_j/source/c1000/20050228/linux-c1000-2
file://logo.patch;patch=1 \
file://initsh.patch;patch=1 \
file://disable-pcmcia-probe.patch;patch=1 \
- file://deviceinfo.patch;patch=1 \
+ file://deviceinfo.patch;patch=1 \
file://corgi-fbcon-logo.patch;patch=1 \
file://corgi-default-brightness.patch;patch=1 \
file://1764-1.patch;patch=1 \
diff --git a/packages/maemo/nokia770-init/fixup-770.sh b/packages/maemo/nokia770-init/fixup-770.sh
index 02c18d4108..b65fb131e3 100644
--- a/packages/maemo/nokia770-init/fixup-770.sh
+++ b/packages/maemo/nokia770-init/fixup-770.sh
@@ -4,6 +4,14 @@ case "$1" in
echo -n "Unmounting virtual fs from initrd"
umount /mnt/initfs/sys
umount /mnt/initfs/proc
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/vc/6 /dev/tty6
+ ln -s /dev/vc/7 /dev/tty7
;;
stop)
;;
diff --git a/packages/maemo/nokia770-init_1.0.bb b/packages/maemo/nokia770-init_1.0.bb
index 1cef924598..ab3333b438 100644
--- a/packages/maemo/nokia770-init_1.0.bb
+++ b/packages/maemo/nokia770-init_1.0.bb
@@ -1,6 +1,6 @@
LICENSE = "GPL"
MAINTAINER = "Florian Boor <florian@kernelconcepts.de"
-PR = "r1"
+PR = "r3"
DEPENDS = "base-passwd hotplug-dbus"
@@ -17,7 +17,7 @@ INITSCRIPT_PARAMS = "defaults 01"
do_install () {
install -d ${D}${sysconfdir}/init.d
- install -m 755 ${S}/fixup-770.sh ${D}/${sysconfdir}/init.d/fixup-770.sh
+ install -m 755 ${WORKDIR}/fixup-770.sh ${D}/${sysconfdir}/init.d/fixup-770.sh
install -d ${D}/lib/firmware
}
@@ -31,7 +31,10 @@ if [ "x$D" != "x" ]; then
fi
# set up some links to firmware and modules in initrd
- ln -sf /mnt/initfs/lib/firmware/* /lib/firmware/
+ mkdir -p /lib/firmware
+ ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3825.arm /lib/firmware/3825.arm
+ ln -sf /mnt/initfs/usr/lib/hotplug/firmware/brf6150fw.bin /lib/firmware/brf6150fw.bin
+ ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3825.arm /lib/firmware/mtlm3825.arm
rm -rf /lib/modules
ln -s /mnt/initfs/lib/modules /lib/modules
diff --git a/packages/meta/meta-gpe.bb b/packages/meta/meta-gpe.bb
index 93e7c0b0a8..306d31a39e 100644
--- a/packages/meta/meta-gpe.bb
+++ b/packages/meta/meta-gpe.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Meta-package for GPE Palmtop Environment"
MAINTAINER = "Phil Blundell <pb@handhelds.org>"
PR = "r36"
-ALLOW_EMPTY = 1
+ALLOW_EMPTY = "1"
gpe-base-depends = "\
diet-x11 \
@@ -32,7 +32,7 @@ gpe-task-base = "\
gpe-autostarter \
libgtkstylus \
detect-stylus \
- teleport \
+ teleport \
xauth"
RDEPENDS_gpe-task-base := "gdk-pixbuf-loader-png \
@@ -102,4 +102,4 @@ DEPENDS += " ${gpe-task-games}"
DEPENDS += "matchbox-themes-extra"
-LICENSE = MIT
+LICENSE = "MIT"
diff --git a/packages/meta/meta-maemo.bb b/packages/meta/meta-maemo.bb
index 6f8e886a22..17b9c66653 100644
--- a/packages/meta/meta-maemo.bb
+++ b/packages/meta/meta-maemo.bb
@@ -4,7 +4,7 @@ PACKAGES = maemo-task-base maemo-task-apps maemo-task-libs-install maemo-task
DESCRIPTION = "Meta-package for maemo environment"
MAINTAINER = "Florian Boor <florian@kernelconcepts.de>"
-ALLOW_EMPTY = 1
+ALLOW_EMPTY = "1"
maemo-base-depends = "\
diet-x11 \
@@ -80,7 +80,7 @@ maemo-task-apps = "\
hildon-home \
hildon-navigator \
hildon-control-panel \
- osso-application-installer \
+ osso-application-installer \
osso-app-killer \
osso-screenshot-tool \
gpe-todo-hildon \
@@ -89,4 +89,4 @@ maemo-task-apps = "\
RDEPENDS_maemo-task-apps := "${maemo-task-apps}"
DEPENDS += " ${maemo-task-apps}"
-LICENSE = MIT
+LICENSE = "MIT"
diff --git a/packages/meta/meta-sectest-gpe.bb b/packages/meta/meta-sectest-gpe.bb
index 6976699029..db9d86cdd6 100644
--- a/packages/meta/meta-sectest-gpe.bb
+++ b/packages/meta/meta-sectest-gpe.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Meta-package for GPE Security Testing Image"
MAINTAINER = "Bob Davies tyggerbob@rogers.com>"
PR = "r5"
-ALLOW_EMPTY = 1
+ALLOW_EMPTY = "1"
gpe-base-depends = "\
diet-x11 \
@@ -84,7 +84,7 @@ sectest-task-apps = "\
kismet \
hydra \
thcrut \
- driftnet \
+ driftnet \
miniclipboard"
RDEPENDS_sectest-task-apps := "${sectest-task-apps}"
@@ -93,4 +93,4 @@ DEPENDS += " ${sectest-task-apps}"
DEPENDS += "matchbox-themes-extra gtk-industrial-engine"
-LICENSE = MIT
+LICENSE = "MIT"
diff --git a/packages/meta/opie-collections.inc b/packages/meta/opie-collections.inc
index a2b2e79bdb..c2d15dee58 100644
--- a/packages/meta/opie-collections.inc
+++ b/packages/meta/opie-collections.inc
@@ -36,7 +36,7 @@ OPIE_BASE_STYLES = "opie-style-flat opie-style-liquid opie-style-fresh \
OPIE_BASE_DEPENDS = "ipkg timezones ntp bluez-utils-nodbus irda-utils \
openobex-apps libopieobex0 wireless-tools usbutils"
OPIE_BASE_RDEPENDS = "timezones ntpdate opie-handwriting-classicset \
- bluez-utils-nodbus openobex-apps libopieobex0 wireless-tools usbutils"
+ bluez-utils-nodbus openobex-apps libopieobex0 wireless-tools "
#
# Clamshell models can benefit from the autorotate applet
@@ -98,5 +98,9 @@ def opie_more_rdepends(d):
if root_flash_size >= 24: return bb.data.getVar( "OPIE_RDEPENDS_24", d, True )
else: return " "
-OPIE_MORE_DEPENDS := "${@opie_more_depends(d)}"
-OPIE_MORE_RDEPENDS := "${@opie_more_rdepends(d)}"
+OPIE_MORE_DEPENDS := "${@opie_more_depends(d)}"
+
+
+
+
+# # OPIE_MORE_RDEPENDS := "${@opie_more_rdepends(d)}"
diff --git a/packages/meta/pivotboot-image.bb b/packages/meta/pivotboot-image.bb
index 7d533e3806..0b8211cb8a 100644
--- a/packages/meta/pivotboot-image.bb
+++ b/packages/meta/pivotboot-image.bb
@@ -12,6 +12,6 @@ FEED_URIS_append_openzaurus = " x11##http://openzaurus.org/official/unstable/${D
e##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/e"
FEED_URIS_append_familiar = " x11##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/x11 \
- opie##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/opie \
+ opie##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/opie"
-LICENSE = MIT
+LICENSE = "MIT"
diff --git a/packages/kdepimpi/files/.mtn2git_empty b/packages/module-init-tools/module-init-tools-3.2-pre7/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/kdepimpi/files/.mtn2git_empty
+++ b/packages/module-init-tools/module-init-tools-3.2-pre7/.mtn2git_empty
diff --git a/packages/module-init-tools/module-init-tools-3.2-pre7/ignore_arch_directory b/packages/module-init-tools/module-init-tools-3.2-pre7/ignore_arch_directory
new file mode 100644
index 0000000000..185ea7a3a5
--- /dev/null
+++ b/packages/module-init-tools/module-init-tools-3.2-pre7/ignore_arch_directory
@@ -0,0 +1,24 @@
+diff -ruN module-init-tools-3.1-pre6.orig/modprobe.8 module-init-tools-3.1-pre6/modprobe.8
+--- module-init-tools-3.2-pre7/modprobe.8.orig 2005-07-05 13:52:32.000000000 +0200
++++ module-init-tools-3.2-pre7/modprobe.8 2005-07-05 13:52:42.000000000 +0200
+@@ -31,6 +31,7 @@
+ \fI/etc/modprobe.conf\fR configuration file and
+ \fI/etc/modprobe.d\fR directory
+ (see \fBmodprobe.conf\fR(5)).
++All files in the \fI/etc/modprobe.d/arch/\fR directory are ignored.
+ .PP
+ Note that this version of \fBmodprobe\fR does not
+ do anything to the module itself: the work of resolving symbols
+--- module-init-tools-3.2-pre7/modprobe.c.orig 2005-07-05 13:50:00.000000000 +0200
++++ module-init-tools-3.2-pre7/modprobe.c 2005-07-05 13:50:15.000000000 +0200
+@@ -1158,6 +1158,10 @@
+ DIR *dir;
+ int ret = 0;
+
++ /* ignore everything in this directory */
++ if (streq(filename, "/etc/modprobe.d/arch"))
++ return 1;
++
+ /* Reiser4 has file/directory duality: treat it as both. */
+ dir = opendir(filename);
+ if (dir) {
diff --git a/packages/module-init-tools/module-init-tools-3.2-pre7/manpagesopt b/packages/module-init-tools/module-init-tools-3.2-pre7/manpagesopt
new file mode 100644
index 0000000000..ee1454c6ef
--- /dev/null
+++ b/packages/module-init-tools/module-init-tools-3.2-pre7/manpagesopt
@@ -0,0 +1,39 @@
+Index: module-init-tools-3.1/configure.in
+===================================================================
+--- module-init-tools-3.1.orig/configure.in 2004-11-12 00:05:25.000000000 -0500
++++ module-init-tools-3.1/configure.in 2005-01-20 02:23:16.409792288 -0500
+@@ -41,5 +41,14 @@
+ fi])
+ AC_SUBST(MODULE_DIR)
+
+-AC_OUTPUT([Makefile])
++AC_ARG_ENABLE(manpages,
++[ --disable-manpages Disable man page generation.],
++[if test x"$enableval" != x"no"; then
++ enable_manpages=yes
++else
++ enable_manpages=no
++fi],
++[enable_manpages=yes])
++AM_CONDITIONAL([MANPAGES], test x"$enable_manpages" = x"yes")
+
++AC_OUTPUT([Makefile])
+--- module-init-tools-3.2-pre7/Makefile.am.orig 2005-07-05 13:55:06.000000000 +0200
++++ module-init-tools-3.2-pre7/Makefile.am 2005-07-05 13:55:31.000000000 +0200
+@@ -21,13 +21,14 @@
+ MAN5 = modprobe.conf.5 modules.dep.5
+ MAN8 = depmod.8 insmod.8 lsmod.8 rmmod.8 modprobe.8 modinfo.8
+ SGML = $(addprefix doc/, $(MAN5:%.5=%.sgml) $(MAN8:%.8=%.sgml))
+-man_MANS = $(MAN5) $(MAN8)
+ # If they haven't overridden mandir, fix it (never /man!)
+ mandir =$(shell if [ @mandir@ = $(prefix)/man ]; then if [ $(prefix) = / ]; then echo /usr/share/man; else echo $(prefix)/share/man; fi; else echo @mandir@; fi)
+
+ TESTSUITE := $(shell find tests -type f ! -name '*~')
+
+-EXTRA_DIST = generate-modprobe.conf modprobe.devfs FAQ CODING stress_modules.sh install-with-care $(SGML) $(man_MANS) $(TESTSUITE)
++if MANPAGES
++man_MANS = $(MAN5) $(MAN8)
++endif
+
+ sbin_PROGRAMS = insmod modprobe rmmod depmod modinfo insmod.static
+ bin_PROGRAMS = lsmod
diff --git a/packages/module-init-tools/module-init-tools-cross_3.1.bb b/packages/module-init-tools/module-init-tools-cross_3.1.bb
index ce3c232df2..56fec56072 100644
--- a/packages/module-init-tools/module-init-tools-cross_3.1.bb
+++ b/packages/module-init-tools/module-init-tools-cross_3.1.bb
@@ -1,10 +1,10 @@
-LICENSE = GPL
+LICENSE = "GPL"
include module-init-tools_${PV}.bb
inherit cross
DEFAULT_PREFERENCE = "0"
PROVIDES += "virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}depmod-2.6"
-PR=r3
+PR="r3"
# When cross compiling depmod as shipped cannot handle endian
# differences between host and target, this fixes the problem.
diff --git a/packages/module-init-tools/module-init-tools_3.1.bb b/packages/module-init-tools/module-init-tools_3.1.bb
index 25db614ed6..62523f513a 100644
--- a/packages/module-init-tools/module-init-tools_3.1.bb
+++ b/packages/module-init-tools/module-init-tools_3.1.bb
@@ -1,4 +1,4 @@
-LICENSE = GPL
+LICENSE = "GPL"
SECTION = "base"
DESCRIPTION = "This package contains a set of programs for loading, inserting, and \
removing kernel modules for Linux (versions 2.5.48 and above). It serves \
diff --git a/packages/module-init-tools/module-init-tools_3.2-pre7.bb b/packages/module-init-tools/module-init-tools_3.2-pre7.bb
new file mode 100644
index 0000000000..90da33addb
--- /dev/null
+++ b/packages/module-init-tools/module-init-tools_3.2-pre7.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "This package contains a set of programs for loading, inserting, and \
+removing kernel modules for Linux (versions 2.5.48 and above). It serves \
+the same function that the modutils package serves for Linux 2.4."
+LICENSE = GPL
+SECTION = "base"
+PR = "r0"
+
+PACKAGES =+ "module-init-tools-insmod-static module-init-tools-depmod"
+RDEPENDS_${PN} += "module-init-tools-depmod"
+
+FILES_module-init-tools-depmod = "${sbindir}/depmod.26"
+FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
+ file://ignore_arch_directory;patch=1 \
+ file://modutils_extension;patch=1 \
+ file://no_man_rebuild;patch=1 \
+ file://manpagesopt;patch=1 "
+S = "${WORKDIR}/module-init-tools-${PV}"
+
+EXTRA_OECONF = "--disable-manpages"
+
+bindir = "/bin"
+sbindir = "/sbin"
+
+inherit autotools
+
+do_install() {
+ autotools_do_install
+ for f in bin/lsmod sbin/insmod sbin/rmmod sbin/modprobe sbin/modinfo sbin/depmod; do
+ mv ${D}/$f ${D}/$f.26
+ done
+}
+
+pkg_postinst_module-init-tools() {
+#!/bin/sh
+for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/depmod sbin/modinfo bin/lsmod; do
+bn=`basename $f`
+ update-alternatives --install /$f $bn /$f.26 20
+done
+}
+
+pkg_prerm_module-init-tools() {
+#!/bin/sh
+for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/depmod sbin/modinfo bin/lsmod; do
+bn=`basename $f`
+ update-alternatives --remove $bn /$f.26
+done
+}
+
+pkg_postinst_module-init-tools-depmod() {
+#!/bin/sh
+update-alternatives --install /sbin/depmod depmod /sbin/depmod.26 20
+}
+
+pkg_prerm_module-init-tools() {
+#!/bin/sh
+update-alternatives --remove depmod /sbin/depmod.26
+}
diff --git a/packages/nfs-utils/nfs-utils_1.0.6.bb b/packages/nfs-utils/nfs-utils_1.0.6.bb
index f37e76f071..068fb315ad 100644
--- a/packages/nfs-utils/nfs-utils_1.0.6.bb
+++ b/packages/nfs-utils/nfs-utils_1.0.6.bb
@@ -1,8 +1,8 @@
DESCRIPTION = "userspace utilities for kernel nfs"
-PRIORITY = "optional
+PRIORITY = "optional"
SECTION = "console/networking"
MAINTAINER = "dyoung <dyoung@thestuffguy.com>"
-LICENSE = GPL
+LICENSE = "GPL"
PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.gz \
diff --git a/packages/nonworking/freenote/freenote_1.6.1.bb b/packages/nonworking/freenote/freenote_1.6.1.bb
index dacafdb365..d8ada414e9 100644
--- a/packages/nonworking/freenote/freenote_1.6.1.bb
+++ b/packages/nonworking/freenote/freenote_1.6.1.bb
@@ -14,9 +14,9 @@ do_configure_prepend() {
}
do_install() {
- install -d ${D}/opt/QtPalmtop/{bin,apps/Applications,pics}
- install -D -m 755 freenoteeintu ${D}/opt/QtPalmtop/bin/freenoteeintu
- install -D -m 644 ${FILESDIR}/freenoteeintu.desktop ${D}/opt/QtPalmtop/apps/Applications/freenoteeintu.desktop
- install -d ${D}/opt/QtPalmtop/pics
- cp -a *.png ${D}/opt/QtPalmtop/pics/
+ install -d ${D}${palmtopdir}/{bin,apps/Applications,pics}
+ install -D -m 755 freenoteeintu ${D}${palmtopdir}/bin/freenoteeintu
+ install -D -m 644 ${FILESDIR}/freenoteeintu.desktop ${D}${palmtopdir}/apps/Applications/freenoteeintu.desktop
+ install -d ${D}/${palmtopdir}/pics
+ cp -a *.png ${D}${palmtopdir}/pics/
}
diff --git a/packages/nonworking/qualendar/qualendar_0.8.0.bb b/packages/nonworking/qualendar/qualendar_0.8.0.bb
index a6a73f19d8..3a4bb15e35 100644
--- a/packages/nonworking/qualendar/qualendar_0.8.0.bb
+++ b/packages/nonworking/qualendar/qualendar_0.8.0.bb
@@ -9,9 +9,9 @@ S = ${WORKDIR}/${PN}/src
inherit palmtop
do_install() {
- install -d ${D}/opt/QtPalmtop/{bin,apps/Applications,pics}
- install -D -m 755 qualendar ${D}/opt/QtPalmtop/bin/qualendar
- install -D -m 644 qualendar.desktop ${D}/opt/QtPalmtop/apps/Applications/qualendar.desktop
- install -d ${D}/opt/QtPalmtop/pics
- cp -a *.png ${D}/opt/QtPalmtop/pics/
+ install -d ${D}${palmtopdir}/{bin,apps/Applications,pics}
+ install -D -m 755 qualendar ${D}${palmtopdir}/bin/qualendar
+ install -D -m 644 qualendar.desktop ${D}${palmtopdir}/apps/Applications/qualendar.desktop
+ install -d ${D}${palmtopdir}/pics
+ cp -a *.png ${D}${palmtopdir}/pics/
}
diff --git a/packages/omnievents/omnievents_2.6.1.bb b/packages/omnievents/omnievents_2.6.1.bb
index 482ae837d5..779dd9a84e 100644
--- a/packages/omnievents/omnievents_2.6.1.bb
+++ b/packages/omnievents/omnievents_2.6.1.bb
@@ -1,5 +1,5 @@
PR = "r0"
-DESCRIPTION = "OmniEvent service for omniORB
+DESCRIPTION = "OmniEvent service for omniORB"
SECTION = "devel"
PRIORITY = "optional"
MAINTAINER = "Philip Balister <philip@balister.org>"
diff --git a/packages/openntpd/openntpd_3.7p1.bb b/packages/openntpd/openntpd_3.7p1.bb
index 033f959510..37173e58c7 100644
--- a/packages/openntpd/openntpd_3.7p1.bb
+++ b/packages/openntpd/openntpd_3.7p1.bb
@@ -10,7 +10,7 @@ PR="r1"
SRC_URI = "http://www.zip.com.au/~dtucker/openntpd/release/openntpd-${PV}.tar.gz \
file://autofoo.patch;patch=1 \
file://adjtimex-${PV}.patch;patch=1 \
- file://makefile-install.patch;patch=1 \
+ file://makefile-install.patch;patch=1 \
file://init"
S = "${WORKDIR}/openntpd-${PV}"
diff --git a/packages/pcmciautils/pcmciautils_005.bb b/packages/pcmciautils/pcmciautils_005.bb
new file mode 100644
index 0000000000..ad8cf7e2f4
--- /dev/null
+++ b/packages/pcmciautils/pcmciautils_005.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "2.6 pcmcia utilities"
+DEPENDS = "sysfsutils"
+SECTION = "kernel/userland"
+PRIORITY = "optional"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-${PV}.tar.bz2"
+S = "${WORKDIR}/pcmciautils-${PV}"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "coldplug"
+INITSCRIPT_PARAMS = "defaults"
+
+export HOSTCC = "${BUILD_CC}"
+export etcdir = "${sysconfdir}"
+export hotplugdir = "${sysconfdir}/hotplug"
+export pcmciaconfdir = "${sysconfdir}/pcmcia"
+LD = "${CC}"
+CFLAGS =+ "-I${S}/src"
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs'"
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+CONFFILES_${PN} += "${sysconfdir}/pcmcia/config.opts"
+RCONFLICTS_${PN} += "pcmcia-cs"
diff --git a/packages/qpe-gaim/qpe-libgaim_1.3.1.bb b/packages/qpe-gaim/qpe-libgaim_1.4.0.bb
index 824dee5c39..824dee5c39 100644
--- a/packages/qpe-gaim/qpe-libgaim_1.3.1.bb
+++ b/packages/qpe-gaim/qpe-libgaim_1.4.0.bb
diff --git a/packages/qte/qte-2.3.10/c7x0-w100-accel.patch b/packages/qte/qte-2.3.10/c7x0-w100-accel.patch
index f1d52066a8..0399e18b9d 100644
--- a/packages/qte/qte-2.3.10/c7x0-w100-accel.patch
+++ b/packages/qte/qte-2.3.10/c7x0-w100-accel.patch
@@ -648,7 +648,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+#endif
--- /dev/null
+++ qt-2.3.10/src/kernel/qgfxw100_qws.cpp
-@@ -0,0 +1,2283 @@
+@@ -0,0 +1,2514 @@
+ /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil -*- */
+/***************************************************************************
+
@@ -680,7 +680,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+#include <stdarg.h>
+
-+class W100Control {
++class W100Driver {
+public:
+
+ typedef enum Loglevel {
@@ -700,6 +700,12 @@ Manuel Teira <manuel.teira@telefonica.net>
+ EOO
+ };
+
++ typedef enum Retcodes {
++ codOK,
++ codError
++ };
++
++
+ typedef struct Opcode {
+ QString str;
+ int index;
@@ -728,19 +734,20 @@ Manuel Teira <manuel.teira@telefonica.net>
+ }
+ }
+
-+ W100Control():
++ W100Driver():
+ m_loglevel( 0 ),
-+ m_enabled( 0 )
++ m_logenabled( 0 ),
++ m_attached( false )
+ {
+ m_loglevel = 0;
+ char *var;
+ if ( var = getenv( "W100_DEBUG" ) ) {
+ if ( strtol( var, 0, 0 ) == 1 ) {
-+ m_enabled = 1;
++ m_logenabled = 1;
+ }
+ }
+
-+ if ( m_enabled ) {
++ if ( m_logenabled ) {
+ if ( var = getenv( "W100_DEBUGLEVEL" ) ) {
+ if ( ( m_loglevel = strtol( var, 0, 0 ) ) < 0 ) {
+ m_loglevel = 0;
@@ -752,7 +759,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ path = QString( var ) + "/w100debug.log";
+ }
+ m_logfile = fopen( path.latin1(), "a" );
-+ if ( m_logfile == NULL ) m_enabled = 0;
++ if ( m_logfile == NULL ) m_logenabled = 0;
+ }
+
+ Opcode *opcodePtr = lOpcodes;
@@ -769,7 +776,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ }
+ }
+
-+ ~W100Control()
++ ~W100Driver()
+ {
+ //Dump statistics about any opcode
+ Opcode *opcodePtr = lOpcodes;
@@ -781,13 +788,14 @@ Manuel Teira <manuel.teira@telefonica.net>
+ opcodePtr->misses );
+ opcodePtr++;
+ }
-+ if ( m_enabled && m_logfile ) {
++ if ( m_logenabled && m_logfile ) {
+ fclose( m_logfile );
+ }
+ }
+
+ bool accelerated( int opcode )
+ {
++ if ( !m_attached ) return false;
+ if ( opcode < EOO ) {
+ return lOpcodes[opcode].accelerated;
+ }
@@ -806,7 +814,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+ void log( int level, const char *fmt, ... )
+ {
-+ if ( m_enabled && ( level <= m_loglevel ) ) {
++ if ( m_logenabled && ( level <= m_loglevel ) ) {
+ char buffer[1024];
+ va_list ap;
+ va_start( ap, fmt );
@@ -819,234 +827,434 @@ Manuel Teira <manuel.teira@telefonica.net>
+ }
+ }
+
-+private:
-+ FILE *m_logfile;
-+ int m_loglevel;
-+ bool m_enabled;
-+};
+
-+W100Control::Opcode W100Control::lOpcodes[] = {
-+ { "DRAWLINE", W100Control::DRAWLINE, true, 0, 0 },
-+ { "DRAWPOINT", W100Control::DRAWPOINT, true, 0, 0 },
-+ { "DRAWPOINTS", W100Control::DRAWPOINTS, true, 0, 0 },
-+ { "FILLRECT", W100Control::FILLRECT, true, 0, 0 },
-+ { "SCROLL", W100Control::SCROLL, true, 0, 0 },
-+ { "BITBLT", W100Control::BITBLT, true, 0, 0 },
-+ { "POLYLINE", W100Control::POLYLINE, true, 0, 0 },
-+ { "" , W100Control::EOO, false, 0, 0 }
-+};
++ int processAttach( void )
++ {
++ if ( !m_attached ) {
++ if ( AtiCore_ProcessAttach() ) {
++ m_attached = true;
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+W100Control control;
++ int processDetach( void )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_ProcessDetach() ) {
++ m_attached = false;
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_ProcessAttach( void )
-+{
-+ return( AtiCore_ProcessAttach() );
-+}
++ int allocateSurface( uint16_t *handle, uint32_t *offset,
++ uint32_t size, uint32_t direction )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_AllocateSurface( handle, offset,
++ size, direction ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_ProcessDetach( void )
-+{
-+ return( AtiCore_ProcessDetach() );
-+}
++ int destroySurface( uint16_t handle )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_DestroySurface( handle ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_AllocateSurface( uint16_t *handle, uint32_t *offset,
-+ uint32_t size, uint32_t direction )
-+{
-+ return( AtiCore_AllocateSurface( handle, offset, size, direction ) );
-+}
++ int drawPixel( int npoints, ATI_POINT *points )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_DrawPixel( npoints, points ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_DestroySurface( uint16_t handle )
-+{
-+ return( AtiCore_DestroySurface( handle ) );
-+}
++ int setRopOperation( uint32_t rop )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetRopOperation( rop ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_DrawPixel( int npoints, ATI_POINT *points )
-+{
-+ return( AtiCore_DrawPixel( npoints, points ) );
-+}
++ int setDstType( uint32_t dtype )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetDstType( dtype ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetRopOperation( uint32_t rop )
-+{
-+ return( AtiCore_SetRopOperation( rop ) );
-+}
++ int setSrcType( uint32_t stype )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetSrcType( stype ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetDstType( uint32_t dtype )
-+{
-+ return( AtiCore_SetDstType( dtype ) );
-+}
++ int setSrcClippingRect( ATI_CLIPRECT *cliprect )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetSrcClippingRect( cliprect ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetSrcType( uint32_t stype )
-+{
-+ return( AtiCore_SetSrcType( stype ) );
-+}
++ int setDstClippingRect( ATI_CLIPRECT *cliprect )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetDstClippingRect( cliprect ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetSrcClippingRect( ATI_CLIPRECT *cliprect )
-+{
-+ return( AtiCore_SetSrcClippingRect( cliprect ) );
-+}
++ int setSrcPitchOffset( int pitch, int offset )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetSrcPitchOffset( pitch, offset ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetDstClippingRect( ATI_CLIPRECT *cliprect )
-+{
-+ return( AtiCore_SetDstClippingRect( cliprect ) );
-+}
++ int setDstPitchOffset( int pitch, int offset )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetDstPitchOffset( pitch, offset ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetSrcPitchOffset( int pitch, int offset )
-+{
-+ return( AtiCore_SetSrcPitchOffset( pitch, offset ) );
-+}
++ int bitBltFlipRotate( int rot,
++ ATI_RECT *dstRect,
++ ATI_RECT *srcRect )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_BitBltFilpRotate( rot, dstRect, srcRect ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetDstPitchOffset( int pitch, int offset )
-+{
-+ return( AtiCore_SetDstPitchOffset( pitch, offset ) );
-+}
++ int stretchBlt( ATI_STRETCH *option,
++ ATI_POINT *point,
++ ATI_RECT *srcRect )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_StretchBlt( option, point, srcRect ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_BitBltFilpRotate( int flags,
-+ ATI_RECT *dstRect,
-+ ATI_RECT *srcRect )
-+{
-+ return( AtiCore_BitBltFilpRotate( flags, dstRect, srcRect ) );
-+}
++ int waitComplete( int msec )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_WaitComplete( msec ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_StretchBlt( ATI_STRETCH *option,
-+ ATI_POINT *point,
-+ ATI_RECT *srcRect )
-+{
-+ return( AtiCore_StretchBlt( option, point, srcRect ) );
-+}
++ int allocOverlay( uint16_t *handle )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_AllocOverlay( handle ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_WaitComplete( int msec )
-+{
-+ return( AtiCore_WaitComplete( msec ) );
-+}
++ int releaseOverlay( uint16_t handle )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_ReleaseOverlay( handle ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_AllocOverlay( uint16_t *handle )
-+{
-+ return( AtiCore_AllocOverlay( handle ) );
-+}
++ int setupOverlay( uint16_t handle, ATI_OVERLAYPROP *prop )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetupOverlay( handle, prop ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_ReleaseOverlay( uint16_t handle )
-+{
-+ return( AtiCore_ReleaseOverlay( handle ) );
-+}
++ int setupOverlayExtended( uint16_t handle,
++ ATI_EXTENDEDOVERLAYPROP *prop )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetupOverlayExtended( handle, prop ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetupOverlay( uint16_t handle, ATI_OVERLAYPROP *prop )
-+{
-+ return( AtiCore_SetupOverlay( handle, prop ) );
-+}
++ int setOverlayOnOff( uint16_t handle, int isShow )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetOverlayOnOff( handle, isShow ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetupOverlayExtended( uint16_t handle, ATI_EXTENDEDOVERLAYPROP *prop )
-+{
-+ return( AtiCore_SetupOverlayExtended( handle, prop ) );
-+}
++ int setOverlayPos( uint16_t handle, uint16_t x, uint16_t y )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetOverlayPos( handle, x, y ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetOverlayOnOff( uint16_t handle, int isShow )
-+{
-+ return( AtiCore_SetOverlayOnOff( handle, isShow ) );
-+}
++ int setupMemoryTransfer( uint32_t offset, uint32_t *regdata )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetupMemoryTransfer( offset, regdata ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetOverlayPos( uint16_t handle, uint16_t x, uint16_t y )
-+{
-+ return( AtiCore_SetOverlayPos( handle, x, y ) );
-+}
++ int terminateMemoryTransfer( void )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_TerminateMemoryTransfer() ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetupMemoryTransfer( uint32_t offset, uint32_t *regdata )
-+{
-+ return( AtiCore_SetupMemoryTransfer( offset, regdata ) );
-+}
++ int getFrontBufferPitchOffset( uint32_t *pitch, uint32_t *offset )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_GetFrontBufferPitchOffset( pitch, offset ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_TerminateMemoryTransfer( void )
-+{
-+ return( AtiCore_TerminateMemoryTransfer() );
-+}
++ int setDisplayBrightness( int bri )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetDisplayBrightness( bri ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_GetFrontBufferPitchOffset( uint32_t *pitch, uint32_t *offset )
-+{
-+ return( AtiCore_GetFrontBufferPitchOffset( pitch, offset ) );
-+}
++ int getAvailableVideoMem( uint32_t *internal, uint32_t *external )
++ {
++ if ( m_attached ) {
++ if ( GetAvailableVideoMem( internal, external ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetDisplayBrightness( int bri )
-+{
-+ return( AtiCore_SetDisplayBrightness( bri ) );
-+}
++ int setupGraphicWindow( ATI_GRAPHICWINDOW *win )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetupGraphicWindow( ( void * ) win ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_GetAvailableVideoMem( uint32_t *internal, uint32_t *external )
-+{
-+ return( GetAvailableVideoMem( internal, external ) );
-+}
++ int processAttachSpecialMode( int mode )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_ProcessAttachSpecialMode( mode ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetupGraphicWindow( ATI_GRAPHICWINDOW *win )
-+{
-+ return( AtiCore_SetupGraphicWindow( ( void * ) win ) );
-+}
++ int setGraphicWindowPos( int x, int y )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetGraphicWindowPos( x, y ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_ProcessAttachSpecialMode( int mode )
-+{
-+ return( AtiCore_ProcessAttachSpecialMode( mode ) );
-+}
++ int setFrontBuffer( int offset, int a, int b )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetFrontBuffer( offset, a, b ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetGraphicWindowPos( int x, int y )
-+{
-+ return( AtiCore_SetGraphicWindowPos( x, y ) );
-+}
++ int setGraphicWindowOnOff( int val )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetGraphicWindowOnOff( val ) ) {
++ return codOK;
++ }
++ }
++ }
+
-+static int W100_SetFrontBuffer( int offset, int a, int b )
-+{
-+ return( AtiCore_SetFrontBuffer( offset, a, b ) );
-+}
++ static unsigned long ccolor( unsigned int rgb )
++ {
++ unsigned char r = ( rgb & 0xff0000 ) >> 19;
++ unsigned char g = ( rgb & 0xff00 ) >> 10;
++ unsigned char b = ( rgb & 0xff ) >> 3;
++ return ( ( ( ( unsigned short )0x1f & r ) << 11 ) |
++ ( ( ( unsigned short )0x3f & g ) << 5 ) |
++ ( ( ( unsigned short )0x1f & b ) ) );
++ }
+
-+static int W100_SetGraphicWindowOnOff( int val )
-+{
-+ return( AtiCore_SetGraphicWindowOnOff( val ) );
-+}
++ int setFrgColour( int val )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_SetFrgColour( ccolor( val ) ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static unsigned long ccolor( unsigned int rgb )
-+{
-+ unsigned char r = ( rgb & 0xff0000 ) >> 19;
-+ unsigned char g = ( rgb & 0xff00 ) >> 10;
-+ unsigned char b = ( rgb & 0xff ) >> 3;
-+ return ( ( ( ( unsigned short )0x1f & r ) << 11 ) |
-+ ( ( ( unsigned short )0x3f & g ) << 5 ) |
-+ ( ( ( unsigned short )0x1f & b ) ) );
-+}
++ int brushType( int type, unsigned int pattern )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_BrushType( type, &pattern ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_SetFrgColour( int val )
-+{
-+ return( AtiCore_SetFrgColour( ccolor( val ) ) );
-+}
++ int paintRect( int flags, ATI_RECT *rect )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_PaintRect( flags, rect ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_BrushType( int type, unsigned int pattern )
-+{
-+ return( AtiCore_BrushType( type, &pattern ) );
-+}
++ int polyline( int npoints, ATI_POINT *points )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_Polyline( npoints, points ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_PaintRect( int flags, ATI_RECT *rect )
-+{
-+ return( AtiCore_PaintRect( flags, rect ) );
-+}
++ int getPitchOffsetProperty( void *pitch, void *offset )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_GetPitchOffsetProperty( pitch, offset ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_Polyline( int npoints, ATI_POINT *points )
-+{
-+ return( AtiCore_Polyline( npoints, points ) );
-+}
++ int cursorOnOff( int a, int b )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_CursorOnOff( a, b ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_GetPitchOffsetProperty( void *pitch, void *offset )
-+{
-+ return( AtiCore_GetPitchOffsetProperty( pitch, offset ) );
-+}
++ int bitBlt( int flags, ATI_RECT *dst, ATI_RECT *src )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_BitBlt( flags, dst, src ) ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_CursorOnOff( int a, int b )
-+{
-+ return( AtiCore_CursorOnOff( a, b ) );
-+}
++ int wakeUpCall( void )
++ {
++ if ( m_attached ) {
++ if ( AtiCore_WakeUpCall() ) {
++ return codOK;
++ }
++ }
++ return codError;
++ }
+
-+static int W100_BitBlt( int flags, ATI_RECT *dst, ATI_RECT *src )
-+{
-+ return( AtiCore_BitBlt( flags, dst, src ) );
-+}
++private:
++ FILE *m_logfile;
++ int m_loglevel;
++ bool m_logenabled;
++ bool m_attached;
++};
+
-+static int W100_WakeUpCall( void )
-+{
-+ return( AtiCore_WakeUpCall() );
-+}
++W100Driver::Opcode W100Driver::lOpcodes[] = {
++ { "DRAWLINE", W100Driver::DRAWLINE, true, 0, 0 },
++ { "DRAWPOINT", W100Driver::DRAWPOINT, true, 0, 0 },
++ { "DRAWPOINTS", W100Driver::DRAWPOINTS, true, 0, 0 },
++ { "FILLRECT", W100Driver::FILLRECT, true, 0, 0 },
++ { "SCROLL", W100Driver::SCROLL, true, 0, 0 },
++ { "BITBLT", W100Driver::BITBLT, true, 0, 0 },
++ { "POLYLINE", W100Driver::POLYLINE, true, 0, 0 },
++ { "" , W100Driver::EOO, false, 0, 0 }
++};
++
++W100Driver driver;
+
+class QW100Screen;
+static QW100Screen *qt_w100_screen = 0;
@@ -1128,6 +1336,9 @@ Manuel Teira <manuel.teira@telefonica.net>
+ QMap< uchar*, HWSurface > *getPSurfaceMap( void ) const;
+ void clearCache( int clientId );
+
++ // Suspend/resume hooks
++ virtual void prepareToSuspend();
++ virtual void prepareToResume();
+ // Rotation stuff
+ enum Transformation { None, Rot90, Rot180, Rot270 };
+ void setTransformation( Transformation t );
@@ -1153,6 +1364,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ static void clearCache( QScreen *instance, int clientId );
+ QMap< uchar*, HWSurface > surfaceMap;
+ int vramoffset;
++ bool m_isServer;
+ virtual int pixmapLinestepAlignment() { return 128; }
+};
+
@@ -1282,8 +1494,8 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return FALSE;
+ }
+ sourcepixelpitch = ( this->srclinestep * 8 ) / this->srcdepth;
-+ W100_SetSrcPitchOffset( sourcepixelpitch,
-+ src_buffer_offset );
++ driver.setSrcPitchOffset( sourcepixelpitch,
++ src_buffer_offset );
+ }
+ return TRUE;
+}
@@ -1297,9 +1509,9 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return FALSE;
+ }
+ int pixelstep = ( this->linestep() * 8 ) / depth;
-+ W100_SetDstPitchOffset( pixelstep, buffer_offset );
++ driver.setDstPitchOffset( pixelstep, buffer_offset );
+ if ( setsrc ) {
-+ W100_SetSrcPitchOffset( pixelstep, buffer_offset );
++ driver.setSrcPitchOffset( pixelstep, buffer_offset );
+ }
+ return TRUE;
+}
@@ -1325,8 +1537,8 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return;
+ }
+
-+ if ( !control.accelerated( W100Control::DRAWLINE ) ) {
-+ control.addMiss( W100Control::DRAWLINE );
++ if ( !driver.accelerated( W100Driver::DRAWLINE ) ) {
++ driver.addMiss( W100Driver::DRAWLINE );
+ QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
+ return;
+ }
@@ -1336,7 +1548,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ ( this->myrop != this->CopyROP ) ||
+ ( this->cpen.width() > 1 ) ||
+ ( this->dashedLines ) ) {
-+ control.addMiss( W100Control::DRAWLINE );
++ driver.addMiss( W100Driver::DRAWLINE );
+ QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2);
+ return;
+ }
@@ -1346,7 +1558,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ QWSDisplay::grab( true );
+ if ( !checkDest() ) {
+ QWSDisplay::ungrab();
-+ control.addMiss( W100Control::DRAWLINE );
++ driver.addMiss( W100Driver::DRAWLINE );
+ QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
+ return;
+ }
@@ -1389,9 +1601,9 @@ Manuel Teira <manuel.teira@telefonica.net>
+ /*
+ * Just a dirty hack. Comment it out for now
+ if ( this->dashedLines ) {
-+ W100_BrushType( 4, 0xaaaaaaaa );
++ brushType( 4, 0xaaaaaaaa );
+ } else {
-+ W100_BrushType( 6, 0 );
++ brushType( 6, 0 );
+ }
+ switch( this->cpen.style() ) {
+ case Qt::NoPen:
@@ -1417,15 +1629,15 @@ Manuel Teira <manuel.teira@telefonica.net>
+ }
+ */
+
-+ //if ( control.lastOp() != W100Control::DRAWLINE &&
-+ //control.lastOp() != W100Control::POLYLINE ) {
-+ W100_SetDstType( DSTTYPE_16BPP_1555 );
-+ W100_SetSrcType( SRCTYPE_EQU_DST );
-+ W100_SetRopOperation( ROP3_PATCOPY );
-+ W100_BrushType( 6, 0 );
++ //if ( driver.lastOp() != W100Driver::DRAWLINE &&
++ //driver.lastOp() != W100Driver::POLYLINE ) {
++ driver.setDstType( DSTTYPE_16BPP_1555 );
++ driver.setSrcType( SRCTYPE_EQU_DST );
++ driver.setRopOperation( ROP3_PATCOPY );
++ driver.brushType( 6, 0 );
+ //}
-+ W100_SetFrgColour( this->cpen.color().rgb() );
-+ control.addHit( W100Control::DRAWLINE );
++ driver.setFrgColour( this->cpen.color().rgb() );
++ driver.addHit( W100Driver::DRAWLINE );
+
+ //The imageon seems not to write on the edge of the clip
+ //for the polyline op.
@@ -1444,9 +1656,9 @@ Manuel Teira <manuel.teira@telefonica.net>
+ clip.Y_Top_Left = this->cliprect[loopc].y();
+ clip.X_Bottom_Right = this->cliprect[loopc].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[loopc].bottom() + 1;
-+ W100_SetDstClippingRect( &clip );
++ driver.setDstClippingRect( &clip );
+
-+ W100_Polyline( 3, points );
++ driver.polyline( 3, points );
+ }
+
+ // Software mouse cursor stuff
@@ -1488,15 +1700,15 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return;
+ }
+
-+ if ( !control.accelerated( W100Control::POLYLINE ) ) {
-+ control.addMiss( W100Control::POLYLINE );
++ if ( !driver.accelerated( W100Driver::POLYLINE ) ) {
++ driver.addMiss( W100Driver::POLYLINE );
+ QGfxRaster<depth,type>::drawPolyline( a, index, npoints );
+ return;
+ }
+
+ if ( this->cpen.style() != this->SolidLine ||
+ this->myrop != this->CopyROP ) {
-+ control.addMiss( W100Control::POLYLINE );
++ driver.addMiss( W100Driver::POLYLINE );
+ QGfxRaster<depth,type>::drawPolyline( a, index, npoints );
+ return;
+ }
@@ -1504,26 +1716,26 @@ Manuel Teira <manuel.teira@telefonica.net>
+ QWSDisplay::grab( TRUE );
+ if ( !checkDest() ) {
+ QWSDisplay::ungrab();
-+ control.addMiss( W100Control::POLYLINE );
++ driver.addMiss( W100Driver::POLYLINE );
+ QGfxRaster<depth,type>::drawPolyline( a, index, npoints );
+ return;
+ }
+
+ ( *optype ) = 1;
+
-+ //if ( control.lastOp() != W100Control::POLYLINE &&
-+ //control.lastOp() != W100Control::DRAWLINE ) {
++ //if ( driver.lastOp() != W100Driver::POLYLINE &&
++ //driver.lastOp() != W100Driver::DRAWLINE ) {
+
-+ W100_SetDstType( DSTTYPE_16BPP_1555 );
-+ W100_SetSrcType( SRCTYPE_EQU_DST );
-+ W100_SetRopOperation( ROP3_PATCOPY );
-+ W100_BrushType( 6, 0 );
++ driver.setDstType( DSTTYPE_16BPP_1555 );
++ driver.setSrcType( SRCTYPE_EQU_DST );
++ driver.setRopOperation( ROP3_PATCOPY );
++ driver.brushType( 6, 0 );
+
+ //}
+
-+ W100_SetFrgColour( this->cpen.color().rgb() );
++ driver.setFrgColour( this->cpen.color().rgb() );
+
-+ control.addHit( W100Control::POLYLINE );
++ driver.addHit( W100Driver::POLYLINE );
+
+ ATI_POINT *points = new ATI_POINT[ npoints + 1 ];
+
@@ -1536,16 +1748,16 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+
+ GFX_START( clipbounds );
-+ W100_SetFrgColour( this->cpen.color().rgb() );
-+ W100_SetRopOperation( ROP3_PATCOPY );
++ driver.setFrgColour( this->cpen.color().rgb() );
++ driver.setRopOperation( ROP3_PATCOPY );
+ for ( int loopc = 0; loopc < this->ncliprect; loopc++ ) {
+ ATI_CLIPRECT clip;
+ clip.X_Top_Left = this->cliprect[loopc].x();
+ clip.Y_Top_Left = this->cliprect[loopc].y();
+ clip.X_Bottom_Right = this->cliprect[loopc].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[loopc].bottom() + 1;
-+ W100_SetDstClippingRect( &clip );
-+ W100_Polyline( npoints + 1, points );
++ driver.setDstClippingRect( &clip );
++ driver.polyline( npoints + 1, points );
+ }
+ GFX_END;
+
@@ -1598,15 +1810,15 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return;
+ }
+
-+ if ( !control.accelerated( W100Control::DRAWPOINT) ) {
-+ control.addMiss( W100Control::DRAWPOINT );
++ if ( !driver.accelerated( W100Driver::DRAWPOINT) ) {
++ driver.addMiss( W100Driver::DRAWPOINT );
+ QGfxRaster<depth,type>::drawPoint( x, y );
+ return;
+ }
+
+ if ( this->cpen.style() != this->SolidLine ||
+ this->myrop != this->CopyROP ) {
-+ control.addMiss( W100Control::DRAWPOINT );
++ driver.addMiss( W100Driver::DRAWPOINT );
+ QGfxRaster<depth,type>::drawPoint( x, y );
+ return;
+ }
@@ -1614,12 +1826,12 @@ Manuel Teira <manuel.teira@telefonica.net>
+ QWSDisplay::grab( TRUE );
+ if ( !checkDest() ) {
+ QWSDisplay::ungrab();
-+ control.addMiss( W100Control::DRAWPOINT );
++ driver.addMiss( W100Driver::DRAWPOINT );
+ QGfxRaster<depth,type>::drawPoint( x, y );
+ return;
+ }
+
-+ control.addHit( W100Control::DRAWPOINT );
++ driver.addHit( W100Driver::DRAWPOINT );
+ ( *optype ) = 1;
+
+ ATI_POINT point;
@@ -1627,16 +1839,16 @@ Manuel Teira <manuel.teira@telefonica.net>
+ point.YCoord = y + this->yoffs;
+
+ GFX_START( clipbounds );
-+ W100_SetFrgColour( this->cpen.color().rgb() );
-+ W100_SetRopOperation( ROP3_PATCOPY );
++ driver.setFrgColour( this->cpen.color().rgb() );
++ driver.setRopOperation( ROP3_PATCOPY );
+ for ( int loopc = 0; loopc < this->ncliprect; loopc++ ) {
+ ATI_CLIPRECT clip;
+ clip.X_Top_Left = this->cliprect[loopc].x();
+ clip.Y_Top_Left = this->cliprect[loopc].y();
+ clip.X_Bottom_Right = this->cliprect[loopc].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[loopc].bottom() + 1;
-+ W100_SetDstClippingRect( &clip );
-+ W100_DrawPixel( 1, &point );
++ driver.setDstClippingRect( &clip );
++ driver.drawPixel( 1, &point );
+ }
+ GFX_END;
+ QWSDisplay::ungrab();
@@ -1667,15 +1879,15 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return;
+ }
+
-+ if ( !control.accelerated( W100Control::DRAWPOINTS ) ) {
-+ control.addMiss( W100Control::DRAWPOINTS );
++ if ( !driver.accelerated( W100Driver::DRAWPOINTS ) ) {
++ driver.addMiss( W100Driver::DRAWPOINTS );
+ QGfxRaster<depth,type>::drawPoints( a, index, npoints );
+ return;
+ }
+
+ if ( this->cpen.style() != this->SolidLine ||
+ this->myrop != this->CopyROP ) {
-+ control.addMiss( W100Control::DRAWPOINTS );
++ driver.addMiss( W100Driver::DRAWPOINTS );
+ QGfxRaster<depth,type>::drawPoints( a, index, npoints );
+ return;
+ }
@@ -1683,12 +1895,12 @@ Manuel Teira <manuel.teira@telefonica.net>
+ QWSDisplay::grab( TRUE );
+ if ( !checkDest() ) {
+ QWSDisplay::ungrab();
-+ control.addMiss( W100Control::DRAWPOINTS );
++ driver.addMiss( W100Driver::DRAWPOINTS );
+ QGfxRaster<depth,type>::drawPoints( a, index, npoints );
+ return;
+ }
+
-+ control.addHit( W100Control::DRAWPOINTS );
++ driver.addHit( W100Driver::DRAWPOINTS );
+ ( *optype ) = 1;
+
+ ATI_POINT *points = new ATI_POINT[ npoints ];
@@ -1698,16 +1910,16 @@ Manuel Teira <manuel.teira@telefonica.net>
+ }
+
+ GFX_START( clipbounds );
-+ W100_SetFrgColour( this->cpen.color().rgb() );
-+ W100_SetRopOperation( ROP3_PATCOPY );
++ driver.setFrgColour( this->cpen.color().rgb() );
++ driver.setRopOperation( ROP3_PATCOPY );
+ for ( int loopc = 0; loopc < this->ncliprect; loopc++ ) {
+ ATI_CLIPRECT clip;
+ clip.X_Top_Left = this->cliprect[loopc].x();
+ clip.Y_Top_Left = this->cliprect[loopc].y();
+ clip.X_Bottom_Right = this->cliprect[loopc].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[loopc].bottom() + 1;
-+ W100_SetDstClippingRect( &clip );
-+ W100_DrawPixel( npoints, points );
++ driver.setDstClippingRect( &clip );
++ driver.drawPixel( npoints, points );
+ }
+ GFX_END;
+
@@ -1740,8 +1952,8 @@ Manuel Teira <manuel.teira@telefonica.net>
+ int w, int h,
+ int sx, int sy )
+{
-+ if ( !control.accelerated( W100Control::SCROLL ) ) {
-+ control.addMiss( W100Control::SCROLL );
++ if ( !driver.accelerated( W100Driver::SCROLL ) ) {
++ driver.addMiss( W100Driver::SCROLL );
+ QGfxRaster<depth,type>::scroll( rx, ry, w, h, sx, sy );
+ return;
+ }
@@ -1773,13 +1985,13 @@ Manuel Teira <manuel.teira@telefonica.net>
+ ( *optype ) = 1;
+
+
-+ //if ( control.lastOp() != W100Control::SCROLL ) {
-+ W100_SetRopOperation( ROP3_SRCCOPY );
-+ W100_SetDstType( DSTTYPE_16BPP_1555 );
-+ W100_SetSrcType( SRCTYPE_EQU_DST );
++ //if ( driver.lastOp() != W100Driver::SCROLL ) {
++ driver.setRopOperation( ROP3_SRCCOPY );
++ driver.setDstType( DSTTYPE_16BPP_1555 );
++ driver.setSrcType( SRCTYPE_EQU_DST );
+ //}
+
-+ control.addHit( W100Control::SCROLL );
++ driver.addHit( W100Driver::SCROLL );
+
+ ATI_RECT srcrect, dstrect;
+
@@ -1791,7 +2003,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ dstrect.YCoord = ry;
+ dstrect.Width = w;
+ dstrect.Height = h;
-+ control.log( W100Control::WARNING,
++ driver.log( W100Driver::WARNING,
+ "scroll [%d,%d,%d,%d] ->[%d,%d,%d,%d]",
+ sx, sy, w, h, rx, ry, w, h );
+ for ( int loopc = 0; loopc < this->ncliprect; loopc++ ) {
@@ -1801,8 +2013,8 @@ Manuel Teira <manuel.teira@telefonica.net>
+ clip.X_Bottom_Right = this->cliprect[ loopc ].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[ loopc ].bottom() + 1;
+
-+ W100_SetDstClippingRect( &clip );
-+ W100_BitBlt( 1, &dstrect, &srcrect );
++ driver.setDstClippingRect( &clip );
++ driver.bitBlt( 1, &dstrect, &srcrect );
+ }
+ GFX_END;
+ QWSDisplay::ungrab();
@@ -1810,7 +2022,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ } else {
+ QWSDisplay::ungrab();
+ // software fallback
-+ control.addMiss( W100Control::SCROLL );
++ driver.addMiss( W100Driver::SCROLL );
+ QGfxRaster<depth,type>::scroll( rx, ry, w, h, sx, sy );
+ }
+}
@@ -1834,21 +2046,21 @@ Manuel Teira <manuel.teira@telefonica.net>
+{
+ if ( w <= 0 || h <= 0 || this->ncliprect < 1 ) return;
+
-+ if ( !control.accelerated( W100Control::FILLRECT ) ) {
-+ control.addMiss( W100Control::FILLRECT );
++ if ( !driver.accelerated( W100Driver::FILLRECT ) ) {
++ driver.addMiss( W100Driver::FILLRECT );
+ QGfxRaster<depth,type>::fillRect( rx, ry, w, h );
+ return;
+ }
+
+ if ( ( this->cbrush.style() != this->NoBrush ) &&
+ ( this->cbrush.style() != this->SolidPattern ) ) {
-+ control.addMiss( W100Control::FILLRECT );
++ driver.addMiss( W100Driver::FILLRECT );
+ QGfxRaster<depth,type>::fillRect( rx, ry, w, h );
+ return;
+ }
+
+ if ( !checkDest() || ( this->myrop != this->CopyROP ) ) {
-+ control.addMiss( W100Control::FILLRECT );
++ driver.addMiss( W100Driver::FILLRECT );
+ QGfxRaster<depth,type>::fillRect( rx, ry, w, h );
+ return;
+ }
@@ -1860,15 +2072,15 @@ Manuel Teira <manuel.teira@telefonica.net>
+ GFX_START( QRect( rx, ry, w + 1, h + 1 ) );
+
+ ( *optype ) = 1;
-+ //if ( control.lastOp() != W100Control::FILLRECT ) {
-+ W100_SetDstType( DSTTYPE_16BPP_1555 );
-+ W100_SetSrcType( SRCTYPE_EQU_DST );
-+ W100_SetRopOperation( ROP3_PATCOPY );
-+ W100_BrushType( 6, 0 );
++ //if ( driver.lastOp() != W100Driver::FILLRECT ) {
++ driver.setDstType( DSTTYPE_16BPP_1555 );
++ driver.setSrcType( SRCTYPE_EQU_DST );
++ driver.setRopOperation( ROP3_PATCOPY );
++ driver.brushType( 6, 0 );
+ //}
-+ W100_SetFrgColour( this->cbrush.color().rgb() );
++ driver.setFrgColour( this->cbrush.color().rgb() );
+
-+ control.addHit( W100Control::FILLRECT );
++ driver.addHit( W100Driver::FILLRECT );
+
+ if ( this->cbrush.style() != this->NoBrush ) {
+ //Using all the cliprects
@@ -1881,12 +2093,12 @@ Manuel Teira <manuel.teira@telefonica.net>
+ clip.X_Bottom_Right = this->cliprect[ loopc ].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[ loopc ].bottom() + 1;
+
-+ W100_SetDstClippingRect( &clip );
++ driver.setDstClippingRect( &clip );
+ rect.XCoord = rx;
+ rect.YCoord = ry;
+ rect.Width = w;
+ rect.Height = h;
-+ W100_PaintRect( 1, &rect );
++ driver.paintRect( 1, &rect );
+ }
+ }
+ GFX_END;
@@ -1940,8 +2152,8 @@ Manuel Teira <manuel.teira@telefonica.net>
+ return;
+ }
+
-+ if ( !control.accelerated( W100Control::BITBLT ) ) {
-+ control.addMiss( W100Control::BITBLT );
++ if ( !driver.accelerated( W100Driver::BITBLT ) ) {
++ driver.addMiss( W100Driver::BITBLT );
+ QGfxRaster<depth,type>::blt( rx, ry, w, h, sx, sy );
+ return;
+ }
@@ -1951,13 +2163,13 @@ Manuel Teira <manuel.teira@telefonica.net>
+ this->alphatype == this->SeparateAlpha ||
+ this->srctype == this->SourcePen ||
+ ( this->myrop != this->CopyROP ) ) {
-+ control.addMiss( W100Control::BITBLT );
++ driver.addMiss( W100Driver::BITBLT );
+ QGfxRaster<depth,type>::blt( rx, ry, w, h, sx, sy );
+ return;
+ }
+
+ if( ( this->srcdepth != 16 ) || this->alphatype != this->IgnoreAlpha ) {
-+ control.addMiss( W100Control::BITBLT );
++ driver.addMiss( W100Driver::BITBLT );
+ QGfxRaster<depth,type>::blt( rx, ry, w, h, sx, sy );
+ return;
+ }
@@ -1969,13 +2181,13 @@ Manuel Teira <manuel.teira@telefonica.net>
+ w + 1, h + 1 ) );
+ ( *optype ) = 1;
+
-+ //if ( control.lastOp() != W100Control::BITBLT ) {
-+ W100_SetRopOperation( ROP3_SRCCOPY );
-+ W100_SetDstType( DSTTYPE_16BPP_1555 );
-+ W100_SetSrcType( SRCTYPE_EQU_DST );
++ //if ( driver.lastOp() != W100Driver::BITBLT ) {
++ driver.setRopOperation( ROP3_SRCCOPY );
++ driver.setDstType( DSTTYPE_16BPP_1555 );
++ driver.setSrcType( SRCTYPE_EQU_DST );
+ //}
+
-+ control.addHit( W100Control::BITBLT );
++ driver.addHit( W100Driver::BITBLT );
+
+ ATI_RECT rect1;
+ ATI_RECT rect2;
@@ -1997,8 +2209,8 @@ Manuel Teira <manuel.teira@telefonica.net>
+ clip.Y_Top_Left = this->cliprect[ loopc ].y();
+ clip.X_Bottom_Right = this->cliprect[ loopc ].right() + 1;
+ clip.Y_Bottom_Right = this->cliprect[ loopc ].bottom() + 1;
-+ W100_SetDstClippingRect( &clip );
-+ W100_BitBlt( 1, &rect2, &rect1 );
++ driver.setDstClippingRect( &clip );
++ driver.bitBlt( 1, &rect2, &rect1 );
+ }
+ GFX_END;
+
@@ -2007,7 +2219,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+ } else {
+ QWSDisplay::ungrab();
+ // software fallback
-+ control.addMiss( W100Control::BITBLT );
++ driver.addMiss( W100Driver::BITBLT );
+ QGfxRaster<depth,type>::blt( rx, ry,
+ w, h, sx, sy );
+ }
@@ -2077,7 +2289,7 @@ Manuel Teira <manuel.teira@telefonica.net>
+template<const int depth,const int type>
+void QGfxW100<depth,type>::sync()
+{
-+ W100_WaitComplete( -1 );
++ driver.waitComplete( -1 );
+}
+
+template <const int depth, const int type>
@@ -2142,11 +2354,10 @@ Manuel Teira <manuel.teira@telefonica.net>
+ }
+}
+
-+
-+
+QW100Screen::QW100Screen( int display_id )
+ :QLinuxFbScreen( display_id ),
-+ vramoffset( 0 )
++ vramoffset( 0 ),
++ m_isServer( false )
+{
+ qt_w100_screen = this;
+ vramoffset = 0;
@@ -2190,14 +2401,14 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+bool QW100Screen::connect( const QString &displaySpec )
+{
-+ control.log( W100Control::WARNING, "QW100Screen::connect('%s')",
++ driver.log( W100Driver::WARNING, "QW100Screen::connect('%s')",
+ displaySpec.latin1() );
+ trans = getTransSpec( displaySpec );
+
+ if ( QLinuxFbScreen::connect( displaySpec ) ) {
+ vramoffset = ( w == 320 ) ? 0 : 0x0f000000;
-+ if ( W100_ProcessAttach() ) {
-+ W100_ProcessAttachSpecialMode( ( w == 480 ) ? 0xaaab : 0xaaaa );
++ if ( driver.processAttach() == W100Driver::codOK ) {
++ driver.processAttachSpecialMode( ( w == 480 ) ? 0xaaab : 0xaaaa );
+ surfaceMap.clear();
+ surfaceMap.insert( 0, HWSurface( vramoffset,
+ data , false,
@@ -2214,25 +2425,43 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+void QW100Screen::disconnect( void )
+{
-+ control.log( W100Control::WARNING, "QW100Screen::disconnect()" );
-+ W100_ProcessDetach();
++ driver.log( W100Driver::WARNING, "QW100Screen::disconnect()" );
++ driver.processDetach();
+ QLinuxFbScreen::disconnect();
+ printf( "[%d]QW100Screen disconnected with %d surfaces\n",
+ getpid(), surfaceMap.count() );
+ surfaceMap.clear();
+}
+
++void QW100Screen::prepareToSuspend( void )
++{
++ driver.log( W100Driver::WARNING,
++ "QW100Screen::prepareToSuspend. Server = %s",
++ m_isServer ? "true" : "false" );
++ driver.processDetach();
++}
++
++void QW100Screen::prepareToResume( void )
++{
++ driver.log( W100Driver::WARNING,
++ "QW100Screen::prepareToResume. Server = %s",
++ m_isServer ? "true": "false" );
++ driver.processAttach();
++ if ( m_isServer ) {
++ w100init();
++ }
++}
++
+QW100Screen::~QW100Screen()
+{
+}
+
+bool QW100Screen::w100init()
+{
-+ control.log( W100Control::WARNING,
++ driver.log( W100Driver::WARNING,
+ "QW100Screen::w100init(%dx%d)", dw, dh );
+ ATI_GRAPHICWINDOW win;
+ ATI_CLIPRECT clip;
-+ int ret;
+
+ win.dummy1 = 0;
+ win.Size.XCoord = 0;
@@ -2243,30 +2472,29 @@ Manuel Teira <manuel.teira@telefonica.net>
+ win.Height = dw > dh ? dw : dh;
+ win.Flag = DSTTYPE_16BPP_444;
+
-+ ret = W100_SetupGraphicWindow( &win );
-+ if ( !ret ) {
++ if ( driver.setupGraphicWindow( &win ) != W100Driver::codOK ) {
+ return false;
+ }
-+ ret = W100_SetGraphicWindowPos( 0, 0 );
++ driver.setGraphicWindowPos( 0, 0 );
+
-+ ret = W100_SetFrontBuffer( vramoffset, 0, 0 );
-+ ret = W100_SetDstPitchOffset( dw, vramoffset );
-+ ret = W100_SetDstType( DSTTYPE_16BPP_444 );
-+ ret = W100_SetSrcPitchOffset( dw, vramoffset );
-+ ret = W100_SetSrcType( SRCTYPE_SOLID_COLOR_BLT );
++ driver.setFrontBuffer( vramoffset, 0, 0 );
++ driver.setDstPitchOffset( dw, vramoffset );
++ driver.setDstType( DSTTYPE_16BPP_444 );
++ driver.setSrcPitchOffset( dw, vramoffset );
++ driver.setSrcType( SRCTYPE_SOLID_COLOR_BLT );
+ clip.X_Top_Left = 0;
+ clip.Y_Top_Left = 0;
+ clip.X_Bottom_Right = dw;
+ clip.Y_Bottom_Right = dh;
-+ ret = W100_SetDstClippingRect( &clip );
++ driver.setDstClippingRect( &clip );
+
+ clip.X_Top_Left = 0xE000;
+ clip.Y_Top_Left = 0xE000;
+ clip.X_Bottom_Right = 0x1FFF;
+ clip.Y_Bottom_Right = 0x1FFF;
+
-+ ret = W100_SetSrcClippingRect( &clip );
-+ ret = W100_SetGraphicWindowOnOff( 1 );
++ driver.setSrcClippingRect( &clip );
++ driver.setGraphicWindowOnOff( 1 );
+ return true;
+}
+
@@ -2276,8 +2504,9 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+bool QW100Screen::initDevice()
+{
-+ control.log( W100Control::WARNING, "initDevice( dw=%d, dh=%d )",
++ driver.log( W100Driver::WARNING, "initDevice( dw=%d, dh=%d )",
+ dw, dh );
++ m_isServer = true;
+
+ if ( !w100init() ) return false;
+
@@ -2293,19 +2522,20 @@ Manuel Teira <manuel.teira@telefonica.net>
+
+void QW100Screen::shutdownDevice()
+{
-+ control.log( W100Control::WARNING, "Shutting down device" );
++ driver.log( W100Driver::WARNING, "Shutting down device" );
+ QLinuxFbScreen::shutdownDevice();
+}
+
+void QW100Screen::restore()
+{
-+ control.log( W100Control::WARNING, "Restoring W100..." );
++ driver.log( W100Driver::WARNING, "Restoring W100..." );
+ /*
-+ W100_WakeUpCall();
++ wakeUpCall();
+ initDevice();
-+ QLinuxFbScreen::restore();
++
+ */
-+ control.log( W100Control::WARNING, "Restoring done" );
++ QLinuxFbScreen::restore();
++ driver.log( W100Driver::WARNING, "Restoring done" );
+}
+
+
@@ -2376,14 +2606,15 @@ Manuel Teira <manuel.teira@telefonica.net>
+#else
+ int retcode = 0;
+ qt_fbdpy->grab( true );
-+ retcode = W100_AllocateSurface( &hSurface,
-+ &surfaceOffset,
-+ amount, 1 );
++ retcode = driver.allocateSurface( &hSurface,
++ &surfaceOffset,
++ amount, 1 );
+ qt_fbdpy->ungrab();
+ if ( retcode ) {
+ internal = true;
-+ W100_SetupMemoryTransfer( surfaceOffset, (uint32_t*) &localAddr );
-+ W100_TerminateMemoryTransfer();
++ driver.setupMemoryTransfer( surfaceOffset,
++ (uint32_t*) &localAddr );
++ driver.terminateMemoryTransfer();
+ } else {
+ // Try to use the offscreen framebuffer memory
+ // to allocate the surface. Use the qgfxlinuxfb routines
@@ -2408,10 +2639,10 @@ Manuel Teira <manuel.teira@telefonica.net>
+{
+ QMap< uchar*, HWSurface >::Iterator itr;
+ if ( ( itr = surfaceMap.find( c ) ) != surfaceMap.end() ) {
-+ W100_WaitComplete( -1 );
++ driver.waitComplete( -1 );
+ if ( itr.data().internal() ) {
+ qt_fbdpy->grab( true );
-+ W100_DestroySurface( itr.data().getHandle() );
++ driver.destroySurface( itr.data().getHandle() );
+ qt_fbdpy->ungrab();
+ } else {
+ QLinuxFbScreen::uncache( c );
@@ -2458,13 +2689,13 @@ Manuel Teira <manuel.teira@telefonica.net>
+void QW100Screen::clearCache( int clientId )
+{
+ printf( "[%d] CLEARING CACHE FOR %d\n", getpid(), clientId );
-+ control.log( W100Control::WARNING, "Cleaning cache for '%d'", clientId );
++ driver.log( W100Driver::WARNING, "Cleaning cache for '%d'", clientId );
+ QMap< uchar*, HWSurface >::Iterator itr = surfaceMap.begin();
+ while ( itr != surfaceMap.end() ) {
+ if ( itr.data().getCId() == clientId ) {
+ if ( itr.data().internal() ) {
+ qt_fbdpy->grab();
-+ W100_DestroySurface( itr.data().getHandle() );
++ driver.destroySurface( itr.data().getHandle() );
+ qt_fbdpy->ungrab();
+ }
+ surfaceMap.remove( itr );
diff --git a/packages/qte/qte-2.3.10/suspend-resume-hooks.patch b/packages/qte/qte-2.3.10/suspend-resume-hooks.patch
new file mode 100644
index 0000000000..34e6ba2133
--- /dev/null
+++ b/packages/qte/qte-2.3.10/suspend-resume-hooks.patch
@@ -0,0 +1,64 @@
+Suspend/Resume hooks for QScreen and usage from QApplication
+Manuel Teira <manuel.teira@telefonica.net>
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-2.3.10/src/kernel/qgfx_qws.h~suspend-resume-hooks
++++ qt-2.3.10/src/kernel/qgfx_qws.h
+@@ -192,6 +192,8 @@
+ virtual int pixmapLinestepAlignment() { return 64; }
+
+ virtual void sync() {}
++ virtual void prepareToSuspend() {}
++ virtual void prepareToResume() {}
+ virtual bool onCard(unsigned char *) const;
+ virtual bool onCard(unsigned char *, ulong& out_offset) const;
+
+--- qt-2.3.10/src/kernel/qapplication_qws.cpp~suspend-resume-hooks
++++ qt-2.3.10/src/kernel/qapplication_qws.cpp
+@@ -480,6 +480,7 @@
+ int region_offset_window;
+ #ifndef QT_NO_COP
+ QWSQCopMessageEvent *qcop_response;
++ bool manageAPMMessage( QWSQCopMessageEvent *e );
+ #endif
+ QWSEvent* current_event;
+ QValueList<int> unused_identifiers;
+@@ -840,7 +841,7 @@
+ QWSQCopMessageEvent *pe = (QWSQCopMessageEvent*)e;
+ if ( pe->simpleData.is_response ) {
+ qcop_response = pe;
+- } else {
++ } else if ( !manageAPMMessage( pe ) ) {
+ queue.append(e);
+ }
+ #endif
+@@ -851,6 +852,26 @@
+ }
+ }
+
++#ifndef QT_NO_COP
++bool QWSDisplayData::manageAPMMessage( QWSQCopMessageEvent *e )
++{
++ if ( e->channel.data() != QCString( "QPE/System" ) ) {
++ return FALSE;
++ }
++ if ( e->message.data() == QCString( "aboutToSuspend()" ) ) {
++ if ( qt_screen ) qt_screen->prepareToSuspend();
++ delete e;
++ return TRUE;
++ }
++ if ( e->message.data() == QCString( "returnFromSuspend()" ) ) {
++ if ( qt_screen ) qt_screen->prepareToResume();
++ delete e;
++ return TRUE;
++ }
++ return FALSE;
++}
++#endif
++
+ void QWSDisplayData::offsetPendingExpose( int window, const QPoint &offset )
+ {
+ if ( offset.isNull() )
diff --git a/packages/qte/qte_2.3.10.bb b/packages/qte/qte_2.3.10.bb
index ebcef630eb..8f6f5bfa3d 100644
--- a/packages/qte/qte_2.3.10.bb
+++ b/packages/qte/qte_2.3.10.bb
@@ -7,7 +7,7 @@ DEPENDS = "zlib libpng jpeg tslib uicmoc-native"
DEPENDS_mnci = "zlib libpng jpeg uicmoc-native"
DEPENDS_append_c7x0 = " sharp-aticore-oss"
PROVIDES = "virtual/qte virtual/libqte2"
-PR = "r21"
+PR = "r22"
SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz;md5=1f7ad30113afc500cab7f5b2f4dec0d7 \
file://qpe.patch;patch=1 \
@@ -34,21 +34,22 @@ SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz;m
file://switches.h \
file://bidimetrics.patch;patch=5 "
-SRC_URI_append_simpad = "file://devfs.patch;patch=1 "
-SRC_URI_append_c7x0 = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 file://c7x0-w100-accel.patch;patch=1 "
-SRC_URI_append_spitz = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 file://kernel-keymap-CXK.patch;patch=1 "
-SRC_URI_append_akita = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 file://kernel-keymap-CXK.patch;patch=1 "
-SRC_URI_append_tosa = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-tosa.patch;patch=1 "
-SRC_URI_append_beagle = "file://beagle.patch;patch=1 "
-SRC_URI_append_jornada7xx = "file://kernel-keymap.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
-SRC_URI_append_jornada56x = "file://kernel-keymap.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
-SRC_URI_append_mnci = "file://devfs.patch;patch=1 \
- file://mnci.patch;patch=1 \
- file://mnci-touchscreen.patch;patch=1 \
- file://qkeyboard_qws.h \
- file://qkeyboard_qws.cpp "
-SRC_URI_append_h3600 = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
-SRC_URI_append_h3900 = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
+SRC_URI_append_simpad = "file://devfs.patch;patch=1 "
+SRC_URI_append_c7x0 = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 \
+ file://c7x0-w100-accel.patch;patch=1 file://suspend-resume-hooks.patch;patch=1 "
+SRC_URI_append_spitz = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 file://kernel-keymap-CXK.patch;patch=1 "
+SRC_URI_append_akita = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 file://kernel-keymap-CXK.patch;patch=1 "
+SRC_URI_append_tosa = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-tosa.patch;patch=1 "
+SRC_URI_append_beagle = "file://beagle.patch;patch=1 "
+SRC_URI_append_jornada7xx = "file://kernel-keymap.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
+SRC_URI_append_jornada56x = "file://kernel-keymap.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
+SRC_URI_append_mnci = "file://devfs.patch;patch=1 \
+ file://mnci.patch;patch=1 \
+ file://mnci-touchscreen.patch;patch=1 \
+ file://qkeyboard_qws.h \
+ file://qkeyboard_qws.cpp "
+SRC_URI_append_h3600 = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
+SRC_URI_append_h3900 = "file://ipaq-keyboard.patch;patch=1 file://ipaq_sound_fix.patch;patch=1 "
S = "${WORKDIR}/qt-${PV}"
diff --git a/packages/sharp-binary-only/sharp-aticore-oss-1.0.1/fixstretchblit.patch b/packages/sharp-binary-only/sharp-aticore-oss-1.0.1/fixstretchblit.patch
new file mode 100644
index 0000000000..a89ab3247a
--- /dev/null
+++ b/packages/sharp-binary-only/sharp-aticore-oss-1.0.1/fixstretchblit.patch
@@ -0,0 +1,30 @@
+Index: AtiCore-1.0.1/aticore_2.s
+===================================================================
+--- AtiCore-1.0.1.orig/aticore_2.s 2004-08-28 09:04:06.000000000 +0100
++++ AtiCore-1.0.1/aticore_2.s 2005-07-04 21:56:48.000000000 +0100
+@@ -576,8 +576,6 @@
+ LDR R3, [R11,#-0x2C]
+ STR R3, [R2,#0x24C]
+ B .loc_34DA00
+-unk_432B14: .WORD 0
+-unk_432B10: .WORD 0
+ .loc_34D9F0:
+ MOV R2, #1
+ LDR R1, =0x1284
+Index: AtiCore-1.0.1/aticore_0.s
+===================================================================
+--- AtiCore-1.0.1.orig/aticore_0.s 2004-08-28 08:47:01.000000000 +0100
++++ AtiCore-1.0.1/aticore_0.s 2005-07-04 22:28:55.000000000 +0100
+@@ -14,6 +14,12 @@
+ .GLOBAL unk_41948C
+ unk_41948C: .WORD 0
+ .ALIGN 4
++ .GLOBAL unk_432B14
++unk_432B14: .WORD 0
++ .ALIGN 4
++ .GLOBAL unk_432B10
++unk_432B10: .WORD 0
++ .ALIGN 4
+ .GLOBAL aErrSomeoneCall
+ aErrSomeoneCall: .ASCII "Err:: someone called QL_Bar_Read!\000"
+ .ALIGN 4
diff --git a/packages/sysfsutils/sysfsutils_1.3.0.bb b/packages/sysfsutils/sysfsutils_1.3.0.bb
new file mode 100644
index 0000000000..82af8d353d
--- /dev/null
+++ b/packages/sysfsutils/sysfsutils_1.3.0.bb
@@ -0,0 +1,21 @@
+SECTION = "base"
+DESCRIPTION = "System Utilities Based on Sysfs"
+HOMEPAGE = "http://linux-diag.sourceforge.net/Sysfsutils.html"
+LICENSE = "GPLv2"
+SRC_URI = "${SOURCEFORGE_MIRROR}/linux-diag/sysfsutils-${PV}.tar.gz"
+
+S = "${WORKDIR}/sysfsutils-${PV}"
+
+inherit autotools
+
+includedir += "/sysfs"
+
+PACKAGES_prepend = "libsysfs "
+FILES_libsysfs = "${libdir}/*.so.1.0.3"
+
+do_stage () {
+ oe_libinstall -a -so -C lib libsysfs ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/sysfs
+ install -m 0644 ${S}/include/dlist.h ${STAGING_INCDIR}/sysfs
+ install -m 0644 ${S}/include/libsysfs.h ${STAGING_INCDIR}/sysfs
+}