summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/include/insane-srcrevs.inc2
-rw-r--r--conf/distro/include/moko-autorev.inc2
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.3.inc218
-rw-r--r--conf/distro/include/sane-srcrevs.inc4
-rw-r--r--packages/glibc/eglibc-svn/export-fcntl2.patch11
-rw-r--r--packages/glibc/eglibc_svn.bb1
-rw-r--r--packages/glibc/glibc-package.bbclass7
-rw-r--r--packages/gnome/gconf-dbus_svn.bb2
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a1200/defconfig12
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff270
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/rokre6/defconfig12
-rw-r--r--packages/linux/linux-ezx_2.6.21.bb116
-rw-r--r--packages/linux/linux-handhelds-2.6/h2200/defconfig2
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb2
-rw-r--r--packages/openocd/openocd_svn.bb3
-rw-r--r--packages/pointercal/files/a780/.mtn2git_empty0
-rw-r--r--packages/pointercal/files/a780/pointercal1
-rw-r--r--packages/pointercal/pointercal_0.0.bb2
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch419
19 files changed, 892 insertions, 194 deletions
diff --git a/conf/distro/include/insane-srcrevs.inc b/conf/distro/include/insane-srcrevs.inc
index bbb62b9398..14d6336b96 100644
--- a/conf/distro/include/insane-srcrevs.inc
+++ b/conf/distro/include/insane-srcrevs.inc
@@ -70,6 +70,8 @@ SRCREV_pn-openmoko-theme-standard2-qvga ?= "${AUTOREV}"
SRCREV_pn-openmoko-today ?= "${AUTOREV}"
SRCREV_pn-openmoko-today2 ?= "${AUTOREV}"
SRCREV_pn-openmoko-today2-folders ?= "${AUTOREV}"
+SRCREV_pn-openocd ?= "${AUTOREV}"
+SRCREV_pn-openocd-native ?= "${AUTOREV}"
SRCREV_pn-psplash ?= "${AUTOREV}"
SRCREV_pn-settings-daemon ?= "${AUTOREV}"
SRCREV_pn-sjf2410-linux-native ?= "${AUTOREV}"
diff --git a/conf/distro/include/moko-autorev.inc b/conf/distro/include/moko-autorev.inc
index 5206d26cdd..59024535f0 100644
--- a/conf/distro/include/moko-autorev.inc
+++ b/conf/distro/include/moko-autorev.inc
@@ -49,3 +49,5 @@ SRCREV_pn-openmoko-theme-standard2-qvga ?= "${AUTOREV}"
SRCREV_pn-openmoko-today ?= "${AUTOREV}"
SRCREV_pn-openmoko-today2 ?= "${AUTOREV}"
SRCREV_pn-openmoko-today2-folders ?= "${AUTOREV}"
+SRCREV_pn-openocd ?= "${AUTOREV}"
+SRCREV_pn-openocd-native ?= "${AUTOREV}"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.3.inc b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
index 7ffa788c91..0ff684ed68 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
@@ -35,99 +35,99 @@ PREFERRED_VERSION_task-xorg ?= "X11R7.3"
PREFERRED_VERSION_appres ?= "1.0.1"
PREFERRED_VERSION_bdftopcf ?= "1.0.1"
PREFERRED_VERSION_beforelight ?= "1.0.2"
-PREFERRED_VERSION_bitmap ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_bitmap ?= "1.0.2"
PREFERRED_VERSION_editres ?= "1.0.2"
PREFERRED_VERSION_fontosfnt ?= "1.0.3"
-PREFERRED_VERSION_fslsfonts ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_fstobdf ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_fslsfonts ?= "1.0.1"
+PREFERRED_VERSION_fstobdf ?= "1.0.2"
PREFERRED_VERSION_iceauth ?= "1.0.2"
PREFERRED_VERSION_ico ?= "1.0.2"
-PREFERRED_VERSION_lbxproxy ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_listres ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_lbxproxy ?= "1.0.1"
+PREFERRED_VERSION_listres ?= "1.0.1"
PREFERRED_VERSION_luit ?= "1.0.2"
PREFERRED_VERSION_mkfontdir-native ?= "1.0.3"
PREFERRED_VERSION_mkfontdir ?= "1.0.3"
PREFERRED_VERSION_mkfontscale ?= "1.0.3"
-PREFERRED_VERSION_oclock ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_proxymngr ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_rgb ?= "X11R7.1-1.0.1"
-PREFERRED_VERSION_rstart ?= "X11R7.1-1.0.2"
-PREFERRED_VERSION_scripts ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_oclock ?= "1.0.1"
+PREFERRED_VERSION_proxymngr ?= "1.0.1"
+PREFERRED_VERSION_rgb ?= "1.0.1"
+PREFERRED_VERSION_rstart ?= "1.0.2"
+PREFERRED_VERSION_scripts ?= "1.0.1"
PREFERRED_VERSION_sessreg ?= "1.0.3"
PREFERRED_VERSION_setxkbmap ?= "1.0.4"
-PREFERRED_VERSION_smproxy ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_smproxy ?= "1.0.2"
PREFERRED_VERSION_twm ?= "1.0.3"
-PREFERRED_VERSION_viewres ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_x11perf ?= "X11R7.1-1.4.1"
+PREFERRED_VERSION_viewres ?= "1.0.1"
+PREFERRED_VERSION_x11perf ?= "1.4.1"
PREFERRED_VERSION_xauth ?= "1.0.2"
PREFERRED_VERSION_xbacklight ?= "1.1"
-PREFERRED_VERSION_xbiff ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xbiff ?= "1.0.1"
PREFERRED_VERSION_xcalc ?= "1.0.2"
-PREFERRED_VERSION_xclipboard ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xclipboard ?= "1.0.1"
PREFERRED_VERSION_xclock ?= "1.0.3"
-PREFERRED_VERSION_xcmsdb ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xcmsdb ?= "1.0.1"
PREFERRED_VERSION_xconsole ?= "1.0.3"
PREFERRED_VERSION_xcursorgen ?= "1.0.2"
PREFERRED_VERSION_xdbedizzy ?= "1.0.2"
-PREFERRED_VERSION_xditview ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xditview ?= "1.0.1"
PREFERRED_VERSION_xdm ?= "1.1.6"
-PREFERRED_VERSION_xdpyinfo ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xdpyinfo ?= "1.0.1"
PREFERRED_VERSION_xdriinfo ?= "1.0.2"
-PREFERRED_VERSION_xedit ?= "X11R7.1-1.0.2"
-PREFERRED_VERSION_xev ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xeyes ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xedit ?= "1.0.2"
+PREFERRED_VERSION_xev ?= "1.0.1"
+PREFERRED_VERSION_xeyes ?= "1.0.1"
PREFERRED_VERSION_xxf86dga ?= "1.0.2"
-PREFERRED_VERSION_xfd ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xfindproxy ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xfontsel ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xfd ?= "1.0.1"
+PREFERRED_VERSION_xfindproxy ?= "1.0.1"
+PREFERRED_VERSION_xfontsel ?= "1.0.1"
PREFERRED_VERSION_xfs ?= "1.0.4"
-PREFERRED_VERSION_xfsinfo ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xfwp ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xfsinfo ?= "1.0.1"
+PREFERRED_VERSION_xfwp ?= "1.0.1"
PREFERRED_VERSION_xgamma ?= "1.0.2"
-PREFERRED_VERSION_xgc ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xgc ?= "1.0.1"
PREFERRED_VERSION_xhost ?= "1.0.2"
PREFERRED_VERSION_xinit ?= "1.0.5"
PREFERRED_VERSION_xkbcomp ?= "1.0.3"
-PREFERRED_VERSION_xkbevd ?= "X11R7.1-1.0.2"
-PREFERRED_VERSION_xkbprint ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xkbutils ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xkill ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xkbevd ?= "1.0.2"
+PREFERRED_VERSION_xkbprint ?= "1.0.1"
+PREFERRED_VERSION_xkbutils ?= "1.0.1"
+PREFERRED_VERSION_xkill ?= "1.0.1"
PREFERRED_VERSION_xload ?= "1.0.2"
-PREFERRED_VERSION_xlogo ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xlsatoms ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xlsclients ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xlsfonts ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xlogo ?= "1.0.1"
+PREFERRED_VERSION_xlsatoms ?= "1.0.1"
+PREFERRED_VERSION_xlsclients ?= "1.0.1"
+PREFERRED_VERSION_xlsfonts ?= "1.0.1"
PREFERRED_VERSION_xmag ?= "1.0.2"
PREFERRED_VERSION_xman ?= "1.0.3"
PREFERRED_VERSION_xmessage ?= "1.0.2"
-PREFERRED_VERSION_xmh ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xmh ?= "1.0.1"
PREFERRED_VERSION_xmodmap ?= "1.0.3"
-PREFERRED_VERSION_xmore ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xphelloworld ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xplsprinters ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xpr ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xprehashprinterlist ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xmore ?= "1.0.1"
+PREFERRED_VERSION_xphelloworld ?= "1.0.1"
+PREFERRED_VERSION_xplsprinters ?= "1.0.1"
+PREFERRED_VERSION_xpr ?= "1.0.1"
+PREFERRED_VERSION_xprehashprinterlist ?= "1.0.1"
PREFERRED_VERSION_xprop ?= "1.0.3"
PREFERRED_VERSION_xrandr ?= "1.2.2"
PREFERRED_VERSION_xrdb ?= "1.0.4"
-PREFERRED_VERSION_xrefresh ?= "X11R7.1-1.0.2"
-PREFERRED_VERSION_xrx ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xrefresh ?= "1.0.2"
+PREFERRED_VERSION_xrx ?= "1.0.1"
PREFERRED_VERSION_xset ?= "1.0.3"
-PREFERRED_VERSION_xsetmode ?= "X11R7.0-1.0.0"
-PREFERRED_VERSION_xsetpointer ?= "X11R7.0-1.0.0"
+PREFERRED_VERSION_xsetmode ?= "1.0.0"
+PREFERRED_VERSION_xsetpointer ?= "1.0.0"
PREFERRED_VERSION_xsetroot ?= "1.0.2"
-PREFERRED_VERSION_xsm ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xstdcmap ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xtrap ?= "X11R7.1-1.0.2"
-PREFERRED_VERSION_xvidtune ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xsm ?= "1.0.1"
+PREFERRED_VERSION_xstdcmap ?= "1.0.1"
+PREFERRED_VERSION_xtrap ?= "1.0.2"
+PREFERRED_VERSION_xvidtune ?= "1.0.1"
PREFERRED_VERSION_xvinfo ?= "1.0.2"
-PREFERRED_VERSION_xwd ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xwd ?= "1.0.1"
PREFERRED_VERSION_xwininfo ?= "1.0.3"
-PREFERRED_VERSION_xwud ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xwud ?= "1.0.1"
#data
-PREFERRED_VERSION_xbitmaps ?= "X11R7.0-1.0.1"
-PREFERRED_VERSION_xcursor-themes ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xbitmaps ?= "1.0.1"
+PREFERRED_VERSION_xcursor-themes ?= "1.0.1"
# doc
PREFERRED_VERSION_xorg-docs ?= "1.4"
@@ -135,76 +135,76 @@ PREFERRED_VERSION_xorg-sgml-doctools ?= "1.2"
# driver
PREFERRED_VERSION_xf86-input-acecad ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-aiptek ?= "X11R7.1-1.0.1"
-PREFERRED_VERSION_xf86-input-calcomp ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-citron ?= "X11R7.1-2.2.0"
-PREFERRED_VERSION_xf86-input-digitaledge ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-dmc ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-dynapro ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-elo2300 ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-elographics ?= "X11R7.0-1.0.0.5"
-PREFERRED_VERSION_xf86-input-evdev ?= "X11R7.1-1.1.2"
-PREFERRED_VERSION_xf86-input-fpit ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-hyperpen ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-jamstudio ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-aiptek ?= "1.0.1"
+PREFERRED_VERSION_xf86-input-calcomp ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-citron ?= "2.2.0"
+PREFERRED_VERSION_xf86-input-digitaledge ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-dmc ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-dynapro ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-elo2300 ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-elographics ?= "1.0.0.5"
+PREFERRED_VERSION_xf86-input-evdev ?= "1.1.2"
+PREFERRED_VERSION_xf86-input-fpit ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-hyperpen ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-jamstudio ?= "1.1.0"
PREFERRED_VERSION_xf86-input-joystick ?= "1.2.3"
PREFERRED_VERSION_xf86-input-keyboard ?= "1.2.2"
-PREFERRED_VERSION_xf86-input-magellan ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-magictouch ?= "X11R7.1-1.0.0.5"
-PREFERRED_VERSION_xf86-input-microtouch ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-magellan ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-magictouch ?= "1.0.0.5"
+PREFERRED_VERSION_xf86-input-microtouch ?= "1.1.0"
PREFERRED_VERSION_xf86-input-mouse ?= "1.2.2"
-PREFERRED_VERSION_xf86-input-mutouch ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-palmax ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-mutouch ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-palmax ?= "1.1.0"
PREFERRED_VERSION_xf86-input-penmount ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-spaceorb ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-summa ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-tek4957 ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-input-ur98 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-spaceorb ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-summa ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-tek4957 ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-ur98 ?= "1.1.0"
PREFERRED_VERSION_xf86-input-vmmouse ?= "12.4.1"
-PREFERRED_VERSION_xf86-input-void ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-apm ?= "X11R7.1-1.1.1"
-PREFERRED_VERSION_xf86-video-ark ?= "X11R7.1-0.6.0"
-PREFERRED_VERSION_xf86-video-ast ?= "X11R7.1-0.81.0"
+PREFERRED_VERSION_xf86-input-void ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-apm ?= "1.1.1"
+PREFERRED_VERSION_xf86-video-ark ?= "0.6.0"
+PREFERRED_VERSION_xf86-video-ast ?= "0.81.0"
PREFERRED_VERSION_xf86-video-ati ?= "6.6.193"
-PREFERRED_VERSION_xf86-video-chips ?= "X11R7.1-1.1.1"
-PREFERRED_VERSION_xf86-video-cirrus ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-cyrix ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-dummy ?= "X11R7.1-0.2.0"
+PREFERRED_VERSION_xf86-video-chips ?= "1.1.1"
+PREFERRED_VERSION_xf86-video-cirrus ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-cyrix ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-dummy ?= "0.2.0"
PREFERRED_VERSION_xf86-video-fbdev ?= "0.3.1"
PREFERRED_VERSION_xf86-video-glide ?= "1.0.0"
-PREFERRED_VERSION_xf86-video-glint ?= "X11R7.1-1.1.1"
+PREFERRED_VERSION_xf86-video-glint ?= "1.1.1"
PREFERRED_VERSION_xf86-video-i128 ?= "1.1.0.6"
-PREFERRED_VERSION_xf86-video-i740 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-i740 ?= "1.1.0"
PREFERRED_VERSION_xf86-video-i810 ?= "1.6.5"
-PREFERRED_VERSION_xf86-video-imstt ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-imstt ?= "1.1.0"
PREFERRED_VERSION_xf86-video-intel ?= "2.1.1"
PREFERRED_VERSION_xf86-video-mga ?= "1.4.6.1"
-PREFERRED_VERSION_xf86-video-neomagic ?= "X11R7.1-1.1.1"
+PREFERRED_VERSION_xf86-video-neomagic ?= "1.1.1"
PREFERRED_VERSION_xf86-video-newport ?= "0.2.1"
PREFERRED_VERSION_xf86-video-nsc ?= "2.8.3"
PREFERRED_VERSION_xf86-video-nv ?= "2.1.3"
PREFERRED_VERSION_xf86-video-rendition ?= "4.1.3"
PREFERRED_VERSION_xf86-video-s3 ?= "0.5.0"
-PREFERRED_VERSION_xf86-video-s3virge ?= "X11R7.1-1.9.1"
+PREFERRED_VERSION_xf86-video-s3virge ?= "1.9.1"
PREFERRED_VERSION_xf86-video-savage ?= "2.1.3"
PREFERRED_VERSION_xf86-video-siliconmotion ?= "1.4.2"
PREFERRED_VERSION_xf86-video-sis ?= "0.9.3"
-PREFERRED_VERSION_xf86-video-sisusb ?= "X11R7.1-0.8.1"
-PREFERRED_VERSION_xf86-video-sunbw2 ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-suncg14 ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-suncg3 ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-suncg6 ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-sunffb ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-sunleo ?= "X11R7.1-1.1.0"
-PREFERRED_VERSION_xf86-video-suntcx ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-sisusb ?= "0.8.1"
+PREFERRED_VERSION_xf86-video-sunbw2 ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-suncg14 ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-suncg3 ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-suncg6 ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-sunffb ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-sunleo ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-suntcx ?= "1.1.0"
PREFERRED_VERSION_xf86-video-tdfx ?= "1.3.0"
-PREFERRED_VERSION_xf86-video-tga ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-tga ?= "1.1.0"
PREFERRED_VERSION_xf86-video-trident ?= "1.2.3"
PREFERRED_VERSION_xf86-video-tseng ?= "1.1.1"
-PREFERRED_VERSION_xf86-video-v4l ?= "X11R7.1-0.1.1"
+PREFERRED_VERSION_xf86-video-v4l ?= "0.1.1"
PREFERRED_VERSION_xf86-video-vermilion ?= "1.0.0"
PREFERRED_VERSION_xf86-video-vesa ?= "1.3.0"
-PREFERRED_VERSION_xf86-video-vga ?= "X11R7.1-4.1.0"
+PREFERRED_VERSION_xf86-video-vga ?= "4.1.0"
PREFERRED_VERSION_xf86-video-via ?= "0.2.2"
PREFERRED_VERSION_xf86-video-vmware ?= "10.14.1"
PREFERRED_VERSION_xf86-video-voodoo ?= "1.1.1"
@@ -212,15 +212,15 @@ PREFERRED_VERSION_xf86-video-voodoo ?= "1.1.1"
# font
PREFERRED_VERSION_encodings ?= "1.0.2"
PREFERRED_VERSION_font-screen-cyrillic ?= "1.0.1"
-PREFERRED_VERSION_font-util-native ?= "X11R7.1-1.0.1"
-PREFERRED_VERSION_font-util ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_font-util-native ?= "1.0.1"
+PREFERRED_VERSION_font-util ?= "1.0.1"
# lib
PREFERRED_VERSION_diet-x11 ?= "1.1.3"
-PREFERRED_VERSION_libdmx ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_libdmx ?= "1.0.2"
PREFERRED_VERSION_libfontenc ?= "1.0.4"
PREFERRED_VERSION_libice ?= "1.0.4"
-PREFERRED_VERSION_liblbxutil ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_liblbxutil ?= "1.0.1"
PREFERRED_VERSION_libsm ?= "1.0.3"
PREFERRED_VERSION_libx11 ?= "1.1.3"
PREFERRED_VERSION_libx11-native ?= "1.1.1"
@@ -239,7 +239,7 @@ PREFERRED_VERSION_libxfontcache ?= "1.0.4"
PREFERRED_VERSION_libxi ?= "1.1.3"
PREFERRED_VERSION_libxinerama ?= "1.0.2"
PREFERRED_VERSION_libxkbfile ?= "1.0.4"
-PREFERRED_VERSION_libxkbui ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_libxkbui ?= "1.0.2"
PREFERRED_VERSION_libxmu ?= "1.0.3"
PREFERRED_VERSION_libxpm ?= "3.5.7"
PREFERRED_VERSION_libxrandr ?= "1.2.2"
@@ -250,8 +250,8 @@ PREFERRED_VERSION_libxt ?= "1.0.4"
PREFERRED_VERSION_libxtst ?= "1.0.3"
PREFERRED_VERSION_libxvmc ?= "1.0.4"
PREFERRED_VERSION_libxxf86dga ?= "1.0.2"
-PREFERRED_VERSION_libxxf86misc ?= "X11R7.1-1.0.1"
-PREFERRED_VERSION_libxxf86vm ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_libxxf86misc ?= "1.0.1"
+PREFERRED_VERSION_libxxf86vm ?= "1.0.1"
PREFERRED_VERSION_xtrans ?= "1.0.4"
# proto
@@ -263,18 +263,18 @@ PREFERRED_VERSION_inputproto ?= "1.4.2.1"
PREFERRED_VERSION_kbproto ?= "1.0.3"
PREFERRED_VERSION_randrproto ?= "1.2.1"
PREFERRED_VERSION_renderproto ?= "0.9.3"
-PREFERRED_VERSION_scrnsaverproto ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_scrnsaverproto ?= "1.1.0"
PREFERRED_VERSION_xf86dgaproto ?= "2.0.3"
PREFERRED_VERSION_xproto-native ?= "7.0.10"
PREFERRED_VERSION_xproto ?= "7.0.10"
# util
-PREFERRED_VERSION_gccmakedep ?= "X11R7.1-1.0.2"
-PREFERRED_VERSION_imake ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_gccmakedep ?= "1.0.2"
+PREFERRED_VERSION_imake ?= "1.0.2"
PREFERRED_VERSION_makedepend ?= "1.0.1"
PREFERRED_VERSION_util-macros-native ?= "1.1.5"
PREFERRED_VERSION_util-macros ?= "1.1.5"
-PREFERRED_VERSION_xorg-cf-files ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_xorg-cf-files ?= "1.0.2"
# xserver
PREFERRED_VERSION_xserver-kdrive ?= "1.4.0"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 8eec5cad7c..a4d04886c7 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -80,9 +80,11 @@ SRCREV_pn-openmoko-theme-standard2-qvga ?= "2964"
SRCREV_pn-openmoko-today ?= "2556"
SRCREV_pn-openmoko-today2 ?= "2955"
SRCREV_pn-openmoko-today2-folders ?= "2680"
+SRCREV_pn-openocd ?= "206"
+SRCREV_pn-openocd-native ?= "206"
SRCREV_pn-psplash ?= "249"
SRCREV_pn-settings-daemon ?= "1615"
SRCREV_pn-sjf2410-linux-native ?= "933"
SRCREV_pn-sphyrna ?= "44"
-SRCREV_pn-webkit-gtk ?= "25507"
+SRCREV_pn-webkit-gtk ?= "25582-r25571"
SRCREV_pn-xoo ?= "1623"
diff --git a/packages/glibc/eglibc-svn/export-fcntl2.patch b/packages/glibc/eglibc-svn/export-fcntl2.patch
deleted file mode 100644
index 0bf6c57852..0000000000
--- a/packages/glibc/eglibc-svn/export-fcntl2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libc/io/Makefile.orig 2007-08-07 17:41:33.000000000 -0700
-+++ libc/io/Makefile 2007-08-07 17:42:25.000000000 -0700
-@@ -23,7 +23,7 @@ subdir := io
-
- headers := sys/stat.h bits/stat.h sys/statfs.h bits/statfs.h sys/vfs.h \
- sys/statvfs.h bits/statvfs.h fcntl.h sys/fcntl.h bits/fcntl.h \
-- poll.h sys/poll.h bits/poll.h \
-+ poll.h sys/poll.h bits/poll.h bits/fcntl2.h \
- utime.h ftw.h fts.h sys/sendfile.h
-
- routines := \
diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb
index 0b69283681..1fe67d46fe 100644
--- a/packages/glibc/eglibc_svn.bb
+++ b/packages/glibc/eglibc_svn.bb
@@ -5,7 +5,6 @@ FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn"
PV = "2.6+svnr${SRCREV}"
PR = "r1"
SRC_URI = "svn://svn.eglibc.org;module=trunk \
- file://export-fcntl2.patch;patch=1 \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/trunk/libc"
diff --git a/packages/glibc/glibc-package.bbclass b/packages/glibc/glibc-package.bbclass
index 63feb46f34..ba105d02c3 100644
--- a/packages/glibc/glibc-package.bbclass
+++ b/packages/glibc/glibc-package.bbclass
@@ -147,8 +147,11 @@ do_prep_locale_tree() {
gunzip $i
done
ls ${D}/lib/* | xargs -iBLAH cp -a BLAH $treedir/lib
- if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* ]; then
- cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* $treedir/lib
+ if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so ]; then
+ cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so $treedir/lib
+ fi
+ if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then
+ cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* $treedir/lib
fi
install -m 0755 ${D}${bindir}/localedef $treedir/bin
}
diff --git a/packages/gnome/gconf-dbus_svn.bb b/packages/gnome/gconf-dbus_svn.bb
index 5a5e78a207..fce1746b22 100644
--- a/packages/gnome/gconf-dbus_svn.bb
+++ b/packages/gnome/gconf-dbus_svn.bb
@@ -1,5 +1,5 @@
SECTION = "x11/utils"
-DEPENDS = "intltool-native glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native"
+DEPENDS = "intltool-native virtual/libintl glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native"
DESCRIPTION = "Settings daemon using DBUS for communication."
LICENSE = "GPL"
PROVIDES = "gconf"
diff --git a/packages/linux/linux-ezx-2.6.21/a1200/defconfig b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
index ea7475ced2..3cf42ac8b1 100755
--- a/packages/linux/linux-ezx-2.6.21/a1200/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.4
-# Sun Sep 9 16:54:53 2007
+# Sat Sep 15 18:27:06 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -592,7 +592,9 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_EZX=y
CONFIG_MTD_EZX_A780=y
# CONFIG_MTD_EZX_A780_ALTERNATE is not set
+# CONFIG_MTD_EZX_A120 is not set
# CONFIG_MTD_EZX_E2 is not set
+# CONFIG_MTD_EZX_E6 is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -851,8 +853,8 @@ CONFIG_TS0710_MUX_USB=y
#
# I2C support
#
-CONFIG_I2C=m
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
@@ -864,8 +866,8 @@ CONFIG_I2C_CHARDEV=m
#
# I2C Hardware Bus support
#
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
+CONFIG_I2C_PXA=y
+CONFIG_I2C_PXA_SLAVE=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
diff --git a/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff b/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff
new file mode 100644
index 0000000000..a0d89bfee5
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/lcd_18BPP_support.diff
@@ -0,0 +1,270 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-08-18 18:35:12.000000000 +0800
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-08-18 18:36:38.000000000 +0800
+@@ -122,7 +122,7 @@
+ .pixclock = 192308,
+ .xres = 240,
+ .yres = 320,
+- .bpp = 8,
++ .bpp = 18,
+ .hsync_len = 10,
+ .left_margin = 20,
+ .right_margin = 10,
+@@ -135,8 +135,8 @@
+ static struct pxafb_mach_info a1200_fb_info = {
+ .modes = &mode_a1200,
+ .num_modes = 1,
+- .lccr0 = 0x022008B8,
+- .lccr3 = 0xC130FF13,
++ .lccr0 = 0x002008b8,
++ .lccr3 = 0xC630FF13,
+ .pxafb_backlight_power = ezx_backlight_power,
+ .pxafb_lcd_power = &ezx_lcd_power,
+ };
+Index: linux-2.6.21/drivers/video/cfbfillrect.c
+===================================================================
+--- linux-2.6.21.orig/drivers/video/cfbfillrect.c 2007-08-18 18:38:36.000000000 +0800
++++ linux-2.6.21/drivers/video/cfbfillrect.c 2007-08-18 18:39:03.000000000 +0800
+@@ -87,7 +87,10 @@
+ return 0x00001001ul*pixel;
+ case 16:
+ return 0x00010001ul*pixel;
++ case 18:
++ case 19:
+ case 24:
++ case 25:
+ return 0x00000001ul*pixel;
+ case 32:
+ return 0x00000001ul*pixel;
+Index: linux-2.6.21/drivers/video/pxafb.c
+===================================================================
+--- linux-2.6.21.orig/drivers/video/pxafb.c 2007-08-18 17:58:11.000000000 +0800
++++ linux-2.6.21/drivers/video/pxafb.c 2007-08-18 18:46:50.000000000 +0800
+@@ -9,6 +9,8 @@
+ * which in turn is
+ * Based on acornfb.c Copyright (C) Russell King.
+ *
++ * Added 18,19,24,25 BPP support by Alex Zhang <celeber2@gmail.com>
++ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive for
+ * more details.
+@@ -190,6 +192,10 @@
+ case 4: ret = LCCR3_4BPP; break;
+ case 8: ret = LCCR3_8BPP; break;
+ case 16: ret = LCCR3_16BPP; break;
++ case 18: ret = LCCR3_18BPP; break;
++ case 19: ret = LCCR3_19BPP; break;
++ case 24: ret = LCCR3_24BPP; break;
++ case 25: ret = LCCR3_25BPP; break;
+ }
+ return ret;
+ }
+@@ -274,6 +280,8 @@
+ if (var->yres < MIN_YRES)
+ var->yres = MIN_YRES;
+
++ if (var->bits_per_pixel == 32) var->bits_per_pixel = 18; // ALEX cheats Xserver
++
+ if (inf->fixed_modes) {
+ struct pxafb_mode_info *mode;
+
+@@ -306,6 +314,26 @@
+ var->green.offset = 5; var->green.length = 6;
+ var->blue.offset = 0; var->blue.length = 5;
+ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 18) {
++ var->red.offset = 12; var->red.length = 6;
++ var->green.offset = 6; var->green.length = 6;
++ var->blue.offset = 0; var->blue.length = 6;
++ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 19) {
++ var->red.offset = 12; var->red.length = 6;
++ var->green.offset = 6; var->green.length = 6;
++ var->blue.offset = 0; var->blue.length = 6;
++ var->transp.offset= 18; var->transp.length = 1;
++ } else if (var->bits_per_pixel == 24) {
++ var->red.offset = 16; var->red.length = 8;
++ var->green.offset = 8; var->green.length = 8;
++ var->blue.offset = 0; var->blue.length = 8;
++ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 25) {
++ var->red.offset = 16; var->red.length = 8;
++ var->green.offset = 8; var->green.length = 8;
++ var->blue.offset = 0; var->blue.length = 8;
++ var->transp.offset= 24; var->transp.length = 1;
+ } else {
+ var->red.offset = var->green.offset = var->blue.offset = var->transp.offset = 0;
+ var->red.length = 8;
+@@ -341,7 +369,12 @@
+
+ pr_debug("pxafb: set_par\n");
+
+- if (var->bits_per_pixel == 16)
++ if (var->bits_per_pixel == 16
++ || var->bits_per_pixel == 18
++ || var->bits_per_pixel == 19
++ || var->bits_per_pixel == 24
++ || var->bits_per_pixel == 25
++ )
+ fbi->fb.fix.visual = FB_VISUAL_TRUECOLOR;
+ else if (!fbi->cmap_static)
+ fbi->fb.fix.visual = FB_VISUAL_PSEUDOCOLOR;
+@@ -354,12 +387,25 @@
+ fbi->fb.fix.visual = FB_VISUAL_STATIC_PSEUDOCOLOR;
+ }
+
+- fbi->fb.fix.line_length = var->xres_virtual *
+- var->bits_per_pixel / 8;
+- if (var->bits_per_pixel == 16)
+- fbi->palette_size = 0;
+- else
+- fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel;
++ switch (var->bits_per_pixel) {
++ case 16:
++ fbi->fb.fix.line_length = var->xres_virtual * 2;
++ fbi->palette_size = 0;
++ break;
++ case 18:
++ case 19:
++ fbi->fb.fix.line_length = var->xres_virtual * 3;
++ fbi->palette_size = 0;
++ break;
++ case 24:
++ case 25:
++ fbi->fb.fix.line_length = var->xres_virtual * 4;
++ fbi->palette_size = 0;
++ break;
++ default:
++ fbi->fb.fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
++ fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel;
++ }
+
+ palette_mem_size = fbi->palette_size * sizeof(u16);
+
+@@ -373,8 +419,13 @@
+ */
+ pxafb_set_truecolor(fbi->fb.fix.visual == FB_VISUAL_TRUECOLOR);
+
+- if (fbi->fb.var.bits_per_pixel == 16)
+- fb_dealloc_cmap(&fbi->fb.cmap);
++ if (fbi->fb.var.bits_per_pixel == 16
++ || fbi->fb.var.bits_per_pixel == 18
++ || fbi->fb.var.bits_per_pixel == 19
++ || fbi->fb.var.bits_per_pixel == 24
++ || fbi->fb.var.bits_per_pixel == 25
++ )
++ fb_dealloc_cmap(&fbi->fb.cmap);
+ else
+ fb_alloc_cmap(&fbi->fb.cmap, 1<<fbi->fb.var.bits_per_pixel, 0);
+
+@@ -582,6 +633,9 @@
+ case 4:
+ case 8:
+ case 16:
++ case 18:
++ case 24:
++ case 25:
+ break;
+ default:
+ printk(KERN_ERR "%s: invalid bit depth %d\n",
+@@ -678,7 +732,12 @@
+ fbi->dmadesc_palette_cpu->fidr = 0;
+ fbi->dmadesc_palette_cpu->ldcmd = (fbi->palette_size * 2) | LDCMD_PAL;
+
+- if (var->bits_per_pixel == 16) {
++ if (var->bits_per_pixel == 16
++ || var->bits_per_pixel == 18
++ || var->bits_per_pixel == 19
++ || var->bits_per_pixel == 24
++ || var->bits_per_pixel == 25
++ ) {
+ /* palette shouldn't be loaded in true-color mode */
+ fbi->dmadesc_fbhigh_cpu->fdadr = fbi->dmadesc_fbhigh_dma;
+ fbi->fdadr0 = fbi->dmadesc_fbhigh_dma; /* no pal just fbhigh */
+@@ -786,6 +845,11 @@
+
+ for (gpio = 58; ldd_bits; gpio++, ldd_bits--)
+ pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
++ if (fbi->fb.var.bits_per_pixel == 18) {
++ pxa_gpio_mode(GPIO86_LDD_16_MD);
++ pxa_gpio_mode(GPIO87_LDD_17_MD);
++ }
++
+ pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
+ pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
+ pxa_gpio_mode(GPIO76_LCD_PCLK_MD);
+@@ -1154,9 +1218,17 @@
+ fbi->task_state = (u_char)-1;
+
+ for (i = 0; i < inf->num_modes; i++) {
+- smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8;
++ if (mode[i].bpp <= 16) /* 8, 16 bpp */
++ smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8;
++ else if (mode[i].bpp > 19) /* 24, 25 bpp */
++ smemlen = mode[i].xres * mode[i].yres * 4;
++ else /* 18, 19 bpp */
++ /* packed format */
++ smemlen = mode[i].xres * mode[i].yres * 3;
++
+ if (smemlen > fbi->fb.fix.smem_len)
+ fbi->fb.fix.smem_len = smemlen;
++ dev_dbg("ALEX::bpp=%d, smemlen=%d, fbi->fb.fix.smem_len=%d\n", mode[i].bpp, smemlen, fbi->fb.fix.smem_len);
+ }
+
+ init_waitqueue_head(&fbi->ctrlr_wait);
+@@ -1225,6 +1297,10 @@
+ case 4:
+ case 8:
+ case 16:
++ case 18:
++ case 19:
++ case 24:
++ case 25:
+ inf->modes[0].bpp = bpp;
+ dev_info(dev, "overriding bit depth: %d\n", bpp);
+ break;
+@@ -1423,6 +1499,9 @@
+ */
+ set_ctrlr_state(fbi, C_ENABLE);
+
++ LCCR4 |= (1 << 31);
++ LCCR4 |= (5 << 17);
++
+ return 0;
+
+ failed:
+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-08-18 18:26:01.000000000 +0800
++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-18 18:32:29.000000000 +0800
+@@ -1485,6 +1485,8 @@
+ #define GPIO84_NSSP_TX (84 | GPIO_ALT_FN_1_OUT)
+ #define GPIO84_NSSP_RX (84 | GPIO_ALT_FN_2_IN)
+ #define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT)
++#define GPIO86_LDD_16_MD (86 | GPIO_ALT_FN_2_OUT)
++#define GPIO87_LDD_17_MD (87 | GPIO_ALT_FN_2_OUT)
+ #define GPIO88_SRXD2_MD (88 | GPIO_ALT_FN_2_IN)
+ #define GPIO89_SRXD3_MD (89 | GPIO_ALT_FN_1_IN)
+ #define GPIO90_USB_P3_5 (90 | GPIO_ALT_FN_2_IN)
+@@ -1869,6 +1871,7 @@
+ #define LCCR1 __REG(0x44000004) /* LCD Controller Control Register 1 */
+ #define LCCR2 __REG(0x44000008) /* LCD Controller Control Register 2 */
+ #define LCCR3 __REG(0x4400000C) /* LCD Controller Control Register 3 */
++#define LCCR4 __REG(0x44000010) /* LCD Controller Control Register 4 */
+ #define DFBR0 __REG(0x44000020) /* DMA Channel 0 Frame Branch Register */
+ #define DFBR1 __REG(0x44000024) /* DMA Channel 1 Frame Branch Register */
+ #define LCSR __REG(0x44000038) /* LCD Controller Status Register */
+@@ -1881,6 +1884,11 @@
+ #define LCCR3_4BPP (2 << 24)
+ #define LCCR3_8BPP (3 << 24)
+ #define LCCR3_16BPP (4 << 24)
++#define LCCR3_18BPP_UNPACKED (5 << 24)
++#define LCCR3_18BPP (6 << 24)
++#define LCCR3_19BPP (8 << 24)
++#define LCCR3_24BPP (9 << 24)
++#define LCCR3_25BPP (10<< 24)
+
+ #define FDADR0 __REG(0x44000200) /* DMA Channel 0 Frame Descriptor Address Register */
+ #define FSADR0 __REG(0x44000204) /* DMA Channel 0 Frame Source Address Register */
diff --git a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
index 95a5a25297..7a203fa0a7 100755
--- a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.4
-# Sun Sep 9 16:52:39 2007
+# Sat Sep 15 19:35:32 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -592,7 +592,9 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_EZX=y
CONFIG_MTD_EZX_A780=y
# CONFIG_MTD_EZX_A780_ALTERNATE is not set
+# CONFIG_MTD_EZX_A1200 is not set
# CONFIG_MTD_EZX_E2 is not set
+# CONFIG_MTD_EZX_E6 is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -851,8 +853,8 @@ CONFIG_TS0710_MUX_USB=y
#
# I2C support
#
-CONFIG_I2C=m
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
@@ -864,8 +866,8 @@ CONFIG_I2C_CHARDEV=m
#
# I2C Hardware Bus support
#
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
+CONFIG_I2C_PXA=y
+CONFIG_I2C_PXA_SLAVE=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb
index edca1ed1c9..d74a22b652 100644
--- a/packages/linux/linux-ezx_2.6.21.bb
+++ b/packages/linux/linux-ezx_2.6.21.bb
@@ -2,68 +2,72 @@ DESCRIPTION = "2.6 Linux Development Kernel for the Motorola GSM phones A780 and
AUTHOR = "The OpenEZX Team <openezx-devel@lists.openezx.org>"
HOMEPAGE = "http://www.openezx.org"
EZX = "ezxdev"
-PR = "${EZX}-r13"
+PR = "${EZX}-r15"
+
require linux.inc
SRC_URI = " \
- ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
- file://logo_linux_clut224.ppm \
- \
- file://patches/patch-2.6.21.4;patch=1 \
- file://patches/ezx-core.patch;patch=1 \
- file://patches/ezx-bp.patch;patch=1 \
- file://patches/ezx-pm.patch;patch=1 \
- file://patches/ezx-pcap.patch;patch=1 \
- file://patches/a780-pcap.patch;patch=1 \
- file://patches/e680-pcap.patch;patch=1 \
- file://patches/a1200-pcap.patch;patch=1 \
- file://patches/e6-pcap.patch;patch=1 \
- file://patches/a780-mci.patch;patch=1 \
- file://patches/e680-mci.patch;patch=1 \
- file://patches/a1200-mci.patch;patch=1 \
- file://patches/e6-mci.patch;patch=1 \
- file://patches/pxa27x-udc-support.2.patch;patch=1 \
- file://patches/ezx-emu.patch;patch=1 \
- file://patches/a780-emu.patch;patch=1 \
- file://patches/e680-emu.patch;patch=1 \
- file://patches/ezx-mtd-map.patch;patch=1 \
- file://patches/ezx-serial-bug-workaround.patch;patch=1 \
- file://patches/pxa-kbd.patch;patch=1 \
- file://patches/a780-kbd.patch;patch=1 \
- file://patches/e680-kbd.patch;patch=1 \
- file://patches/pcap-ts.patch;patch=1 \
- file://patches/a780-ts.patch;patch=1 \
- file://patches/e680-ts.patch;patch=1 \
- file://patches/a1200-ts.patch;patch=1 \
- file://patches/e6-ts.patch;patch=1 \
- file://patches/ezx-eoc.patch;patch=1 \
- file://patches/a1200-eoc.patch;patch=1 \
- file://patches/e6-eoc.patch;patch=1 \
- file://patches/ezx-backlight.patch;patch=1 \
- file://patches/a780-flip.patch;patch=1 \
- file://patches/e680-locksw.patch;patch=1 \
- file://patches/a780-leds.patch;patch=1 \
- file://patches/e680-leds.patch;patch=1 \
- file://patches/a780-vibrator.patch;patch=1 \
- file://patches/mux_cli.patch;patch=1 \
- file://patches/mux-fix.patch;patch=1 \
- file://patches/mux-fix-init-errorpath.patch;patch=1 \
- file://patches/mux-remove-flipbuffers.patch;patch=1 \
- file://patches/mux-remove-get_halted_bit.patch;patch=1 \
- file://patches/mux-remove-usbh_finished_resume.patch;patch=1 \
- file://patches/mux-fix-makefile.patch;patch=1 \
- file://patches/mux-fix-tty-driver.patch;patch=1 \
- file://patches/mux-linux-2.6.21-fix.patch;patch=1 \
- file://patches/asoc-pxa-ssp.patch;patch=1 \
- file://patches/asoc-fix-loopback.patch;patch=1 \
- file://patches/ezx-asoc.patch;patch=1 \
- file://patches/mtdfix.patch;patch=1 \
- file://defconfig \
-"
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+ file://logo_linux_clut224.ppm \
+ \
+ file://patches/patch-2.6.21.4;patch=1 \
+ file://patches/ezx-core.patch;patch=1 \
+ file://patches/ezx-bp.patch;patch=1 \
+ file://patches/ezx-pm.patch;patch=1 \
+ file://patches/ezx-pcap.patch;patch=1 \
+ file://patches/a780-pcap.patch;patch=1 \
+ file://patches/e680-pcap.patch;patch=1 \
+ file://patches/a1200-pcap.patch;patch=1 \
+ file://patches/e6-pcap.patch;patch=1 \
+ file://patches/a780-mci.patch;patch=1 \
+ file://patches/e680-mci.patch;patch=1 \
+ file://patches/a1200-mci.patch;patch=1 \
+ file://patches/e6-mci.patch;patch=1 \
+ file://patches/pxa27x-udc-support.2.patch;patch=1 \
+ file://patches/ezx-emu.patch;patch=1 \
+ file://patches/a780-emu.patch;patch=1 \
+ file://patches/e680-emu.patch;patch=1 \
+ file://patches/ezx-mtd-map.patch;patch=1 \
+ file://patches/ezx-serial-bug-workaround.patch;patch=1 \
+ file://patches/pxa-kbd.patch;patch=1 \
+ file://patches/a780-kbd.patch;patch=1 \
+ file://patches/e680-kbd.patch;patch=1 \
+ file://patches/pcap-ts.patch;patch=1 \
+ file://patches/a780-ts.patch;patch=1 \
+ file://patches/e680-ts.patch;patch=1 \
+ file://patches/a1200-ts.patch;patch=1 \
+ file://patches/e6-ts.patch;patch=1 \
+ file://patches/ezx-eoc.patch;patch=1 \
+ file://patches/a1200-eoc.patch;patch=1 \
+ file://patches/e6-eoc.patch;patch=1 \
+ file://patches/ezx-backlight.patch;patch=1 \
+ file://patches/a780-flip.patch;patch=1 \
+ file://patches/e680-locksw.patch;patch=1 \
+ file://patches/a780-leds.patch;patch=1 \
+ file://patches/e680-leds.patch;patch=1 \
+ file://patches/a780-vibrator.patch;patch=1 \
+ file://patches/mux_cli.patch;patch=1 \
+ file://patches/mux-fix.patch;patch=1 \
+ file://patches/mux-fix-init-errorpath.patch;patch=1 \
+ file://patches/mux-remove-flipbuffers.patch;patch=1 \
+ file://patches/mux-remove-get_halted_bit.patch;patch=1 \
+ file://patches/mux-remove-usbh_finished_resume.patch;patch=1 \
+ file://patches/mux-fix-makefile.patch;patch=1 \
+ file://patches/mux-fix-tty-driver.patch;patch=1 \
+ file://patches/mux-linux-2.6.21-fix.patch;patch=1 \
+ file://patches/asoc-pxa-ssp.patch;patch=1 \
+ file://patches/asoc-fix-loopback.patch;patch=1 \
+ file://patches/ezx-asoc.patch;patch=1 \
+ file://patches/mtdfix.patch;patch=1 \
+ file://patches/lcd_18BPP_support.diff;patch=1 \
+ file://defconfig \
+ \
+ "
S = "${WORKDIR}/linux-${PV}"
+
##############################################################
# kernel image resides on a seperate flash partition (for now)
#
@@ -76,6 +80,7 @@ COMPATIBLE_MACHINE = '(a780|e680|a1200|rorkre2|rokre6)'
# For now the code for serial console is disabled in compress.c
#CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 "
CMDLINE_CON = "console=tty1 "
+
CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5"
CMDLINE_NFSROOT = "root=/dev/nfs rootfstype=nfs nfsroot=192.168.0.200:/export/ezx-image rootdelay=5 "
# Uncomment to enable dyntick
@@ -95,3 +100,4 @@ KERNEL_IMAGE_MAXSIZE = "1294336"
#
#module_autoload_pxaficp_ir = "pxaficp_ir"
#module_autoload_snd-pcm-oss = "snd-pcm-oss"
+
diff --git a/packages/linux/linux-handhelds-2.6/h2200/defconfig b/packages/linux/linux-handhelds-2.6/h2200/defconfig
index 9b72b0bd9d..0f122c023c 100644
--- a/packages/linux/linux-handhelds-2.6/h2200/defconfig
+++ b/packages/linux/linux-handhelds-2.6/h2200/defconfig
@@ -864,7 +864,7 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_ADC is not set
+CONFIG_TOUCHSCREEN_ADC=y
CONFIG_TOUCHSCREEN_ADC_DEBOUNCE=y
# CONFIG_TOUCHSCREEN_UCB1400 is not set
CONFIG_INPUT_MISC=y
diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb
index b34d4630a0..ec5844bfb5 100644
--- a/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh16.bb
@@ -1,7 +1,7 @@
SECTION = "kernel"
DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/openocd/openocd_svn.bb b/packages/openocd/openocd_svn.bb
index 9824fd3d79..2815324521 100644
--- a/packages/openocd/openocd_svn.bb
+++ b/packages/openocd/openocd_svn.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing"
HOMEPAGE = "http://openocd.berlios.de/"
LICENSE = "GPL"
-PV = "0.0+svn${SRCDATE}"
+PV = "0.0+r${SRCREV}"
+PR = "r1"
inherit autotools
diff --git a/packages/pointercal/files/a780/.mtn2git_empty b/packages/pointercal/files/a780/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/pointercal/files/a780/.mtn2git_empty
diff --git a/packages/pointercal/files/a780/pointercal b/packages/pointercal/files/a780/pointercal
new file mode 100644
index 0000000000..8b0651dd21
--- /dev/null
+++ b/packages/pointercal/files/a780/pointercal
@@ -0,0 +1 @@
+-19857 -412 18085522 189 -23922 22734294 65536
diff --git a/packages/pointercal/pointercal_0.0.bb b/packages/pointercal/pointercal_0.0.bb
index 87e4acafb9..a50281b682 100644
--- a/packages/pointercal/pointercal_0.0.bb
+++ b/packages/pointercal/pointercal_0.0.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Touchscreen calibration data"
SECTION = "base"
-PR = "r2"
+PR = "r3"
SRC_URI = "file://pointercal"
S = "${WORKDIR}"
diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch
new file mode 100644
index 0000000000..714536934c
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/kdrive-1.3-18bpp.patch
@@ -0,0 +1,419 @@
+diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c
+--- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2006-11-16 19:01:23.000000000 +0100
++++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c 2007-09-15 16:53:20.152045000 +0200
+@@ -213,6 +213,24 @@
+
+ /* Now get the new screeninfo */
+ ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
++ /* Special treatment of 18bpp */
++ if ((priv->var.red.length == 6) && (priv->var.green.length == 6) &&
++ (priv->var.blue.length == 6))
++ {
++ priv->var.red.length = 8;
++ if (priv->var.red.offset != 0)
++ priv->var.red.offset = 16;
++ priv->var.green.length = 8;
++ priv->var.green.offset = 8;
++ priv->var.blue.length = 8;
++ if (priv->var.blue.offset != 0)
++ priv->var.blue.offset = 16;
++ priv->var.bits_per_pixel = 32;
++ priv->Have18Bpp = TRUE;
++ }
++ else
++ priv->Have18Bpp = FALSE;
++
+ depth = priv->var.bits_per_pixel;
+ gray = priv->var.grayscale;
+
+@@ -334,7 +352,7 @@
+ KdMouseMatrix m;
+ FbdevPriv *priv = screen->card->driver;
+
+- if (scrpriv->randr != RR_Rotate_0)
++ if (scrpriv->randr != RR_Rotate_0 || priv->Have18Bpp)
+ scrpriv->shadow = TRUE;
+ else
+ scrpriv->shadow = FALSE;
+@@ -398,6 +416,354 @@
+ return TRUE;
+ }
+
++void
++shadowUpdatePacked18 (ScreenPtr pScreen,
++ shadowBufPtr pBuf)
++{
++ RegionPtr damage = shadowDamage (pBuf);
++ PixmapPtr pShadow = pBuf->pPixmap;
++ int nbox = REGION_NUM_RECTS (damage);
++ BoxPtr pbox = REGION_RECTS (damage);
++ FbBits *shaBase, *shaLine, *sha;
++ FbStride shaStride;
++ int scrBase, scrLine, scr;
++ int shaBpp;
++ int shaXoff, shaYoff; /* XXX assumed to be zero */
++ int x, y, w, h, width;
++ int i;
++ char *winBase = NULL, *win;
++ CARD32 winSize;
++
++ fbGetDrawable (&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, shaYoff);
++ while (nbox--)
++ {
++ x = pbox->x1 * shaBpp;
++ y = pbox->y1;
++ w = (pbox->x2 - pbox->x1) * shaBpp;
++ h = pbox->y2 - pbox->y1;
++
++ scrLine = (x >> FB_SHIFT);
++ shaLine = shaBase + y * shaStride + (x >> FB_SHIFT);
++
++ x &= FB_MASK;
++ w = (w + x + FB_MASK) >> FB_SHIFT;
++
++ while (h--)
++ {
++ winSize = 0;
++ scrBase = 0;
++ width = w;
++ scr = scrLine;
++ sha = shaLine;
++ while (width) {
++ /* how much remains in this window */
++ i = scrBase + winSize - scr;
++ if (i <= 0 || scr < scrBase)
++ {
++ winBase = (char *) (*pBuf->window) (pScreen,
++ y,
++ scr * 3,
++ SHADOW_WINDOW_WRITE,
++ &winSize,
++ pBuf->closure);
++ if(!winBase)
++ return;
++ scrBase = scr;
++ winSize /= 3;
++ i = winSize;
++ }
++ win = winBase + (scr - scrBase);
++ if (i > width)
++ i = width;
++ width -= i;
++ scr += i;
++#define PickBit(a,i) (((a) >> (i)) & 1)
++ while (i--)
++ {
++ FbBits bits = *sha++;
++ *win++ = ((bits & 0xFC) >> 2) |
++ ((bits & 0xC00) >> 4);
++ *win++ = ((bits & 0xF000) >> 12) |
++ ((bits & 0x3C0000) >> 14);
++ *win++ = (bits & 0xC00000) >> 22;
++ }
++ }
++ shaLine += shaStride;
++ y++;
++ }
++ pbox++;
++ }
++}
++
++#define LEFT_TO_RIGHT 1
++#define RIGHT_TO_LEFT -1
++#define TOP_TO_BOTTOM 2
++#define BOTTOM_TO_TOP -2
++
++void
++shadowUpdateRotatePacked18 (ScreenPtr pScreen,
++ shadowBufPtr pBuf)
++{
++ RegionPtr damage = shadowDamage (pBuf);
++ PixmapPtr pShadow = pBuf->pPixmap;
++ int nbox = REGION_NUM_RECTS (damage);
++ BoxPtr pbox = REGION_RECTS (damage);
++ FbBits *shaBits;
++ FbStride shaStride;
++ int shaBpp;
++ int shaXoff, shaYoff;
++ int box_x1, box_x2, box_y1, box_y2;
++ int sha_x1 = 0, sha_y1 = 0;
++ int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h;
++ int scr_x, scr_y;
++ int w;
++ int pixelsPerBits;
++ int pixelsMask;
++ FbStride shaStepOverY = 0, shaStepDownY = 0;
++ FbStride shaStepOverX = 0, shaStepDownX = 0;
++ FbBits *shaLine, *sha;
++ int shaHeight = pShadow->drawable.height;
++ int shaWidth = pShadow->drawable.width;
++ FbBits shaMask;
++ int shaFirstShift, shaShift;
++ int o_x_dir;
++ int o_y_dir;
++ int x_dir;
++ int y_dir;
++
++ fbGetDrawable (&pShadow->drawable, shaBits, shaStride, shaBpp, shaXoff, shaYoff);
++ pixelsPerBits = (sizeof (FbBits) * 8) / shaBpp;
++ pixelsMask = ~(pixelsPerBits - 1);
++ shaMask = FbBitsMask (FB_UNIT-shaBpp, shaBpp);
++ /*
++ * Compute rotation related constants to walk the shadow
++ */
++ o_x_dir = LEFT_TO_RIGHT;
++ o_y_dir = TOP_TO_BOTTOM;
++ if (pBuf->randr & SHADOW_REFLECT_X)
++ o_x_dir = -o_x_dir;
++ if (pBuf->randr & SHADOW_REFLECT_Y)
++ o_y_dir = -o_y_dir;
++ switch (pBuf->randr & (SHADOW_ROTATE_ALL)) {
++ case SHADOW_ROTATE_0: /* upper left shadow -> upper left screen */
++ default:
++ x_dir = o_x_dir;
++ y_dir = o_y_dir;
++ break;
++ case SHADOW_ROTATE_90: /* upper right shadow -> upper left screen */
++ x_dir = o_y_dir;
++ y_dir = -o_x_dir;
++ break;
++ case SHADOW_ROTATE_180: /* lower right shadow -> upper left screen */
++ x_dir = -o_x_dir;
++ y_dir = -o_y_dir;
++ break;
++ case SHADOW_ROTATE_270: /* lower left shadow -> upper left screen */
++ x_dir = -o_y_dir;
++ y_dir = o_x_dir;
++ break;
++ }
++ switch (x_dir) {
++ case LEFT_TO_RIGHT:
++ shaStepOverX = shaBpp;
++ shaStepOverY = 0;
++ break;
++ case TOP_TO_BOTTOM:
++ shaStepOverX = 0;
++ shaStepOverY = shaStride;
++ break;
++ case RIGHT_TO_LEFT:
++ shaStepOverX = -shaBpp;
++ shaStepOverY = 0;
++ break;
++ case BOTTOM_TO_TOP:
++ shaStepOverX = 0;
++ shaStepOverY = -shaStride;
++ break;
++ }
++ switch (y_dir) {
++ case TOP_TO_BOTTOM:
++ shaStepDownX = 0;
++ shaStepDownY = shaStride;
++ break;
++ case RIGHT_TO_LEFT:
++ shaStepDownX = -shaBpp;
++ shaStepDownY = 0;
++ break;
++ case BOTTOM_TO_TOP:
++ shaStepDownX = 0;
++ shaStepDownY = -shaStride;
++ break;
++ case LEFT_TO_RIGHT:
++ shaStepDownX = shaBpp;
++ shaStepDownY = 0;
++ break;
++ }
++
++ while (nbox--)
++ {
++ box_x1 = pbox->x1;
++ box_y1 = pbox->y1;
++ box_x2 = pbox->x2;
++ box_y2 = pbox->y2;
++ pbox++;
++
++ /*
++ * Compute screen and shadow locations for this box
++ */
++ switch (x_dir) {
++ case LEFT_TO_RIGHT:
++ scr_x1 = box_x1 & pixelsMask;
++ scr_x2 = (box_x2 + pixelsPerBits - 1) & pixelsMask;
++
++ sha_x1 = scr_x1;
++ break;
++ case TOP_TO_BOTTOM:
++ scr_x1 = box_y1 & pixelsMask;
++ scr_x2 = (box_y2 + pixelsPerBits - 1) & pixelsMask;
++
++ sha_y1 = scr_x1;
++ break;
++ case RIGHT_TO_LEFT:
++ scr_x1 = (shaWidth - box_x2) & pixelsMask;
++ scr_x2 = (shaWidth - box_x1 + pixelsPerBits - 1) & pixelsMask;
++
++ sha_x1 = (shaWidth - scr_x1 - 1);
++ break;
++ case BOTTOM_TO_TOP:
++ scr_x1 = (shaHeight - box_y2) & pixelsMask;
++ scr_x2 = (shaHeight - box_y1 + pixelsPerBits - 1) & pixelsMask;
++
++ sha_y1 = (shaHeight - scr_x1 - 1);
++ break;
++ }
++ switch (y_dir) {
++ case TOP_TO_BOTTOM:
++ scr_y1 = box_y1;
++ scr_y2 = box_y2;
++
++ sha_y1 = scr_y1;
++ break;
++ case RIGHT_TO_LEFT:
++ scr_y1 = (shaWidth - box_x2);
++ scr_y2 = (shaWidth - box_x1);
++
++ sha_x1 = box_x2 - 1;
++ break;
++ case BOTTOM_TO_TOP:
++ scr_y1 = shaHeight - box_y2;
++ scr_y2 = shaHeight - box_y1;
++
++ sha_y1 = box_y2 - 1;
++ break;
++ case LEFT_TO_RIGHT:
++ scr_y1 = box_x1;
++ scr_y2 = box_x2;
++
++ sha_x1 = box_x1;
++ break;
++ }
++ scr_w = ((scr_x2 - scr_x1) * shaBpp) >> FB_SHIFT;
++ scr_h = scr_y2 - scr_y1;
++ scr_y = scr_y1;
++
++ /* shift amount for first pixel on screen */
++ shaFirstShift = FB_UNIT - ((sha_x1 * shaBpp) & FB_MASK) - shaBpp;
++
++ /* pointer to shadow data first placed on screen */
++ shaLine = (shaBits +
++ sha_y1 * shaStride +
++ ((sha_x1 * shaBpp) >> FB_SHIFT));
++
++ /*
++ * Copy the bits, always write across the physical frame buffer
++ * to take advantage of write combining.
++ */
++ while (scr_h--)
++ {
++ int p;
++ FbBits bits;
++ char *win;
++ int i;
++ CARD32 winSize;
++
++ sha = shaLine;
++ shaShift = shaFirstShift;
++ w = scr_w;
++ scr_x = scr_x1 * shaBpp >> FB_SHIFT;
++
++ while (w)
++ {
++ /*
++ * Map some of this line
++ */
++ win = (char *) (*pBuf->window) (pScreen,
++ scr_y,
++ scr_x * 3,
++ SHADOW_WINDOW_WRITE,
++ &winSize,
++ pBuf->closure);
++ i = winSize / 3;
++ if (i > w)
++ i = w;
++ w -= i;
++ scr_x += i;
++ /*
++ * Copy the portion of the line mapped
++ */
++ while (i--)
++ {
++ bits = 0;
++ p = pixelsPerBits;
++ /*
++ * Build one word of output from multiple inputs
++ *
++ * Note that for 90/270 rotations, this will walk
++ * down the shadow hitting each scanline once.
++ * This is probably not very efficient.
++ */
++ while (p--)
++ {
++ bits = FbScrLeft(bits, shaBpp);
++ bits |= FbScrRight (*sha, shaShift) & shaMask;
++
++ shaShift -= shaStepOverX;
++ if (shaShift >= FB_UNIT)
++ {
++ shaShift -= FB_UNIT;
++ sha--;
++ }
++ else if (shaShift < 0)
++ {
++ shaShift += FB_UNIT;
++ sha++;
++ }
++ sha += shaStepOverY;
++ }
++ *win++ = ((bits & 0xFC) >> 2) |
++ ((bits & 0xC00) >> 4);
++ *win++ = ((bits & 0xF000) >> 12) |
++ ((bits & 0x3C0000) >> 14);
++ *win++ = (bits & 0xC00000) >> 22;
++ }
++ }
++ scr_y++;
++ shaFirstShift -= shaStepDownX;
++ if (shaFirstShift >= FB_UNIT)
++ {
++ shaFirstShift -= FB_UNIT;
++ shaLine--;
++ }
++ else if (shaFirstShift < 0)
++ {
++ shaFirstShift += FB_UNIT;
++ shaLine++;
++ }
++ shaLine += shaStepDownY;
++ }
++ }
++}
++
+ Bool
+ fbdevSetShadow (ScreenPtr pScreen)
+ {
+@@ -418,7 +784,14 @@
+
+ window = fbdevWindowLinear;
+ update = 0;
+- if (scrpriv->randr)
++ if (priv->Have18Bpp)
++ {
++ if (scrpriv->randr != RR_Rotate_0)
++ update = shadowUpdateRotatePacked18;
++ else
++ update = shadowUpdatePacked18;
++ }
++ else if (scrpriv->randr)
+ if (priv->var.bits_per_pixel == 16) {
+ switch (scrpriv->randr) {
+ case RR_Rotate_90:
+diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h
+--- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h 2006-09-18 08:04:17.000000000 +0200
++++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h 2007-09-15 16:45:07.362045000 +0200
+@@ -44,6 +44,7 @@
+ int fd;
+ char *fb;
+ char *fb_base;
++ Bool Have18Bpp;
+ } FbdevPriv;
+
+ typedef struct _fbdevScrPriv {