From: Saul Wold <sgw@linux.intel.com>
To: Ross Burton <ross.burton@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 4/6] xserver-kdrive: remove.
Date: Fri, 31 Aug 2012 09:27:41 -0700 [thread overview]
Message-ID: <5040E5FD.604@linux.intel.com> (raw)
In-Reply-To: <b01489d1b7731846021040962e4ef625d311a4e7.1346346320.git.ross.burton@intel.com>
On 08/30/2012 10:07 AM, Ross Burton wrote:
> kdrive is effectively unmaintained upstream (it's only kept for Xephyr).
>
> Apart from two headless machines in meta-yocto (patches sent), every BSP I
> looked at (oe-core, meta-intel, meta-oe, meta-ti, meta-smartphone) is using the
> traditional X.org X server. Changing kdrive to Xorg means an extra ~200kb of
> disk usage but extra features and more importantly continued maintenance.
>
I really can't take this patch set until the corresponding change is
made to the meta-yocto BSPs as this will cause breakage there.
Sau!
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
> .../xserver-kdrive-1.7.99.2/crosscompile.patch | 23 -
> .../xserver-kdrive-1.7.99.2/disable-apm.patch | 24 -
> .../enable-builtin-fonts.patch | 16 -
> .../enable-xcalibrate.patch | 152 ------
> .../error-address-work-around.patch | 364 --------------
> .../xserver-kdrive-1.7.99.2/extra-kmodes.patch | 87 ----
> .../fbdev_xrandr_ioctl.patch | 65 ---
> .../fix-bogus-stack-variables.patch | 233 ---------
> .../fix-newer-xorg-headers.patch | 22 -
> .../hide-cursor-and-ppm-root.patch | 312 ------------
> .../xserver-kdrive-1.7.99.2/kdrive-evdev.patch | 520 --------------------
> .../xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch | 58 ---
> .../keyboard-resume-workaround.patch | 29 --
> .../no-serial-probing.patch | 17 -
> .../xserver-kdrive-1.7.99.2/nodolt.patch | 16 -
> .../xserver-kdrive-1.7.99.2/optional-xkb.patch | 62 ---
> .../xorg-xserver/xserver-kdrive.inc | 113 -----
> .../xorg-xserver/xserver-kdrive_1.7.99.2.bb | 34 --
> 18 files changed, 2147 deletions(-)
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
> delete mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
>
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch
> deleted file mode 100644
> index 87595d0..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -Upstream-Status: Inappropriate [cross compiling]
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -Index: xorg-server-1.7.99.2/configure.ac
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/configure.ac 2010-01-29 16:38:49.000000000 +0000
> -+++ xorg-server-1.7.99.2/configure.ac 2010-01-29 16:42:39.000000000 +0000
> -@@ -503,14 +503,10 @@
> -
> - dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
> - dnl otherwise uses standard subdirectories of FONTROOTDIR
> --AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
> -- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
> -- [
> - DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
> - case $host_os in
> - darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
> - esac
> -- ])
> - AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
> - [ FONTPATH="$withval" ],
> - [ FONTPATH="${DEFAULT_FONT_PATH}" ])
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch
> deleted file mode 100644
> index c22b1c0..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -Upstream-Status: Inappropriate [disable feature]
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ---- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000
> -+++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000
> -@@ -342,7 +342,7 @@
> - /*
> - * Open the APM driver
> - */
> -- LinuxApmFd = open ("/dev/apm_bios", 2);
> -+ /*LinuxApmFd = open ("/dev/apm_bios", 2);
> - if (LinuxApmFd < 0 && errno == ENOENT)
> - LinuxApmFd = open ("/dev/misc/apm_bios", 2);
> - if (LinuxApmFd >= 0)
> -@@ -352,7 +352,7 @@
> - RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0);
> - AddEnabledDevice (LinuxApmFd);
> - }
> --
> -+ */
> - /*
> - * now get the VT
> - */
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch
> deleted file mode 100644
> index 98d5176..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ---- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200
> -+++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200
> -@@ -52,8 +52,8 @@
> - /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */
> -
> - #define NEED_REPLIES
> - #ifdef HAVE_DIX_CONFIG_H
> --#include <dix-config.h>
> -+#include <kdrive-config.h>
> - #endif
> -
> - #include <X11/X.h>
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch
> deleted file mode 100644
> index efac5ef..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch
> +++ /dev/null
> @@ -1,152 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ----
> - Xext/Makefile.am | 6 ++++++
> - configure.ac | 11 +++++++++--
> - include/kdrive-config.h.in | 3 +++
> - mi/miinitext.c | 6 ++++++
> - 4 files changed, 24 insertions(+), 2 deletions(-)
> -
> -Index: xorg-server-1.7.99.2/mi/miinitext.c
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/mi/miinitext.c 2010-02-10 18:54:11.959086237 +0000
> -+++ xorg-server-1.7.99.2/mi/miinitext.c 2010-02-10 18:54:12.429078513 +0000
> -@@ -264,6 +264,9 @@
> - #ifdef DMXEXT
> - extern void DMXExtensionInit(INITARGS);
> - #endif
> -+#ifdef XCALIBRATE
> -+extern void XCalibrateExtensionInit(INITARGS);
> -+#endif
> - #ifdef XFIXES
> - extern void XFixesExtensionInit(INITARGS);
> - #endif
> -@@ -493,6 +496,9 @@
> - GlxPushProvider(&__glXDRISWRastProvider);
> - if (!noGlxExtension) GlxExtensionInit();
> - #endif
> -+#ifdef XCALIBRATE
> -+ XCalibrateExtensionInit ();
> -+#endif
> - }
> -
> - #else /* XFree86LOADER */
> -Index: xorg-server-1.7.99.2/configure.ac
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/configure.ac 2010-02-10 18:54:11.959086237 +0000
> -+++ xorg-server-1.7.99.2/configure.ac 2010-02-11 11:49:50.710736962 +0000
> -@@ -1985,7 +1985,7 @@
> - fi
> -
> -
> -- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
> -+ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
> - if test "x$HAVE_TSLIB" = xno; then
> - AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"])
> - fi
> -@@ -2039,7 +2039,7 @@
> - KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
> - KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
> - KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB"
> -- KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
> -+ KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $TSLIB_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
> -
> - AC_SUBST([XEPHYR_LIBS])
> - AC_SUBST([XEPHYR_INCS])
> -Index: xorg-server-1.7.99.2/include/kdrive-config.h.in
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/include/kdrive-config.h.in 2010-02-10 18:54:11.959086237 +0000
> -+++ xorg-server-1.7.99.2/include/kdrive-config.h.in 2010-02-10 18:54:12.429078513 +0000
> -@@ -28,4 +28,7 @@
> - /* Have execinfo.h for backtrace(). */
> - #undef HAVE_EXECINFO_H
> -
> -+/* Enable XCalibrate extension */
> -+#undef XCALIBRATE
> -+
> - #endif /* _KDRIVE_CONFIG_H_ */
> -Index: xorg-server-1.7.99.2/hw/kdrive/linux/tslib.c
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/hw/kdrive/linux/tslib.c 2010-02-10 18:58:12.669078495 +0000
> -+++ xorg-server-1.7.99.2/hw/kdrive/linux/tslib.c 2010-02-10 19:04:56.927828767 +0000
> -@@ -50,12 +50,15 @@
> - int fd;
> - int lastx, lasty;
> - struct tsdev *tsDev;
> -- void (*raw_event_hook)(int x, int y, int pressure, void *closure);
> -- void *raw_event_closure;
> - int phys_screen;
> - };
> -
> -
> -+/* For XCalibrate extension */
> -+void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure);
> -+void *tslib_raw_event_closure;
> -+
> -+
> - static void
> - TsRead (int fd, void *closure)
> - {
> -@@ -65,10 +68,10 @@
> - long x = 0, y = 0;
> - unsigned long flags;
> -
> -- if (private->raw_event_hook) {
> -+ if (tslib_raw_event_hook) {
> - while (ts_read_raw(private->tsDev, &event, 1) == 1)
> -- private->raw_event_hook (event.x, event.y, event.pressure,
> -- private->raw_event_closure);
> -+ tslib_raw_event_hook (event.x, event.y, event.pressure,
> -+ tslib_raw_event_closure);
> - return;
> - }
> -
> -@@ -111,8 +114,8 @@
> - {
> - struct TslibPrivate *private = pi->driverPrivate;
> -
> -- private->raw_event_hook = NULL;
> -- private->raw_event_closure = NULL;
> -+ tslib_raw_event_hook = NULL;
> -+ tslib_raw_event_closure = NULL;
> - if (!pi->path) {
> - pi->path = strdup("/dev/input/touchscreen0");
> - ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path);
> -Index: xorg-server-1.7.99.2/Xext/xcalibrate.c
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/Xext/xcalibrate.c 2010-02-10 18:59:24.097829840 +0000
> -+++ xorg-server-1.7.99.2/Xext/xcalibrate.c 2010-02-11 11:51:00.930735731 +0000
> -@@ -115,6 +115,7 @@
> -
> - memset (&rep, 0, sizeof (rep));
> - rep.type = X_Reply;
> -+ rep.length = 0;
> - rep.sequenceNumber = client->sequence;
> -
> - if (stuff->on)
> -@@ -158,6 +159,7 @@
> -
> - swaps (&rep.sequenceNumber, n);
> - swaps (&rep.status, n);
> -+ swapl (&rep.length, n);
> - }
> - WriteToClient(client, sizeof (rep), (char *) &rep);
> - return (client->noClientException);
> -@@ -186,6 +188,7 @@
> -
> - memset (&rep, 0, sizeof (rep));
> - rep.type = X_Reply;
> -+ rep.length = 0;
> - rep.sequenceNumber = client->sequence;
> - rep.x = stuff->x;
> - rep.y = stuff->y;
> -@@ -198,6 +201,7 @@
> -
> - swaps (&rep.x, n);
> - swaps (&rep.y, n);
> -+ swapl (&rep.length, n);
> - }
> - WriteToClient(client, sizeof (rep), (char *) &rep);
> - return (client->noClientException);
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch
> deleted file mode 100644
> index 98a946a..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch
> +++ /dev/null
> @@ -1,364 +0,0 @@
> -Upstream-Status: Inappropriate
> -
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/dix/window.c xorg-server-1.7.99.2/dix/window.c
> ---- xorg-server-1.7.99.2.ORIG/dix/window.c 2012-01-04 13:12:40.417640130 -0700
> -+++ xorg-server-1.7.99.2/dix/window.c 2012-01-04 12:13:20.678605493 -0700
> -@@ -559,10 +559,10 @@
> - box.y1 = 0;
> - box.x2 = pScreen->width;
> - box.y2 = pScreen->height;
> -- REGION_INIT(pScreen, &pWin->clipList, &box, 1);
> -- REGION_INIT(pScreen, &pWin->winSize, &box, 1);
> -- REGION_INIT(pScreen, &pWin->borderSize, &box, 1);
> -- REGION_INIT(pScreen, &pWin->borderClip, &box, 1);
> -+ REGION_INIT2(pScreen, &pWin->clipList, &box, 1);
> -+ REGION_INIT2(pScreen, &pWin->winSize, &box, 1);
> -+ REGION_INIT2(pScreen, &pWin->borderSize, &box, 1);
> -+ REGION_INIT2(pScreen, &pWin->borderClip, &box, 1);
> -
> - pWin->drawable.class = InputOutput;
> - pWin->optional->visual = pScreen->rootVisual;
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_accel.c xorg-server-1.7.99.2/exa/exa_accel.c
> ---- xorg-server-1.7.99.2.ORIG/exa/exa_accel.c 2009-12-11 11:20:48.000000000 -0700
> -+++ xorg-server-1.7.99.2/exa/exa_accel.c 2012-01-04 12:58:11.218616328 -0700
> -@@ -1275,7 +1275,7 @@
> - Box.x2 = Box.x1 + w;
> - Box.y2 = Box.y1 + h;
> -
> -- REGION_INIT(pScreen, &Reg, &Box, 1);
> -+ REGION_INIT2(pScreen, &Reg, &Box, 1);
> -
> - pixmaps[0].as_dst = FALSE;
> - pixmaps[0].as_src = TRUE;
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa.c xorg-server-1.7.99.2/exa/exa.c
> ---- xorg-server-1.7.99.2.ORIG/exa/exa.c 2009-12-11 11:20:48.000000000 -0700
> -+++ xorg-server-1.7.99.2/exa/exa.c 2012-01-04 12:56:30.592593427 -0700
> -@@ -161,7 +161,7 @@
> - if (box.x1 >= box.x2 || box.y1 >= box.y2)
> - return;
> -
> -- REGION_INIT(pScreen, ®ion, &box, 1);
> -+ REGION_INIT2(pScreen, ®ion, &box, 1);
> - DamageRegionAppend(&pPix->drawable, ®ion);
> - DamageRegionProcessPending(&pPix->drawable);
> - REGION_UNINIT(pScreen, ®ion);
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_classic.c xorg-server-1.7.99.2/exa/exa_classic.c
> ---- xorg-server-1.7.99.2.ORIG/exa/exa_classic.c 2009-11-28 13:44:58.000000000 -0700
> -+++ xorg-server-1.7.99.2/exa/exa_classic.c 2012-01-04 12:54:50.586576675 -0700
> -@@ -131,8 +131,8 @@
> - box.y1 = 0;
> - box.x2 = w;
> - box.y2 = h;
> -- REGION_INIT(pScreen, &pExaPixmap->validSys, &box, 0);
> -- REGION_INIT(pScreen, &pExaPixmap->validFB, &box, 0);
> -+ REGION_INIT2(pScreen, &pExaPixmap->validSys, &box, 0);
> -+ REGION_INIT2(pScreen, &pExaPixmap->validFB, &box, 0);
> -
> - exaSetAccelBlock(pExaScr, pExaPixmap,
> - w, h, bpp);
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c xorg-server-1.7.99.2/exa/exa_migration_classic.c
> ---- xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c 2009-11-28 13:44:58.000000000 -0700
> -+++ xorg-server-1.7.99.2/exa/exa_migration_classic.c 2012-01-04 12:54:43.077500333 -0700
> -@@ -177,7 +177,7 @@
> - box.x2 = max(pValidExt->x2, pDamageExt->x2);
> - box.y2 = max(pValidExt->y2, pDamageExt->y2);
> -
> -- REGION_INIT(pScreen, &closure, &box, 0);
> -+ REGION_INIT2(pScreen, &closure, &box, 0);
> - REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure);
> - } else
> - REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage);
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_render.c xorg-server-1.7.99.2/exa/exa_render.c
> ---- xorg-server-1.7.99.2.ORIG/exa/exa_render.c 2009-11-28 13:44:58.000000000 -0700
> -+++ xorg-server-1.7.99.2/exa/exa_render.c 2012-01-04 12:59:18.234297490 -0700
> -@@ -576,7 +576,7 @@
> - * (see use of DamagePendingRegion in exaCopyDirty)
> - */
> -
> -- REGION_INIT(pScreen, ®ion, &box, 1);
> -+ REGION_INIT2(pScreen, ®ion, &box, 1);
> -
> - DamageRegionAppend(pDst->pDrawable, ®ion);
> -
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c xorg-server-1.7.99.2/exa/exa_unaccel.c
> ---- xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c 2009-12-11 11:20:48.000000000 -0700
> -+++ xorg-server-1.7.99.2/exa/exa_unaccel.c 2012-01-04 12:59:25.915375559 -0700
> -@@ -344,7 +344,7 @@
> - Box.x2 = Box.x1 + w;
> - Box.y2 = Box.y1 + h;
> -
> -- REGION_INIT(pScreen, &Reg, &Box, 1);
> -+ REGION_INIT2(pScreen, &Reg, &Box, 1);
> -
> - pExaScr->prepare_access_reg(pPix, EXA_PREPARE_SRC, &Reg);
> - } else
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/fb/fboverlay.c xorg-server-1.7.99.2/fb/fboverlay.c
> ---- xorg-server-1.7.99.2.ORIG/fb/fboverlay.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/fb/fboverlay.c 2012-01-04 12:24:43.855400893 -0700
> -@@ -147,7 +147,7 @@
> - pbits))
> - return FALSE;
> - pScrPriv->layer[i].u.run.pixmap = pPixmap;
> -- REGION_INIT(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0);
> -+ REGION_INIT2(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0);
> - }
> - pScreen->devPrivate = pScrPriv->layer[0].u.run.pixmap;
> - return TRUE;
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c
> ---- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c 2012-01-04 13:12:40.418640141 -0700
> -+++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2012-01-04 13:05:08.771897914 -0700
> -@@ -144,8 +144,8 @@
> - box.y2 = pScreen->height;
> - pWin->drawable.width = pScreen->width;
> - pWin->drawable.height = pScreen->height;
> -- REGION_INIT (pScreen, &pWin->winSize, &box, 1);
> -- REGION_INIT (pScreen, &pWin->borderSize, &box, 1);
> -+ REGION_INIT2 (pScreen, &pWin->winSize, &box, 1);
> -+ REGION_INIT2 (pScreen, &pWin->borderSize, &box, 1);
> - REGION_RESET(pScreen, &pWin->borderClip, &box);
> - REGION_BREAK (pWin->drawable.pScreen, &pWin->clipList);
> - }
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c xorg-server-1.7.99.2/hw/kdrive/src/kxv.c
> ---- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c 2008-11-14 14:27:05.000000000 -0700
> -+++ xorg-server-1.7.99.2/hw/kdrive/src/kxv.c 2012-01-04 13:07:32.625411023 -0700
> -@@ -674,7 +674,7 @@
> - WinBox.y2 = WinBox.y1 + portPriv->drw_h;
> -
> - /* clip to the window composite clip */
> -- REGION_INIT(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1);
> -+ REGION_INIT2(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1);
> - REGION_INIT(portPriv->pDraw->pScreen, &ClipRegion, NullBox, 1);
> - REGION_INTERSECT(portPriv->pDraw->pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
> -
> -@@ -738,7 +738,7 @@
> - WinBox.y2 = WinBox.y1 + portPriv->drw_h;
> -
> - /* clip to the window composite clip */
> -- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
> -+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
> - REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
> - REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
> -
> -@@ -752,7 +752,7 @@
> - VPBox.x2 = screen->width;
> - VPBox.y2 = screen->height;
> -
> -- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
> -+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
> - REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
> - REGION_UNINIT(pScreen, &VPReg);
> - }
> -@@ -827,7 +827,7 @@
> - WinBox.y2 = WinBox.y1 + portPriv->drw_h;
> -
> - /* clip to the window composite clip */
> -- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
> -+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
> - REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
> - REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
> -
> -@@ -841,7 +841,7 @@
> - VPBox.x2 = screen->width;
> - VPBox.y2 = screen->height;
> -
> -- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
> -+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
> - REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
> - REGION_UNINIT(pScreen, &VPReg);
> - }
> -@@ -1337,7 +1337,7 @@
> - WinBox.x2 = WinBox.x1 + drw_w;
> - WinBox.y2 = WinBox.y1 + drw_h;
> -
> -- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
> -+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
> - REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
> - REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
> -
> -@@ -1350,7 +1350,7 @@
> - VPBox.x2 = screen->width;
> - VPBox.y2 = screen->height;
> -
> -- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
> -+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
> - REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
> - REGION_UNINIT(pScreen, &VPReg);
> - }
> -@@ -1490,7 +1490,7 @@
> - WinBox.x2 = WinBox.x1 + drw_w;
> - WinBox.y2 = WinBox.y1 + drw_h;
> -
> -- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
> -+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
> - REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
> - REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
> -
> -@@ -1637,7 +1637,7 @@
> - WinBox.x2 = WinBox.x1 + drw_w;
> - WinBox.y2 = WinBox.y1 + drw_h;
> -
> -- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
> -+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
> - REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
> - REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
> -
> -@@ -1650,7 +1650,7 @@
> - VPBox.x2 = pScreen->width;
> - VPBox.y2 = pScreen->height;
> -
> -- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
> -+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
> - REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
> - REGION_UNINIT(pScreen, &VPReg);
> - }
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/include/regionstr.h xorg-server-1.7.99.2/include/regionstr.h
> ---- xorg-server-1.7.99.2.ORIG/include/regionstr.h 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/include/regionstr.h 2012-01-04 12:13:06.174461574 -0700
> -@@ -152,6 +152,12 @@
> - } \
> - }
> -
> -+#define REGION_INIT2(_pScreen, _pReg, _rect, _size) \
> -+{ \
> -+ (_pReg)->extents = *(_rect); \
> -+ (_pReg)->data = (RegDataPtr)NULL; \
> -+ }
> -+
> -
> - #define REGION_UNINIT(_pScreen, _pReg) \
> - { \
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/micopy.c xorg-server-1.7.99.2/mi/micopy.c
> ---- xorg-server-1.7.99.2.ORIG/mi/micopy.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/mi/micopy.c 2012-01-04 12:44:17.003144611 -0700
> -@@ -315,7 +315,7 @@
> - box.y1 = box_y1;
> - box.x2 = box_x2;
> - box.y2 = box_y2;
> -- REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
> -+ REGION_INIT2(pGC->pScreen, &rgnDst, &box, 1);
> - }
> -
> - /* Clip against complex source if needed */
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miexpose.c xorg-server-1.7.99.2/mi/miexpose.c
> ---- xorg-server-1.7.99.2.ORIG/mi/miexpose.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/mi/miexpose.c 2012-01-04 12:46:29.400478668 -0700
> -@@ -206,7 +206,7 @@
> - box.x2 = pSrcDrawable->width;
> - box.y2 = pSrcDrawable->height;
> - prgnSrcClip = &rgnSrcRec;
> -- REGION_INIT(pscr, prgnSrcClip, &box, 1);
> -+ REGION_INIT2(pscr, prgnSrcClip, &box, 1);
> - pSrcWin = NULL;
> - }
> -
> -@@ -239,11 +239,11 @@
> - box.x2 = pDstDrawable->width;
> - box.y2 = pDstDrawable->height;
> - prgnDstClip = &rgnDstRec;
> -- REGION_INIT(pscr, prgnDstClip, &box, 1);
> -+ REGION_INIT2(pscr, prgnDstClip, &box, 1);
> - }
> -
> - /* drawable-relative source region */
> -- REGION_INIT(pscr, &rgnExposed, &srcBox, 1);
> -+ REGION_INIT2(pscr, &rgnExposed, &srcBox, 1);
> -
> - /* now get the hidden parts of the source box*/
> - REGION_SUBTRACT(pscr, &rgnExposed, &rgnExposed, prgnSrcClip);
> -@@ -491,7 +491,7 @@
> - box = *REGION_EXTENTS( pWin->drawable.pScreen, exposures);
> - if (exposures == prgn) {
> - exposures = &expRec;
> -- REGION_INIT( pWin->drawable.pScreen, exposures, &box, 1);
> -+ REGION_INIT2( pWin->drawable.pScreen, exposures, &box, 1);
> - REGION_RESET( pWin->drawable.pScreen, prgn, &box);
> - } else {
> - REGION_RESET( pWin->drawable.pScreen, exposures, &box);
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/mioverlay.c xorg-server-1.7.99.2/mi/mioverlay.c
> ---- xorg-server-1.7.99.2.ORIG/mi/mioverlay.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/mi/mioverlay.c 2012-01-04 12:47:50.114300224 -0700
> -@@ -209,8 +209,8 @@
> - fullBox.y1 = 0;
> - fullBox.x2 = pScreen->width;
> - fullBox.y2 = pScreen->height;
> -- REGION_INIT(pScreen, &(pTree->borderClip), &fullBox, 1);
> -- REGION_INIT(pScreen, &(pTree->clipList), &fullBox, 1);
> -+ REGION_INIT2(pScreen, &(pTree->borderClip), &fullBox, 1);
> -+ REGION_INIT2(pScreen, &(pTree->clipList), &fullBox, 1);
> - }
> - } else xfree(pTree);
> - }
> -@@ -1027,7 +1027,7 @@
> - box = *REGION_EXTENTS(pScreen, exposures);
> - if (exposures == prgn) {
> - exposures = &expRec;
> -- REGION_INIT(pScreen, exposures, &box, 1);
> -+ REGION_INIT2(pScreen, exposures, &box, 1);
> - REGION_RESET(pScreen, prgn, &box);
> - } else {
> - REGION_RESET(pScreen, exposures, &box);
> -@@ -1672,7 +1672,7 @@
> - box.x1 = x1; box.x2 = x2;
> - box.y1 = y1; box.y2 = y2;
> -
> -- REGION_INIT(pScreen, ®, &box, 1);
> -+ REGION_INIT2(pScreen, ®, &box, 1);
> -
> - REGION_INTERSECT(pScreen, ®, ®, clipList);
> - if (generateExposures)
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miwindow.c xorg-server-1.7.99.2/mi/miwindow.c
> ---- xorg-server-1.7.99.2.ORIG/mi/miwindow.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/mi/miwindow.c 2012-01-04 12:48:38.055787835 -0700
> -@@ -111,7 +111,7 @@
> - box.y2 = y2;
> -
> - pScreen = pWin->drawable.pScreen;
> -- REGION_INIT(pScreen, ®, &box, 1);
> -+ REGION_INIT2(pScreen, ®, &box, 1);
> -
> - REGION_INTERSECT(pScreen, ®, ®, &pWin->clipList);
> - if (generateExposures)
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/miext/damage/damage.c xorg-server-1.7.99.2/miext/damage/damage.c
> ---- xorg-server-1.7.99.2.ORIG/miext/damage/damage.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/miext/damage/damage.c 2012-01-04 12:51:04.883281430 -0700
> -@@ -324,7 +324,7 @@
> - box.y1 = draw_y;
> - box.x2 = draw_x + pDamage->pDrawable->width;
> - box.y2 = draw_y + pDamage->pDrawable->height;
> -- REGION_INIT(pScreen, &pixClip, &box, 1);
> -+ REGION_INIT2(pScreen, &pixClip, &box, 1);
> - REGION_INTERSECT (pScreen, pDamageRegion, pRegion, &pixClip);
> - REGION_UNINIT(pScreen, &pixClip);
> - }
> -@@ -2085,7 +2085,7 @@
> - box.y1 = pDrawable->y;
> - box.x2 = pDrawable->x + pDrawable->width;
> - box.y2 = pDrawable->y + pDrawable->height;
> -- REGION_INIT (pDrawable->pScreen, &pixmapClip, &box, 1);
> -+ REGION_INIT2 (pDrawable->pScreen, &pixmapClip, &box, 1);
> - pClip = &pixmapClip;
> - }
> - REGION_TRANSLATE (pDrawable->pScreen, &pDamage->damage, pDrawable->x, pDrawable->y);
> -diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/Xext/xace.c xorg-server-1.7.99.2/Xext/xace.c
> ---- xorg-server-1.7.99.2.ORIG/Xext/xace.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/Xext/xace.c 2012-01-04 12:49:36.850385965 -0700
> -@@ -255,7 +255,7 @@
> - imageBox.y1 = y;
> - imageBox.x2 = x + w;
> - imageBox.y2 = y + h;
> -- REGION_INIT(pScreen, &imageRegion, &imageBox, 1);
> -+ REGION_INIT2(pScreen, &imageRegion, &imageBox, 1);
> - REGION_NULL(pScreen, &censorRegion);
> -
> - /* censorRegion = imageRegion - visibleRegion */
> ---- xorg-server-1.7.99.2.ORIG/mi/mibank.c 2009-11-04 09:25:50.000000000 -0700
> -+++ xorg-server-1.7.99.2/mi/mibank.c 2012-01-04 12:37:42.251184747 -0700
> -@@ -772,7 +772,7 @@
> - }
> - else
> - {
> -- REGION_INIT(pScreen, &rgnDst, &fastBox, 1);
> -+ REGION_INIT2(pScreen, &rgnDst, &fastBox, 1);
> - REGION_INTERSECT(pScreen, &rgnDst, &rgnDst, prgnSrcClip);
> - pBox = REGION_RECTS(&rgnDst);
> - nBox = REGION_NUM_RECTS(&rgnDst);
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch
> deleted file mode 100644
> index 896c033..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch
> +++ /dev/null
> @@ -1,87 +0,0 @@
> -Add some extra video modes and change the default to VGA.
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ----
> - hw/kdrive/src/kmode.c | 41 +++++++++++++++++++++++++++++++++++++++--
> - 1 file changed, 39 insertions(+), 2 deletions(-)
> -
> -Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c
> -===================================================================
> ---- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2008-01-11 14:20:47.000000000 +0000
> -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2008-01-11 14:21:18.000000000 +0000
> -@@ -32,6 +32,31 @@ const KdMonitorTiming kdMonitorTimings[
> - /* H V Hz KHz */
> - /* FP BP BLANK POLARITY */
> -
> -+ /* Treo 650 */
> -+
> -+ { 320, 320, 64, 16256,
> -+ 17, 12, 32, KdSyncNegative,
> -+ 1, 11, 14, KdSyncNegative,
> -+ },
> -+
> -+ { 320, 320, 64, 0,
> -+ 0, 0, 0, KdSyncNegative,
> -+ 0, 0, 0, KdSyncNegative,
> -+ },
> -+
> -+ /* LifeDrive/T3/TX modes */
> -+
> -+ { 320, 480, 64, 16256,
> -+ 17, 12, 32, KdSyncNegative,
> -+ 1, 11, 14, KdSyncNegative,
> -+ },
> -+
> -+ { 480, 320, 64, 0,
> -+ 0, 0, 0, KdSyncNegative,
> -+ 0, 0, 0, KdSyncNegative,
> -+ },
> -+
> -+
> - /* IPAQ modeline:
> - *
> - * Modeline "320x240" 5.7222 320 337 340 352 240 241 244 254"
> -@@ -41,6 +66,11 @@ const KdMonitorTiming kdMonitorTimings[
> - 1, 11, 14, KdSyncNegative,
> - },
> -
> -+ { 240, 320, 64, 0,
> -+ 0, 0, 0, KdSyncNegative,
> -+ 0, 0, 0, KdSyncNegative,
> -+ },
> -+
> - /* Other VESA modes */
> - { 640, 350, 85, 31500, /* VESA */
> - 32, 96, 192, KdSyncPositive, /* 26.413 */
> -@@ -76,10 +106,19 @@ const KdMonitorTiming kdMonitorTimings[
> - 16, 120, 176, KdSyncNegative, /* 37.861 */
> - 1, 20, 24, KdSyncNegative, /* 72.809 */
> - },
> -+ /* DEFAULT */
> -+#define MONITOR_TIMING_DEFAULT 13
> - { 640, 480, 60, 25175, /* VESA */
> - 16, 48, 160, KdSyncNegative, /* 31.469 */
> - 10, 33, 45, KdSyncNegative, /* 59.940 */
> - },
> -+
> -+
> -+ { 480, 640, 60, 0, /* VESA */
> -+ 0, 0, 0, KdSyncNegative, /* 31.469 */
> -+ 0, 0, 0, KdSyncNegative, /* 59.940 */
> -+ },
> -+
> -
> - /* 800x600 modes */
> - { 800, 600, 85, 56250, /* VESA */
> -@@ -90,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[
> - 16, 160, 256, KdSyncPositive, /* 46.875 */
> - 1, 21, 25, KdSyncPositive, /* 75.000 */
> - },
> -- /* DEFAULT */
> --#define MONITOR_TIMING_DEFAULT 9
> - { 800, 600, 72, 50000, /* VESA */
> - 56, 64, 240, KdSyncPositive, /* 48.077 */
> - 37, 23, 66, KdSyncPositive, /* 72.188 */
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch
> deleted file mode 100644
> index 06761c9..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch
> +++ /dev/null
> @@ -1,65 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -Index: xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c
> -===================================================================
> ---- xorg-server-1.3.0.0.orig/hw/kdrive/fbdev/fbdev.c 2008-09-25 21:55:12.000000000 +0100
> -+++ xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2008-09-25 21:55:46.000000000 +0100
> -@@ -498,6 +498,7 @@
> - KdScreenInfo *screen = pScreenPriv->screen;
> - FbdevScrPriv *scrpriv = screen->driver;
> - Bool wasEnabled = pScreenPriv->enabled;
> -+ FbdevPriv *priv = screen->card->driver;
> - FbdevScrPriv oldscr;
> - int oldwidth;
> - int oldheight;
> -@@ -525,11 +526,46 @@
> - oldheight = screen->height;
> - oldmmwidth = pScreen->mmWidth;
> - oldmmheight = pScreen->mmHeight;
> --
> -+
> - /*
> - * Set new configuration
> - */
> --
> -+
> -+ if (newwidth != oldwidth || newheight != oldheight)
> -+ {
> -+ struct fb_var_screeninfo var;
> -+ int k;
> -+
> -+ k = ioctl (priv->fd, FBIOGET_VSCREENINFO, &var);
> -+
> -+ if (k < 0)
> -+ {
> -+ ErrorF("Error with framebuffer ioctl FBIOGET_VSCREENINFO: %s", strerror (errno));
> -+ return FALSE;
> -+ }
> -+
> -+ var.xres = newwidth;
> -+ var.yres = newheight;
> -+ var.activate = FB_ACTIVATE_NOW;
> -+
> -+ k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &var);
> -+
> -+ if (k >= 0)
> -+ {
> -+ if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0)
> -+ {
> -+ perror("Error with framebuffer ioctl FIOGET_FSCREENINFO");
> -+ close (priv->fd);
> -+ return FALSE;
> -+ }
> -+ if ((k=ioctl(priv->fd, FBIOGET_VSCREENINFO, &priv->var)) < 0) {
> -+ perror("Error framebuffer ioctl FIOGET_VSCREENINFO");
> -+ close (priv->fd);
> -+ return FALSE;
> -+ }
> -+ }
> -+ }
> -+
> - scrpriv->randr = KdAddRotation (screen->randr, randr);
> -
> - KdOffscreenSwapOut (screen->pScreen);
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch
> deleted file mode 100644
> index b4e293f..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch
> +++ /dev/null
> @@ -1,233 +0,0 @@
> -From 6dae7f3792611aace1df0cca63bf50c50d93de43 Mon Sep 17 00:00:00 2001
> -From: Chris Wilson <chris@chris-wilson.co.uk>
> -Date: Tue, 10 Aug 2010 18:30:20 +0000
> -Subject: xace: Invalid reference to out-of-scope data.
> -
> -The callback data passed by reference to the hook was allocated on stack
> -within the scope of the case statement. The compiler is free to reuse
> -any of that stack space whilst making the function call so we may end up
> -passing garbage into the callback.
> -
> -References:
> -
> - Bug 18451 - Xorg server 1.5.2 SEGV during XFixesGetCursorImage()
> - https://bugs.freedesktop.org/show_bug.cgi?id=18451
> -
> -v2: Drop the unrelated hunk that snuck in when ammending the commit
> -message.
> -
> -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> -Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
> -Signed-off-by: Keith Packard <keithp@keithp.com>
> -
> -Upstream-Status: accepted
> ----
> -(limited to 'Xext/xace.c')
> -
> -diff --git a/Xext/xace.c b/Xext/xace.c
> -index e10d837..c757cad 100644
> ---- a/Xext/xace.c
> -+++ b/Xext/xace.c
> -@@ -87,7 +87,18 @@ void XaceHookAuditEnd(ClientPtr ptr, int result)
> - */
> - int XaceHook(int hook, ...)
> - {
> -- pointer calldata; /* data passed to callback */
> -+ union {
> -+ XaceResourceAccessRec res;
> -+ XaceDeviceAccessRec dev;
> -+ XaceSendAccessRec send;
> -+ XaceReceiveAccessRec recv;
> -+ XaceClientAccessRec client;
> -+ XaceExtAccessRec ext;
> -+ XaceServerAccessRec server;
> -+ XaceScreenAccessRec screen;
> -+ XaceAuthAvailRec auth;
> -+ XaceKeyAvailRec key;
> -+ } u;
> - int *prv = NULL; /* points to return value from callback */
> - va_list ap; /* argument list */
> - va_start(ap, hook);
> -@@ -99,117 +110,86 @@ int XaceHook(int hook, ...)
> - */
> - switch (hook)
> - {
> -- case XACE_RESOURCE_ACCESS: {
> -- XaceResourceAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.id = va_arg(ap, XID);
> -- rec.rtype = va_arg(ap, RESTYPE);
> -- rec.res = va_arg(ap, pointer);
> -- rec.ptype = va_arg(ap, RESTYPE);
> -- rec.parent = va_arg(ap, pointer);
> -- rec.access_mode = va_arg(ap, Mask);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_RESOURCE_ACCESS:
> -+ u.res.client = va_arg(ap, ClientPtr);
> -+ u.res.id = va_arg(ap, XID);
> -+ u.res.rtype = va_arg(ap, RESTYPE);
> -+ u.res.res = va_arg(ap, pointer);
> -+ u.res.ptype = va_arg(ap, RESTYPE);
> -+ u.res.parent = va_arg(ap, pointer);
> -+ u.res.access_mode = va_arg(ap, Mask);
> -+ u.res.status = Success; /* default allow */
> -+ prv = &u.res.status;
> - break;
> -- }
> -- case XACE_DEVICE_ACCESS: {
> -- XaceDeviceAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.dev = va_arg(ap, DeviceIntPtr);
> -- rec.access_mode = va_arg(ap, Mask);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_DEVICE_ACCESS:
> -+ u.dev.client = va_arg(ap, ClientPtr);
> -+ u.dev.dev = va_arg(ap, DeviceIntPtr);
> -+ u.dev.access_mode = va_arg(ap, Mask);
> -+ u.dev.status = Success; /* default allow */
> -+ prv = &u.dev.status;
> - break;
> -- }
> -- case XACE_SEND_ACCESS: {
> -- XaceSendAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.dev = va_arg(ap, DeviceIntPtr);
> -- rec.pWin = va_arg(ap, WindowPtr);
> -- rec.events = va_arg(ap, xEventPtr);
> -- rec.count = va_arg(ap, int);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_SEND_ACCESS:
> -+ u.send.client = va_arg(ap, ClientPtr);
> -+ u.send.dev = va_arg(ap, DeviceIntPtr);
> -+ u.send.pWin = va_arg(ap, WindowPtr);
> -+ u.send.events = va_arg(ap, xEventPtr);
> -+ u.send.count = va_arg(ap, int);
> -+ u.send.status = Success; /* default allow */
> -+ prv = &u.send.status;
> - break;
> -- }
> -- case XACE_RECEIVE_ACCESS: {
> -- XaceReceiveAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.pWin = va_arg(ap, WindowPtr);
> -- rec.events = va_arg(ap, xEventPtr);
> -- rec.count = va_arg(ap, int);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_RECEIVE_ACCESS:
> -+ u.recv.client = va_arg(ap, ClientPtr);
> -+ u.recv.pWin = va_arg(ap, WindowPtr);
> -+ u.recv.events = va_arg(ap, xEventPtr);
> -+ u.recv.count = va_arg(ap, int);
> -+ u.recv.status = Success; /* default allow */
> -+ prv = &u.recv.status;
> - break;
> -- }
> -- case XACE_CLIENT_ACCESS: {
> -- XaceClientAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.target = va_arg(ap, ClientPtr);
> -- rec.access_mode = va_arg(ap, Mask);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_CLIENT_ACCESS:
> -+ u.client.client = va_arg(ap, ClientPtr);
> -+ u.client.target = va_arg(ap, ClientPtr);
> -+ u.client.access_mode = va_arg(ap, Mask);
> -+ u.client.status = Success; /* default allow */
> -+ prv = &u.client.status;
> - break;
> -- }
> -- case XACE_EXT_ACCESS: {
> -- XaceExtAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.ext = va_arg(ap, ExtensionEntry*);
> -- rec.access_mode = DixGetAttrAccess;
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_EXT_ACCESS:
> -+ u.ext.client = va_arg(ap, ClientPtr);
> -+ u.ext.ext = va_arg(ap, ExtensionEntry*);
> -+ u.ext.access_mode = DixGetAttrAccess;
> -+ u.ext.status = Success; /* default allow */
> -+ prv = &u.ext.status;
> - break;
> -- }
> -- case XACE_SERVER_ACCESS: {
> -- XaceServerAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.access_mode = va_arg(ap, Mask);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_SERVER_ACCESS:
> -+ u.server.client = va_arg(ap, ClientPtr);
> -+ u.server.access_mode = va_arg(ap, Mask);
> -+ u.server.status = Success; /* default allow */
> -+ prv = &u.server.status;
> - break;
> -- }
> - case XACE_SCREEN_ACCESS:
> -- case XACE_SCREENSAVER_ACCESS: {
> -- XaceScreenAccessRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.screen = va_arg(ap, ScreenPtr);
> -- rec.access_mode = va_arg(ap, Mask);
> -- rec.status = Success; /* default allow */
> -- calldata = &rec;
> -- prv = &rec.status;
> -+ case XACE_SCREENSAVER_ACCESS:
> -+ u.screen.client = va_arg(ap, ClientPtr);
> -+ u.screen.screen = va_arg(ap, ScreenPtr);
> -+ u.screen.access_mode = va_arg(ap, Mask);
> -+ u.screen.status = Success; /* default allow */
> -+ prv = &u.screen.status;
> - break;
> -- }
> -- case XACE_AUTH_AVAIL: {
> -- XaceAuthAvailRec rec;
> -- rec.client = va_arg(ap, ClientPtr);
> -- rec.authId = va_arg(ap, XID);
> -- calldata = &rec;
> -+ case XACE_AUTH_AVAIL:
> -+ u.auth.client = va_arg(ap, ClientPtr);
> -+ u.auth.authId = va_arg(ap, XID);
> - break;
> -- }
> -- case XACE_KEY_AVAIL: {
> -- XaceKeyAvailRec rec;
> -- rec.event = va_arg(ap, xEventPtr);
> -- rec.keybd = va_arg(ap, DeviceIntPtr);
> -- rec.count = va_arg(ap, int);
> -- calldata = &rec;
> -+ case XACE_KEY_AVAIL:
> -+ u.key.event = va_arg(ap, xEventPtr);
> -+ u.key.keybd = va_arg(ap, DeviceIntPtr);
> -+ u.key.count = va_arg(ap, int);
> - break;
> -- }
> -- default: {
> -+ default:
> - va_end(ap);
> - return 0; /* unimplemented hook number */
> -- }
> - }
> - va_end(ap);
> -
> - /* call callbacks and return result, if any. */
> -- CallCallbacks(&XaceHooks[hook], calldata);
> -+ CallCallbacks(&XaceHooks[hook], &u);
> - return prv ? *prv : Success;
> - }
> -
> ---
> -cgit v0.9.0.2-2-gbebe
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch
> deleted file mode 100644
> index 7aa487a..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ----
> - render/glyphstr.h | 1 +
> - 1 file changed, 1 insertion(+)
> -
> ---- xorg-server-1.3.0.0.orig/render/glyphstr.h
> -+++ xorg-server-1.3.0.0/render/glyphstr.h
> -@@ -23,10 +23,11 @@
> - */
> -
> - #ifndef _GLYPHSTR_H_
> - #define _GLYPHSTR_H_
> -
> -+#include <X11/X.h>
> - #include <X11/extensions/renderproto.h>
> - #include "picture.h"
> - #include "screenint.h"
> - #include "regionstr.h"
> - #include "miscstruct.h"
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch
> deleted file mode 100644
> index b946bb5..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch
> +++ /dev/null
> @@ -1,312 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -Index: xorg-server-1.7.99.2/dix/window.c
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/dix/window.c 2009-11-04 16:25:50.000000000 +0000
> -+++ xorg-server-1.7.99.2/dix/window.c 2010-02-10 17:42:22.719078216 +0000
> -@@ -179,6 +179,8 @@
> -
> - #define SubStrSend(pWin,pParent) (StrSend(pWin) || SubSend(pParent))
> -
> -+char* RootPPM = NULL;
> -+
> - #ifdef DEBUG
> - /******
> - * PrintWindowTree
> -@@ -304,6 +306,115 @@
> - #endif
> - }
> -
> -+static int
> -+get_int(FILE *fp)
> -+{
> -+ int c = 0;
> -+
> -+ while ((c = getc(fp)) != EOF)
> -+ {
> -+ if (isspace(c))
> -+ continue;
> -+
> -+ if (c == '#')
> -+ while (c = getc(fp))
> -+ if (c == EOF)
> -+ return 0;
> -+ else if (c == '\n')
> -+ break;
> -+
> -+ if (isdigit(c))
> -+ {
> -+ int val = c - '0';
> -+ while ((c = getc(fp)) && isdigit(c))
> -+ val = (val * 10) + (c - '0');
> -+ return val;
> -+ }
> -+ }
> -+
> -+ return 0;
> -+}
> -+
> -+static unsigned char*
> -+ppm_load (const char* path, int depth, int *width, int *height)
> -+{
> -+ FILE *fp;
> -+ int max, n = 0, w, h, i, j, bytes_per_line;
> -+ unsigned char *data, *res, h1, h2;
> -+
> -+ if (depth < 16 || depth > 32)
> -+ return NULL;
> -+
> -+ if (depth > 16)
> -+ depth = 32;
> -+
> -+ fp = fopen (path, "r");
> -+ if (fp == NULL)
> -+ return FALSE;
> -+
> -+ h1 = getc(fp);
> -+ h2 = getc(fp);
> -+
> -+ /* magic is 'P6' for raw ppm */
> -+ if (h1 != 'P' && h2 != '6')
> -+ goto fail;
> -+
> -+ w = get_int(fp);
> -+ h = get_int(fp);
> -+
> -+ if (w == 0 || h == 0)
> -+ goto fail;
> -+
> -+ max = get_int(fp);
> -+
> -+ if (max != 255)
> -+ goto fail;
> -+
> -+ bytes_per_line = ((w * depth + 31) >> 5) << 2;
> -+
> -+ res = data = malloc(bytes_per_line * h);
> -+
> -+ for (i=0; i<h; i++)
> -+ {
> -+ for (j=0; j<w; j++)
> -+ {
> -+ unsigned char buf[3];
> -+ fread(buf, 1, 3, fp);
> -+
> -+ switch (depth)
> -+ {
> -+ case 24:
> -+ case 32:
> -+ *data = buf[2];
> -+ *(data+1) = buf[1];
> -+ *(data+2) = buf[0];
> -+ data += 4;
> -+ break;
> -+ case 16:
> -+ default:
> -+ *(unsigned short*)data
> -+ = ((buf[0] >> 3) << 11) | ((buf[1] >> 2) << 5) | (buf[2] >> 3);
> -+ data += 2;
> -+ break;
> -+ }
> -+ }
> -+ data += (bytes_per_line - (w*(depth>>3)));
> -+ }
> -+
> -+ data = res;
> -+
> -+ *width = w;
> -+ *height = h;
> -+
> -+ fclose(fp);
> -+
> -+ return res;
> -+
> -+ fail:
> -+ fclose(fp);
> -+ return NULL;
> -+}
> -+
> - static void
> - MakeRootTile(WindowPtr pWin)
> - {
> -@@ -314,6 +425,36 @@
> - unsigned char *from, *to;
> - int i, j;
> -
> -+ if (RootPPM != NULL)
> -+ {
> -+ int w, h;
> -+ unsigned char *data;
> -+
> -+ if ((data = ppm_load (RootPPM, pScreen->rootDepth, &w, &h)) != NULL)
> -+ {
> -+ pWin->background.pixmap
> -+ = (*pScreen->CreatePixmap)(pScreen, w, h, pScreen->rootDepth, 0);
> -+
> -+ pWin->backgroundState = BackgroundPixmap;
> -+ pGC = GetScratchGC(pScreen->rootDepth, pScreen);
> -+ if (!pWin->background.pixmap || !pGC)
> -+ FatalError("could not create root tile");
> -+
> -+ ValidateGC((DrawablePtr)pWin->background.pixmap, pGC);
> -+
> -+ (*pGC->ops->PutImage)((DrawablePtr)pWin->background.pixmap,
> -+ pGC,
> -+ pScreen->rootDepth,
> -+ 0, 0, w, h, 0, ZPixmap, (char *)data);
> -+ FreeScratchGC(pGC);
> -+
> -+ free(data);
> -+ return;
> -+ }
> -+ else
> -+ ErrorF("Unable to load root window image.");
> -+ }
> -+
> - pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4,
> - pScreen->rootDepth, 0);
> -
> -@@ -530,6 +671,7 @@
> - }
> -
> -
> -+
> - WindowPtr
> - RealChildHead(WindowPtr pWin)
> - {
> -Index: xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/hw/kdrive/src/kdrive.c 2010-02-10 17:36:36.000000000 +0000
> -+++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2010-02-10 17:43:07.797828099 +0000
> -@@ -60,6 +60,9 @@
> - { 32, 32 }
> - };
> -
> -+int
> -+ProcXFixesHideCursor (ClientPtr client) ;
> -+
> - #define NUM_KD_DEPTHS (sizeof (kdDepths) / sizeof (kdDepths[0]))
> -
> - #define KD_DEFAULT_BUTTONS 5
> -@@ -92,6 +95,9 @@
> -
> - KdOsFuncs *kdOsFuncs;
> -
> -+extern Bool CursorInitiallyHidden; /* See Xfixes cursor.c */
> -+extern char* RootPPM; /* dix/window.c */
> -+
> - void
> - KdSetRootClip (ScreenPtr pScreen, BOOL enable)
> - {
> -@@ -275,6 +281,7 @@
> - KdSetRootClip (pScreen, TRUE);
> - if (pScreenPriv->card->cfuncs->dpms)
> - (*pScreenPriv->card->cfuncs->dpms) (pScreen, pScreenPriv->dpmsState);
> -+
> - return TRUE;
> - }
> -
> -@@ -553,6 +560,8 @@
> - ErrorF("-switchCmd Command to execute on vt switch\n");
> - ErrorF("-zap Terminate server on Ctrl+Alt+Backspace\n");
> - ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
> -+ ErrorF("-hide-cursor Start with cursor hidden\n");
> -+ ErrorF("-root-ppm [path] Specify ppm file to use as root window background.\n");
> - }
> -
> - int
> -@@ -616,6 +625,19 @@
> - kdSoftCursor = TRUE;
> - return 1;
> - }
> -+ if (!strcmp (argv[i], "-hide-cursor"))
> -+ {
> -+ CursorInitiallyHidden = TRUE;
> -+ return 1;
> -+ }
> -+ if (!strcmp (argv[i], "-root-ppm"))
> -+ {
> -+ if ((i+1) < argc)
> -+ RootPPM = argv[i+1];
> -+ else
> -+ UseMsg ();
> -+ return 2;
> -+ }
> - if (!strcmp (argv[i], "-videoTest"))
> - {
> - kdVideoTest = TRUE;
> -Index: xorg-server-1.7.99.2/xfixes/cursor.c
> -===================================================================
> ---- xorg-server-1.7.99.2.orig/xfixes/cursor.c 2009-12-19 01:43:53.000000000 +0000
> -+++ xorg-server-1.7.99.2/xfixes/cursor.c 2010-02-10 17:45:02.089079491 +0000
> -@@ -57,6 +57,7 @@
> - static RESTYPE CursorClientType;
> - static RESTYPE CursorHideCountType;
> - static RESTYPE CursorWindowType;
> -+static Bool CursorGloballyHidden;
> - static CursorPtr CursorCurrent[MAXDEVICES];
> - static CursorPtr pInvisibleCursor = NULL;
> -
> -@@ -65,6 +66,8 @@
> -
> - static void deleteCursorHideCountsForScreen (ScreenPtr pScreen);
> -
> -+Bool CursorInitiallyHidden = FALSE;
> -+
> - #define VERIFY_CURSOR(pCursor, cursor, client, access) \
> - do { \
> - int err; \
> -@@ -150,7 +153,7 @@
> - if (ConnectionInfo)
> - CursorVisible = EnableCursor;
> -
> -- if (cs->pCursorHideCounts != NULL || !CursorVisible) {
> -+ if (cs->pCursorHideCounts != NULL || !CursorVisible || CursorGloballyHidden) {
> - ret = ((*pScreen->RealizeCursor)(pDev, pScreen, pInvisibleCursor) &&
> - (*pScreen->DisplayCursor) (pDev, pScreen, pInvisibleCursor));
> - } else {
> -@@ -887,6 +890,12 @@
> - return (ret == BadValue) ? BadWindow : ret;
> - }
> -
> -+ /* Is cursor set to be initially hidden ?, if so reset this
> -+ * flag as now visibility assumed under control of client.
> -+ */
> -+ if (CursorGloballyHidden)
> -+ CursorGloballyHidden = FALSE;
> -+
> - /*
> - * Has client hidden the cursor before on this screen?
> - * If so, just increment the count.
> -@@ -950,9 +959,19 @@
> - return (rc == BadValue) ? BadWindow : rc;
> - }
> -
> -+ /* X was started with cursor hidden, therefore just reset our flag
> -+ * (returning to normal client control) and cause cursor to now be
> -+ * shown.
> -+ */
> -+ if (CursorGloballyHidden == TRUE)
> -+ {
> -+ CursorGloballyHidden = FALSE;
> -+ return (client->noClientException);
> -+ }
> -+
> - /*
> - * Has client hidden the cursor on this screen?
> -- * If not, generate an error.
> -+ * If so, generate an error.
> - */
> - pChc = findCursorHideCount(client, pWin->drawable.pScreen);
> - if (pChc == NULL) {
> -@@ -1068,6 +1087,8 @@
> - {
> - int i;
> -
> -+ CursorGloballyHidden = CursorInitiallyHidden;
> -+
> - if (party_like_its_1989)
> - CursorVisible = EnableCursor;
> -
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch
> deleted file mode 100644
> index 5d876af..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch
> +++ /dev/null
> @@ -1,520 +0,0 @@
> -# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at
> -# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c
> ---- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200
> -+++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200
> -@@ -31,9 +31,11 @@
> - #include <X11/X.h>
> - #include <X11/Xproto.h>
> - #include <X11/Xpoll.h>
> -+#include <X11/keysym.h>
> - #include "inputstr.h"
> - #include "scrnintstr.h"
> - #include "kdrive.h"
> -+#include "kkeymap.h"
> -
> - #define NUM_EVENTS 128
> - #define ABS_UNSET -65535
> -@@ -105,9 +107,10 @@
> - {
> - KdMouseInfo *mi = closure;
> - Kevdev *ke = mi->driver;
> -- int i;
> -+ int i, j;
> - struct input_event events[NUM_EVENTS];
> - int n;
> -+ int flags;
> -
> - n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
> - if (n <= 0)
> -@@ -115,22 +118,64 @@
> - n /= sizeof (struct input_event);
> - for (i = 0; i < n; i++)
> - {
> -+ flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState;
> - switch (events[i].type) {
> - case EV_SYN:
> - break;
> - case EV_KEY:
> -- EvdevMotion (mi);
> -- ASSIGNBIT(ke->key,events[i].code, events[i].value);
> -- if (events[i].code < 0x100)
> -- ErrorF ("key %d %d\n", events[i].code, events[i].value);
> -- else
> -- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
> -+ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) {
> -+ switch (events[i].code) {
> -+ case BTN_LEFT:
> -+ if (events[i].value == 1)
> -+ flags |= KD_BUTTON_1;
> -+ else
> -+ flags &= ~KD_BUTTON_1;
> -+ break;
> -+ case BTN_MIDDLE:
> -+ if (events[i].value == 1)
> -+ flags |= KD_BUTTON_2;
> -+ else
> -+ flags &= ~KD_BUTTON_2;
> -+ break;
> -+ case BTN_RIGHT:
> -+ if (events[i].value == 1)
> -+ flags |= KD_BUTTON_3;
> -+ else
> -+ flags &= ~KD_BUTTON_3;
> -+ break;
> -+ default:
> -+ /* Unknow button */
> -+ break;
> -+ }
> -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
> -+ }
> - break;
> - case EV_REL:
> -- ke->rel[events[i].code] += events[i].value;
> -+ if (events[i].code == REL_X) {
> -+ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0);
> -+ }
> -+ else if (events[i].code == REL_Y) {
> -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value);
> -+ }
> -+ else if (events[i].code == REL_WHEEL) {
> -+ for (j = 0; j < abs (events[i].value); j++) {
> -+ if (events[i].value > 0)
> -+ flags |= KD_BUTTON_4;
> -+ else
> -+ flags |= KD_BUTTON_5;
> -+
> -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
> -+
> -+ if (events[i].value > 0)
> -+ flags &= ~KD_BUTTON_4;
> -+ else
> -+ flags &= ~KD_BUTTON_5;
> -+
> -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
> -+ } /* events[i].code == REL_WHEEL */
> -+ }
> - break;
> - case EV_ABS:
> -- ke->abs[events[i].code] = events[i].value;
> - break;
> - }
> - }
> -@@ -173,6 +218,12 @@
> - fd = open (kdefaultEvdev[i], 2);
> - if (fd >= 0)
> - {
> -+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
> -+ {
> -+ close (fd);
> -+ continue;
> -+ }
> -+
> - mi->name = KdSaveString (kdefaultEvdev[i]);
> - break;
> - }
> -@@ -287,7 +338,319 @@
> - EvdevFini,
> - };
> -
> --#if 0
> -+/* Keyboard */
> -+
> -+int kbd_fd = -1;
> -+int EvdevInputType = 0;
> -+
> -+KeySym evdevKeymap[(194 - 1 + 1) * 2] = {
> -+/* These are directly mapped from DOS scanset 0 */
> -+/* 1 8 */ XK_Escape, NoSymbol,
> -+/* 2 9 */ XK_1, XK_exclam,
> -+/* 3 10 */ XK_2, XK_at,
> -+/* 4 11 */ XK_3, XK_numbersign,
> -+/* 5 12 */ XK_4, XK_dollar,
> -+/* 6 13 */ XK_5, XK_percent,
> -+/* 7 14 */ XK_6, XK_asciicircum,
> -+/* 8 15 */ XK_7, XK_ampersand,
> -+/* 9 16 */ XK_8, XK_asterisk,
> -+/* 10 17 */ XK_9, XK_parenleft,
> -+/* 11 18 */ XK_0, XK_parenright,
> -+/* 12 19 */ XK_minus, XK_underscore,
> -+/* 13 20 */ XK_equal, XK_plus,
> -+/* 14 21 */ XK_BackSpace, NoSymbol,
> -+/* 15 22 */ XK_Tab, NoSymbol,
> -+/* 16 23 */ XK_Q, NoSymbol,
> -+/* 17 24 */ XK_W, NoSymbol,
> -+/* 18 25 */ XK_E, NoSymbol,
> -+/* 19 26 */ XK_R, NoSymbol,
> -+/* 20 27 */ XK_T, NoSymbol,
> -+/* 21 28 */ XK_Y, NoSymbol,
> -+/* 22 29 */ XK_U, NoSymbol,
> -+/* 23 30 */ XK_I, NoSymbol,
> -+/* 24 31 */ XK_O, NoSymbol,
> -+/* 25 32 */ XK_P, NoSymbol,
> -+/* 26 33 */ XK_bracketleft, XK_braceleft,
> -+/* 27 34 */ XK_bracketright, XK_braceright,
> -+/* 28 35 */ XK_Return, NoSymbol,
> -+/* 29 36 */ XK_Control_L, NoSymbol,
> -+/* 30 37 */ XK_A, NoSymbol,
> -+/* 31 38 */ XK_S, NoSymbol,
> -+/* 32 39 */ XK_D, NoSymbol,
> -+/* 33 40 */ XK_F, NoSymbol,
> -+/* 34 41 */ XK_G, NoSymbol,
> -+/* 35 42 */ XK_H, NoSymbol,
> -+/* 36 43 */ XK_J, NoSymbol,
> -+/* 37 44 */ XK_K, NoSymbol,
> -+/* 38 45 */ XK_L, NoSymbol,
> -+/* 39 46 */ XK_semicolon, XK_colon,
> -+/* 40 47 */ XK_apostrophe, XK_quotedbl,
> -+/* 41 48 */ XK_grave, XK_asciitilde,
> -+/* 42 49 */ XK_Shift_L, NoSymbol,
> -+/* 43 50 */ XK_backslash, XK_bar,
> -+/* 44 51 */ XK_Z, NoSymbol,
> -+/* 45 52 */ XK_X, NoSymbol,
> -+/* 46 53 */ XK_C, NoSymbol,
> -+/* 47 54 */ XK_V, NoSymbol,
> -+/* 48 55 */ XK_B, NoSymbol,
> -+/* 49 56 */ XK_N, NoSymbol,
> -+/* 50 57 */ XK_M, NoSymbol,
> -+/* 51 58 */ XK_comma, XK_less,
> -+/* 52 59 */ XK_period, XK_greater,
> -+/* 53 60 */ XK_slash, XK_question,
> -+/* 54 61 */ XK_Shift_R, NoSymbol,
> -+/* 55 62 */ XK_KP_Multiply, NoSymbol,
> -+/* 56 63 */ XK_Alt_L, XK_Meta_L,
> -+/* 57 64 */ XK_space, NoSymbol,
> -+/* 58 65 */ XK_Caps_Lock, NoSymbol,
> -+/* 59 66 */ XK_F1, NoSymbol,
> -+/* 60 67 */ XK_F2, NoSymbol,
> -+/* 61 68 */ XK_F3, NoSymbol,
> -+/* 62 69 */ XK_F4, NoSymbol,
> -+/* 63 70 */ XK_F5, NoSymbol,
> -+/* 64 71 */ XK_F6, NoSymbol,
> -+/* 65 72 */ XK_F7, NoSymbol,
> -+/* 66 73 */ XK_F8, NoSymbol,
> -+/* 67 74 */ XK_F9, NoSymbol,
> -+/* 68 75 */ XK_F10, NoSymbol,
> -+/* 69 76 */ XK_Break, XK_Pause,
> -+/* 70 77 */ XK_Scroll_Lock, NoSymbol,
> -+/* 71 78 */ XK_KP_Home, XK_KP_7,
> -+/* 72 79 */ XK_KP_Up, XK_KP_8,
> -+/* 73 80 */ XK_KP_Page_Up, XK_KP_9,
> -+/* 74 81 */ XK_KP_Subtract, NoSymbol,
> -+/* 75 82 */ XK_KP_Left, XK_KP_4,
> -+/* 76 83 */ XK_KP_5, NoSymbol,
> -+/* 77 84 */ XK_KP_Right, XK_KP_6,
> -+/* 78 85 */ XK_KP_Add, NoSymbol,
> -+/* 79 86 */ XK_KP_End, XK_KP_1,
> -+/* 80 87 */ XK_KP_Down, XK_KP_2,
> -+/* 81 88 */ XK_KP_Page_Down, XK_KP_3,
> -+/* 82 89 */ XK_KP_Insert, XK_KP_0,
> -+/* 83 90 */ XK_KP_Delete, XK_KP_Decimal,
> -+/* 84 91 */ NoSymbol, NoSymbol,
> -+/* 85 92 */ NoSymbol, NoSymbol,
> -+/* 86 93 */ NoSymbol, NoSymbol,
> -+/* 87 94 */ XK_F11, NoSymbol,
> -+/* 88 95 */ XK_F12, NoSymbol,
> -+
> -+/* These are remapped from the extended set (using ExtendMap) */
> -+
> -+/* 89 96 */ XK_Control_R, NoSymbol,
> -+/* 90 97 */ XK_KP_Enter, NoSymbol,
> -+/* 91 98 */ XK_KP_Divide, NoSymbol,
> -+/* 92 99 */ XK_Sys_Req, XK_Print,
> -+/* 93 100 */ XK_Alt_R, XK_Meta_R,
> -+/* 94 101 */ XK_Num_Lock, NoSymbol,
> -+/* 95 102 */ XK_Home, NoSymbol,
> -+/* 96 103 */ XK_Up, NoSymbol,
> -+/* 97 104 */ XK_Page_Up, NoSymbol,
> -+/* 98 105 */ XK_Left, NoSymbol,
> -+/* 99 106 */ XK_Right, NoSymbol,
> -+/* 100 107 */ XK_End, NoSymbol,
> -+/* 101 108 */ XK_Down, NoSymbol,
> -+/* 102 109 */ XK_Page_Down, NoSymbol,
> -+/* 103 110 */ XK_Insert, NoSymbol,
> -+/* 104 111 */ XK_Delete, NoSymbol,
> -+/* 105 112 */ XK_Super_L, NoSymbol,
> -+/* 106 113 */ XK_Super_R, NoSymbol,
> -+/* 107 114 */ XK_Menu, NoSymbol,
> -+/* 108 115 */ NoSymbol, NoSymbol,
> -+/* 109 116 */ NoSymbol, NoSymbol,
> -+/* 110 117 */ NoSymbol, NoSymbol,
> -+/* 111 118 */ NoSymbol, NoSymbol,
> -+/* 112 119 */ NoSymbol, NoSymbol,
> -+
> -+/* 113 120 */ NoSymbol, NoSymbol,
> -+/* 114 121 */ NoSymbol, NoSymbol,
> -+/* 115 122 */ NoSymbol, NoSymbol,
> -+/* 116 123 */ NoSymbol, NoSymbol,
> -+/* 117 124 */ NoSymbol, NoSymbol,
> -+/* 118 125 */ NoSymbol, NoSymbol,
> -+/* 119 126 */ NoSymbol, NoSymbol,
> -+/* 120 127 */ NoSymbol, NoSymbol,
> -+/* 121 128 */ NoSymbol, NoSymbol,
> -+/* 122 129 */ NoSymbol, NoSymbol,
> -+/* 123 130 */ NoSymbol, NoSymbol,
> -+/* 124 131 */ NoSymbol, NoSymbol,
> -+/* 125 132 */ NoSymbol, NoSymbol,
> -+/* 126 133 */ NoSymbol, NoSymbol,
> -+/* 127 134 */ NoSymbol, NoSymbol,
> -+/* 128 135 */ NoSymbol, NoSymbol,
> -+/* 129 136 */ NoSymbol, NoSymbol,
> -+/* 130 137 */ NoSymbol, NoSymbol,
> -+/* 131 138 */ NoSymbol, NoSymbol,
> -+/* 132 139 */ NoSymbol, NoSymbol,
> -+/* 133 140 */ NoSymbol, NoSymbol,
> -+/* 134 141 */ NoSymbol, NoSymbol,
> -+/* 135 142 */ NoSymbol, NoSymbol,
> -+/* 136 143 */ NoSymbol, NoSymbol,
> -+/* 137 144 */ NoSymbol, NoSymbol,
> -+/* 138 145 */ NoSymbol, NoSymbol,
> -+/* 139 146 */ NoSymbol, NoSymbol,
> -+/* 140 147 */ NoSymbol, NoSymbol,
> -+/* 141 148 */ NoSymbol, NoSymbol,
> -+/* 142 149 */ NoSymbol, NoSymbol,
> -+/* 143 150 */ NoSymbol, NoSymbol,
> -+/* 144 151 */ NoSymbol, NoSymbol,
> -+/* 145 152 */ NoSymbol, NoSymbol,
> -+/* 146 153 */ NoSymbol, NoSymbol,
> -+/* 147 154 */ NoSymbol, NoSymbol,
> -+/* 148 155 */ NoSymbol, NoSymbol,
> -+/* 149 156 */ NoSymbol, NoSymbol,
> -+/* 150 157 */ NoSymbol, NoSymbol,
> -+/* 151 158 */ NoSymbol, NoSymbol,
> -+/* 152 159 */ NoSymbol, NoSymbol,
> -+/* 153 160 */ NoSymbol, NoSymbol,
> -+/* 154 161 */ NoSymbol, NoSymbol,
> -+/* 155 162 */ NoSymbol, NoSymbol,
> -+/* 156 163 */ NoSymbol, NoSymbol,
> -+/* 157 164 */ NoSymbol, NoSymbol,
> -+/* 158 165 */ NoSymbol, NoSymbol,
> -+/* 159 166 */ NoSymbol, NoSymbol,
> -+/* 160 167 */ NoSymbol, NoSymbol,
> -+/* 161 168 */ NoSymbol, NoSymbol,
> -+/* 162 169 */ NoSymbol, NoSymbol,
> -+/* 163 170 */ NoSymbol, NoSymbol,
> -+/* 164 171 */ NoSymbol, NoSymbol,
> -+/* 165 172 */ NoSymbol, NoSymbol,
> -+/* 166 173 */ NoSymbol, NoSymbol,
> -+/* 167 174 */ NoSymbol, NoSymbol,
> -+/* 168 175 */ NoSymbol, NoSymbol,
> -+/* 169 176 */ NoSymbol, NoSymbol,
> -+/* 170 177 */ NoSymbol, NoSymbol,
> -+/* 171 178 */ NoSymbol, NoSymbol,
> -+/* 172 179 */ NoSymbol, NoSymbol,
> -+/* 173 180 */ NoSymbol, NoSymbol,
> -+/* 174 181 */ NoSymbol, NoSymbol,
> -+/* 175 182 */ NoSymbol, NoSymbol,
> -+/* 176 183 */ NoSymbol, NoSymbol,
> -+/* 177 184 */ NoSymbol, NoSymbol,
> -+/* 178 185 */ NoSymbol, NoSymbol,
> -+/* 179 186 */ NoSymbol, NoSymbol,
> -+/* 180 187 */ NoSymbol, NoSymbol,
> -+/* 181 188 */ NoSymbol, NoSymbol,
> -+/* 182 189 */ NoSymbol, NoSymbol,
> -+/* 183 190 */ NoSymbol, NoSymbol,
> -+/* 184 191 */ NoSymbol, NoSymbol,
> -+/* 185 192 */ NoSymbol, NoSymbol,
> -+/* 186 193 */ NoSymbol, NoSymbol,
> -+/* 187 194 */ NoSymbol, NoSymbol,
> -+/* 188 195 */ NoSymbol, NoSymbol,
> -+/* 189 196 */ NoSymbol, NoSymbol,
> -+/* 190 197 */ NoSymbol, NoSymbol,
> -+/* 191 198 */ NoSymbol, NoSymbol,
> -+/* 192 199 */ NoSymbol, NoSymbol,
> -+/* 193 200 */ NoSymbol, NoSymbol,
> -+/* 194 201 */ NoSymbol, NoSymbol,
> -+};
> -+
> -+static void
> -+EvdevKbdRead (int fd, void *closure)
> -+{
> -+ int i, n;
> -+ struct input_event events[NUM_EVENTS];
> -+
> -+ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event));
> -+ if (n <= 0)
> -+ return;
> -+
> -+ n /= sizeof (struct input_event);
> -+
> -+ for (i = 0; i < n; i++)
> -+ {
> -+ if (events[i].type == EV_KEY)
> -+ KdEnqueueKeyboardEvent (events[i].code, !events[i].value);
> -+ }
> -+}
> -+
> -+static void
> -+EvdevKbdLoad (void)
> -+{
> -+ kdMinScanCode = 0;
> -+ kdMaxScanCode = 193;
> -+ kdKeymapWidth = 2;
> -+ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap));
> -+}
> -+
> -+static int
> -+EvdevKbdInit (void)
> -+{
> -+ int fd, i;
> -+
> -+ if (!EvdevInputType)
> -+ EvdevInputType = KdAllocInputType ();
> -+
> -+ if (!kdKeyboard)
> -+ {
> -+ for (i = 0; i < NUM_DEFAULT_EVDEV; i++)
> -+ {
> -+ fd = open (kdefaultEvdev[i], 2);
> -+ if (fd >= 0)
> -+ {
> -+ kdKeyboard = KdSaveString (kdefaultEvdev[i]);
> -+ break;
> -+ }
> -+ }
> -+ }
> -+ else
> -+ {
> -+ fd = open (kdKeyboard, O_RDWR);
> -+ if (fd < 0)
> -+ return FALSE;
> -+ }
> -+
> -+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
> -+ {
> -+ close (fd);
> -+ return FALSE;
> -+ }
> -+
> -+ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL))
> -+ return FALSE;
> -+
> -+ kbd_fd = fd;
> -+ return TRUE;
> -+}
> -+
> -+static void
> -+EvdevKbdFini (void)
> -+{
> -+}
> -+
> -+static void
> -+EvdevKbdLeds (int leds)
> -+{
> -+ struct input_event event;
> -+
> -+ memset(&event, 0, sizeof(event));
> -+
> -+ event.type = EV_LED;
> -+ event.code = LED_CAPSL;
> -+ event.value = leds & (1 << 0) ? 1 : 0;
> -+ write(kbd_fd, (char *) &event, sizeof(event));
> -+
> -+ event.type = EV_LED;
> -+ event.code = LED_NUML;
> -+ event.value = leds & (1 << 1) ? 1 : 0;
> -+ write(kbd_fd, (char *) &event, sizeof(event));
> -+
> -+ event.type = EV_LED;
> -+ event.code = LED_SCROLLL;
> -+ event.value = leds & (1 << 2) ? 1 : 0;
> -+ write(kbd_fd, (char *) &event, sizeof(event));
> -+
> -+ event.type = EV_LED;
> -+ event.code = LED_COMPOSE;
> -+ event.value = leds & (1 << 3) ? 1 : 0;
> -+ write(kbd_fd, (char *) &event, sizeof(event));
> -+}
> -+
> -+static void
> -+EvdevKbdBell (int volume, int frequency, int duration)
> -+{
> -+}
> -+
> - KdKeyboardFuncs LinuxEvdevKeyboardFuncs = {
> - EvdevKbdLoad,
> - EvdevKbdInit,
> -@@ -296,4 +659,4 @@
> - EvdevKbdFini,
> - 0,
> - };
> --#endif
> -+
> -diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c
> ---- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200
> -+++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200
> -@@ -73,6 +73,7 @@
> - Bool kdEnabled;
> - int kdSubpixelOrder;
> - int kdVirtualTerminal = -1;
> -+char *kdKeyboard = 0;
> - Bool kdSwitchPending;
> - char *kdSwitchCmd;
> - DDXPointRec kdOrigin;
> -@@ -795,6 +796,14 @@
> - UseMsg ();
> - return 2;
> - }
> -+ if (!strcmp (argv[i], "-keyboard"))
> -+ {
> -+ if ((i+1) < argc)
> -+ kdKeyboard = argv[i+1];
> -+ else
> -+ UseMsg ();
> -+ return 2;
> -+ }
> - if (!strcmp (argv[i], "-rgba"))
> - {
> - if ((i+1) < argc)
> -diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h
> ---- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200
> -+++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200
> -@@ -416,6 +416,7 @@
> - extern Bool kdDisableZaphod;
> - extern Bool kdDontZap;
> - extern int kdVirtualTerminal;
> -+extern char *kdKeyboard;
> - extern char *kdSwitchCmd;
> - extern KdOsFuncs *kdOsFuncs;
> -
> -@@ -769,7 +770,7 @@
> - ProcessInputEvents (void);
> -
> - extern KdMouseFuncs LinuxMouseFuncs;
> --extern KdMouseFuncs LinuxEvdevFuncs;
> -+extern KdMouseFuncs LinuxEvdevMouseFuncs;
> - extern KdMouseFuncs Ps2MouseFuncs;
> - extern KdMouseFuncs BusMouseFuncs;
> - extern KdMouseFuncs MsMouseFuncs;
> -@@ -777,6 +778,7 @@
> - extern KdMouseFuncs TsFuncs;
> - #endif
> - extern KdKeyboardFuncs LinuxKeyboardFuncs;
> -+extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs;
> - extern KdOsFuncs LinuxFuncs;
> -
> - extern KdMouseFuncs VxWorksMouseFuncs;
> -diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c
> ---- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200
> -+++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200
> -@@ -1300,6 +1300,7 @@
> - xE.u.u.type = KeyPress;
> - xE.u.u.detail = key_code;
> -
> -+#ifndef XKB
> - switch (KEYCOL1(key_code))
> - {
> - case XK_Num_Lock:
> -@@ -1313,6 +1314,7 @@
> - else
> - xE.u.u.type = KeyPress;
> - }
> -+#endif
> -
> - /*
> - * Check pressed keys which are already down
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch
> deleted file mode 100644
> index 8a480dc..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ---- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100
> -+++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100
> -@@ -28,6 +28,8 @@
> - #endif
> - #include <fbdev.h>
> -
> -+extern int use_evdev;
> -+
> - void
> - InitCard (char *name)
> - {
> -@@ -45,7 +47,10 @@
> - void
> - InitInput (int argc, char **argv)
> - {
> -- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
> -+ if (use_evdev)
> -+ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs);
> -+ else
> -+ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
> - #ifdef TOUCHSCREEN
> - KdAddMouseDriver (&TsFuncs);
> - #endif
> ---- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100
> -+++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100
> -@@ -44,6 +44,8 @@
> - #include "dpmsproc.h"
> - #endif
> -
> -+int use_evdev = 0;
> -+
> - typedef struct _kdDepths {
> - CARD8 depth;
> - CARD8 bpp;
> -@@ -687,6 +689,7 @@
> - ErrorF("-videoTest Start the server, pause momentarily and exit\n");
> - ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n");
> - ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n");
> -+ ErrorF("-use-evdev Use Linux evdev input\n");
> - ErrorF("-switchCmd Command to execute on vt switch\n");
> - ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n");
> - ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
> -@@ -796,6 +799,11 @@
> - UseMsg ();
> - return 2;
> - }
> -+ if (!strcmp (argv[i], "-use-evdev"))
> -+ {
> -+ use_evdev = 1;
> -+ return 1;
> -+ }
> - if (!strcmp (argv[i], "-keyboard"))
> - {
> - if ((i+1) < argc)
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch
> deleted file mode 100644
> index 0062661..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -Index: xorg-server-1.4/hw/kdrive/linux/keyboard.c
> -===================================================================
> ---- xorg-server-1.4.orig/hw/kdrive/linux/keyboard.c 2007-09-29 18:31:15.000000000 +0200
> -+++ xorg-server-1.4/hw/kdrive/linux/keyboard.c 2007-09-29 18:33:02.000000000 +0200
> -@@ -486,6 +486,8 @@
> - ki->minScanCode = minKeyCode;
> - ki->maxScanCode = maxKeyCode;
> - #endif
> -+ ki->minScanCode = 0;
> -+ ki->maxScanCode = NR_KEYS;
> - }
> -
> - /*
> -@@ -743,11 +743,6 @@
> - cfsetispeed(&nTty, 9600);
> - cfsetospeed(&nTty, 9600);
> - tcsetattr(fd, TCSANOW, &nTty);
> -- /*
> -- * Flush any pending keystrokes
> -- */
> -- while ((n = read (fd, buf, sizeof (buf))) > 0)
> -- ;
> - KdRegisterFd (fd, LinuxKeyboardRead, ki);
> - return Success;
> - }
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch
> deleted file mode 100644
> index 6acb834..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> ---- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700
> -+++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700
> -@@ -927,8 +927,10 @@ char *kdefaultMouse[] = {
> - "/dev/psaux",
> - "/dev/input/mice",
> - "/dev/adbmouse",
> -+#ifdef BREAK_MY_SERIAL_CONSOLE
> - "/dev/ttyS0",
> - "/dev/ttyS1",
> -+#endif
> - };
> -
> - #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0]))
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch
> deleted file mode 100644
> index 37811db..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -Index: git/configure.ac
> -===================================================================
> ---- git.orig/configure.ac 2009-01-15 20:35:31.000000000 +0000
> -+++ git/configure.ac 2009-01-15 20:35:38.000000000 +0000
> -@@ -62,7 +62,6 @@
> - AC_LIBTOOL_WIN32_DLL
> - AC_DISABLE_STATIC
> - AC_PROG_LIBTOOL
> --DOLT
> - AC_PROG_MAKE_SET
> - PKG_PROG_PKG_CONFIG
> - AC_PROG_LEX
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch
> deleted file mode 100644
> index af3c16c..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -Upstream-Status: Pending
> -
> -Signed-off-by: Yu Ke <ke.yu@intel.com>
> -
> -Index: xorg-server-1.2.0/Makefile.am
> -===================================================================
> ---- xorg-server-1.2.0.orig/Makefile.am 2007-01-23 06:39:15.000000000 +0100
> -+++ xorg-server-1.2.0/Makefile.am 2007-03-28 20:26:19.000000000 +0200
> -@@ -30,6 +30,10 @@
> - XINPUT_DIR=Xi
> - endif
> -
> -+if XKB
> -+XKB_DIR=xkb
> -+endif
> -+
> - if DBE
> - DBE_DIR=dbe
> - endif
> -@@ -46,7 +50,7 @@
> - randr \
> - render \
> - $(XINPUT_DIR) \
> -- xkb \
> -+ $(XKB_DIR) \
> - $(DBE_DIR) \
> - $(MFB_DIR) \
> - $(AFB_DIR) \
> -Index: xorg-server-1.2.0/configure.ac
> -===================================================================
> ---- xorg-server-1.2.0.orig/configure.ac 2007-01-23 06:39:15.000000000 +0100
> -+++ xorg-server-1.2.0/configure.ac 2007-03-28 20:27:13.000000000 +0200
> -@@ -428,6 +428,7 @@
> - AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
> - AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes])
> - AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
> -+AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes])
> -
> - dnl DDXes.
> - AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
> -@@ -754,12 +755,15 @@
> -
> - AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
> -
> --AC_DEFINE(XKB, 1, [Build XKB])
> --AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
> --AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
> --REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
> --XKB_LIB='$(top_builddir)/xkb/libxkb.la'
> --XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
> -+AM_CONDITIONAL(XKB, [test "x$XKB" = xyes])
> -+if test "x$XKB" = xyes; then
> -+ AC_DEFINE(XKB, 1, [Build XKB])
> -+ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
> -+ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
> -+ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
> -+ XKB_LIB='$(top_builddir)/xkb/libxkb.la'
> -+ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
> -+fi
> -
> - AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
> - [Do not have `strcasecmp'.]))
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc b/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
> deleted file mode 100644
> index c4c2a9f..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
> +++ /dev/null
> @@ -1,113 +0,0 @@
> -LICENSE = "MIT"
> -DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \
> - scrnsaverproto xineramaproto videoproto xextproto xproto libxau libxext \
> - libxdmcp libxfont libxrandr tslib virtual/libx11 xtrans bigreqsproto \
> - xcmiscproto libdrm openssl"
> -
> -LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
> -
> -PROVIDES = "virtual/xserver"
> -PACKAGES =+ "xserver-kdrive-fbdev \
> - xserver-kdrive-sdl \
> - xserver-kdrive-fake \
> - xserver-kdrive-xephyr \
> - xserver-kdrive-epson \
> - xserver-kdrive-ati \
> - xserver-kdrive-chips \
> - xserver-kdrive-i810 \
> - xserver-kdrive-mach64 \
> - xserver-kdrive-mga \
> - xserver-kdrive-neomagic \
> - xserver-kdrive-nvidia \
> - xserver-kdrive-pm2 \
> - xserver-kdrive-r128 \
> - xserver-kdrive-smi \
> - xserver-kdrive-vesa \
> - xserver-kdrive-via \
> - xserver-kdrive-w100 \
> - "
> -
> -SECTION = "x11/base"
> -DESCRIPTION = "X server from freedesktop.org"
> -DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
> -DESCRIPTION_xserver-kdrive-fake = "Fake X server"
> -DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
> -DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
> -DESCRIPTION_xserver-kdrive-sdl = "X server from freedesktop.org, SDL version"
> -DESCRIPTION_xserver-kdrive-w100 = "X server from freedesktop.org, supporting the ATI imageon w100 chipset"
> -DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
> -DESCRIPTION_xserver-kdrive-chips = "X server from freedesktop.org, supporting Chips chipsets"
> -DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting Intel chipsets"
> -DESCRIPTION_xserver-kdrive-imageon = "X server from freedesktop.org, supporting the ATI imageon 100 chipset"
> -DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting mach64 chipsets"
> -DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting mga chipsets"
> -DESCRIPTION_xserver-kdrive-neomagic = "X server from freedesktop.org, supporting neomagic chipsets"
> -DESCRIPTION_xserver-kdrive-nvidia = "X server from freedesktop.org, supporting nvidia devices"
> -DESCRIPTION_xserver-kdrive-pm2 = "X server from freedesktop.org, supporting Permedia2 chipsets"
> -DESCRIPTION_xserver-kdrive-r128 = "X server from freedesktop.org, supporting rage128 chipsets"
> -DESCRIPTION_xserver-kdrive-smi = "X server from freedesktop.org, supporting Silicon Motion devices"
> -DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting any card with a VESA, VGA or even EGA BIOS. x86 hardware only"
> -DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA chipsets"
> -
> -FILES_${PN} += "${libdir}/xserver/SecurityPolicy ${libdir}/xorg"
> -FILES_${PN}-doc += "${datadir}/X11/xkb"
> -ALLOW_EMPTY_${PN} = "1"
> -
> -FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
> -FILES_xserver-kdrive-fake = "${bindir}/Xfake"
> -FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
> -FILES_xserver-kdrive-epson = "${bindir}/Xepson"
> -FILES_xserver-kdrive-sdl = "${bindir}/Xsdl"
> -FILES_xserver-kdrive-w100 = "${bindir}/Xw100"
> -FILES_xserver-kdrive-ati = "${bindir}/Xati"
> -FILES_xserver-kdrive-chips = "${bindir}/Xchips"
> -FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
> -FILES_xserver-kdrive-imageon = "${bindir}/Ximageon"
> -FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
> -FILES_xserver-kdrive-mga = "${bindir}/Xmga"
> -FILES_xserver-kdrive-neomagic = "${bindir}/Xneomagic"
> -FILES_xserver-kdrive-nvidia = "${bindir}/Xnvidia"
> -FILES_xserver-kdrive-pm2 = "${bindir}/Xpm2"
> -FILES_xserver-kdrive-r128 = "${bindir}/Xr128"
> -FILES_xserver-kdrive-smi = "${bindir}/Xsmi"
> -FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
> -FILES_xserver-kdrive-via = "${bindir}/Xvia"
> -
> -RDEPENDS_xserver-kdrive-fbdev = "${PN}"
> -RDEPENDS_xserver-kdrive-fake = "${PN}"
> -RDEPENDS_xserver-kdrive-xephyr = "${PN}"
> -RDEPENDS_xserver-kdrive-epson = "${PN}"
> -RDEPENDS_xserver-kdrive-sdl = "${PN}"
> -RDEPENDS_xserver-kdrive-w100 = "${PN}"
> -RDEPENDS_xserver-kdrive-ati = "${PN}"
> -RDEPENDS_xserver-kdrive-chips = "${PN}"
> -RDEPENDS_xserver-kdrive-i810 = "${PN}"
> -RDEPENDS_xserver-kdrive-mach64 = "${PN}"
> -RDEPENDS_xserver-kdrive-mga = "${PN}"
> -RDEPENDS_xserver-kdrive-neomagic = "${PN}"
> -RDEPENDS_xserver-kdrive-nvidia = "${PN}"
> -RDEPENDS_xserver-kdrive-pm2 = "${PN}"
> -RDEPENDS_xserver-kdrive-r128 = "${PN}"
> -RDEPENDS_xserver-kdrive-smi = "${PN}"
> -RDEPENDS_xserver-kdrive-vesa = "${PN}"
> -RDEPENDS_xserver-kdrive-via = "${PN}"
> -
> -inherit autotools pkgconfig
> -
> -ARM_INSTRUCTION_SET = "arm"
> -
> -EXTRA_OECONF = "--enable-composite --enable-kdrive \
> - --disable-dga --disable-dri --disable-xinerama \
> - --disable-xf86misc --disable-xf86vidmode \
> - --disable-xorg --disable-xorgcfg \
> - --disable-xkb --disable-xnest --disable-xvfb \
> - --disable-xevie --disable-xprint --disable-xtrap \
> - --disable-dmx \
> - --without-dtrace \
> - --with-default-font-path=built-ins \
> - --enable-tslib --enable-xcalibrate \
> - ac_cv_file__usr_share_X11_sgml_defs_ent=no"
> -
> -do_configure_prepend() {
> - sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac
> -}
> diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
> deleted file mode 100644
> index d90dc25..0000000
> --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -require xserver-kdrive.inc
> -
> -DEPENDS += "libxkbfile libxcalibrate font-util pixman"
> -
> -RDEPENDS_${PN} += "xkeyboard-config"
> -
> -EXTRA_OECONF += "--disable-glx"
> -
> -PE = "1"
> -PR = "r30"
> -
> -SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
> - file://extra-kmodes.patch \
> - file://disable-apm.patch \
> - file://no-serial-probing.patch \
> - file://keyboard-resume-workaround.patch \
> - file://enable-xcalibrate.patch \
> - file://hide-cursor-and-ppm-root.patch \
> - file://fbdev_xrandr_ioctl.patch \
> - file://fix-newer-xorg-headers.patch \
> - file://crosscompile.patch \
> - file://error-address-work-around.patch \
> - file://fix-bogus-stack-variables.patch \
> - file://nodolt.patch"
> -# file://kdrive-evdev.patch
> -# file://kdrive-use-evdev.patch
> -# file://enable-builtin-fonts.patch
> -# file://optional-xkb.patch
> -
> -SRC_URI[md5sum] = "cafc4e2d4ef6cf6e47f3e7dffeb3346a"
> -SRC_URI[sha256sum] = "a89f13b166b412930fe418ff50032dd2cde8bb181d8b47b5ca6f848d218fdcf2"
> -
> -
> -S = "${WORKDIR}/xorg-server-${PV}"
>
next prev parent reply other threads:[~2012-08-31 16:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-30 17:07 [PATCH 0/6] Remove xserver-kdrive Ross Burton
2012-08-30 17:07 ` [PATCH 1/6] bsp: set default XSERVER for PowerPC and MIPS machines to Xorg Ross Burton
2012-08-30 17:07 ` [PATCH 2/6] xserver-xorg: ship the exa module in a separate package Ross Burton
2012-08-30 17:07 ` [PATCH 3/6] task-core-x11: default to xserver-xorg instead of kdrive Ross Burton
2012-08-30 17:07 ` [PATCH 4/6] xserver-kdrive: remove Ross Burton
2012-08-31 16:27 ` Saul Wold [this message]
2012-08-31 19:49 ` Burton, Ross
2012-08-30 17:07 ` [PATCH 5/6] x11-common: just support Xorg now that kdrive has been removed Ross Burton
2012-08-30 17:07 ` [PATCH 6/6] x11-common: don't prune .svn directories on install, we're in git now Ross Burton
2012-08-30 17:13 ` [PATCH 0/6] Remove xserver-kdrive Saul Wold
2012-08-30 17:16 ` Burton, Ross
2012-09-04 14:48 ` Saul Wold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5040E5FD.604@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.