summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2012-08-30 18:07:23 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-02 05:52:12 -0700
commit175ba20246fa3889f409d1b4e7f828897867b70e (patch)
treee19193aa0696bbeb0f0fcbf3112cdbb2e619ed99 /meta/recipes-graphics
parent8cb5c0216750f690ce9208c54888d3729b1981bc (diff)
downloadpoky-175ba20246fa3889f409d1b4e7f828897867b70e.tar.gz
xserver-kdrive: remove.
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. (From OE-Core rev: f8bc059883a9bae92434bfb74fca352ad1e10199) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch23
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch24
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch16
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch152
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch364
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch87
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch65
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch233
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch22
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch312
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch520
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch58
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch29
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch17
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch16
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch62
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc113
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb34
18 files changed, 0 insertions, 2147 deletions
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 87595d0a5a..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/crosscompile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1Upstream-Status: Inappropriate [cross compiling]
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5Index: xorg-server-1.7.99.2/configure.ac
6===================================================================
7--- xorg-server-1.7.99.2.orig/configure.ac 2010-01-29 16:38:49.000000000 +0000
8+++ xorg-server-1.7.99.2/configure.ac 2010-01-29 16:42:39.000000000 +0000
9@@ -503,14 +503,10 @@
10
11 dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
12 dnl otherwise uses standard subdirectories of FONTROOTDIR
13-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
14- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
15- [
16 DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
17 case $host_os in
18 darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
19 esac
20- ])
21 AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
22 [ FONTPATH="$withval" ],
23 [ 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 c22b1c06e2..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/disable-apm.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1Upstream-Status: Inappropriate [disable feature]
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5--- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000
6+++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000
7@@ -342,7 +342,7 @@
8 /*
9 * Open the APM driver
10 */
11- LinuxApmFd = open ("/dev/apm_bios", 2);
12+ /*LinuxApmFd = open ("/dev/apm_bios", 2);
13 if (LinuxApmFd < 0 && errno == ENOENT)
14 LinuxApmFd = open ("/dev/misc/apm_bios", 2);
15 if (LinuxApmFd >= 0)
16@@ -352,7 +352,7 @@
17 RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0);
18 AddEnabledDevice (LinuxApmFd);
19 }
20-
21+ */
22 /*
23 * now get the VT
24 */
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 98d5176b40..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-builtin-fonts.patch
+++ /dev/null
@@ -1,16 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5--- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200
6+++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200
7@@ -52,8 +52,8 @@
8 /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */
9
10 #define NEED_REPLIES
11 #ifdef HAVE_DIX_CONFIG_H
12-#include <dix-config.h>
13+#include <kdrive-config.h>
14 #endif
15
16 #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 efac5ef67a..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/enable-xcalibrate.patch
+++ /dev/null
@@ -1,152 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5---
6 Xext/Makefile.am | 6 ++++++
7 configure.ac | 11 +++++++++--
8 include/kdrive-config.h.in | 3 +++
9 mi/miinitext.c | 6 ++++++
10 4 files changed, 24 insertions(+), 2 deletions(-)
11
12Index: xorg-server-1.7.99.2/mi/miinitext.c
13===================================================================
14--- xorg-server-1.7.99.2.orig/mi/miinitext.c 2010-02-10 18:54:11.959086237 +0000
15+++ xorg-server-1.7.99.2/mi/miinitext.c 2010-02-10 18:54:12.429078513 +0000
16@@ -264,6 +264,9 @@
17 #ifdef DMXEXT
18 extern void DMXExtensionInit(INITARGS);
19 #endif
20+#ifdef XCALIBRATE
21+extern void XCalibrateExtensionInit(INITARGS);
22+#endif
23 #ifdef XFIXES
24 extern void XFixesExtensionInit(INITARGS);
25 #endif
26@@ -493,6 +496,9 @@
27 GlxPushProvider(&__glXDRISWRastProvider);
28 if (!noGlxExtension) GlxExtensionInit();
29 #endif
30+#ifdef XCALIBRATE
31+ XCalibrateExtensionInit ();
32+#endif
33 }
34
35 #else /* XFree86LOADER */
36Index: xorg-server-1.7.99.2/configure.ac
37===================================================================
38--- xorg-server-1.7.99.2.orig/configure.ac 2010-02-10 18:54:11.959086237 +0000
39+++ xorg-server-1.7.99.2/configure.ac 2010-02-11 11:49:50.710736962 +0000
40@@ -1985,7 +1985,7 @@
41 fi
42
43
44- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
45+ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
46 if test "x$HAVE_TSLIB" = xno; then
47 AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"])
48 fi
49@@ -2039,7 +2039,7 @@
50 KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
51 KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
52 KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB"
53- KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
54+ KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $TSLIB_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
55
56 AC_SUBST([XEPHYR_LIBS])
57 AC_SUBST([XEPHYR_INCS])
58Index: xorg-server-1.7.99.2/include/kdrive-config.h.in
59===================================================================
60--- xorg-server-1.7.99.2.orig/include/kdrive-config.h.in 2010-02-10 18:54:11.959086237 +0000
61+++ xorg-server-1.7.99.2/include/kdrive-config.h.in 2010-02-10 18:54:12.429078513 +0000
62@@ -28,4 +28,7 @@
63 /* Have execinfo.h for backtrace(). */
64 #undef HAVE_EXECINFO_H
65
66+/* Enable XCalibrate extension */
67+#undef XCALIBRATE
68+
69 #endif /* _KDRIVE_CONFIG_H_ */
70Index: xorg-server-1.7.99.2/hw/kdrive/linux/tslib.c
71===================================================================
72--- xorg-server-1.7.99.2.orig/hw/kdrive/linux/tslib.c 2010-02-10 18:58:12.669078495 +0000
73+++ xorg-server-1.7.99.2/hw/kdrive/linux/tslib.c 2010-02-10 19:04:56.927828767 +0000
74@@ -50,12 +50,15 @@
75 int fd;
76 int lastx, lasty;
77 struct tsdev *tsDev;
78- void (*raw_event_hook)(int x, int y, int pressure, void *closure);
79- void *raw_event_closure;
80 int phys_screen;
81 };
82
83
84+/* For XCalibrate extension */
85+void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure);
86+void *tslib_raw_event_closure;
87+
88+
89 static void
90 TsRead (int fd, void *closure)
91 {
92@@ -65,10 +68,10 @@
93 long x = 0, y = 0;
94 unsigned long flags;
95
96- if (private->raw_event_hook) {
97+ if (tslib_raw_event_hook) {
98 while (ts_read_raw(private->tsDev, &event, 1) == 1)
99- private->raw_event_hook (event.x, event.y, event.pressure,
100- private->raw_event_closure);
101+ tslib_raw_event_hook (event.x, event.y, event.pressure,
102+ tslib_raw_event_closure);
103 return;
104 }
105
106@@ -111,8 +114,8 @@
107 {
108 struct TslibPrivate *private = pi->driverPrivate;
109
110- private->raw_event_hook = NULL;
111- private->raw_event_closure = NULL;
112+ tslib_raw_event_hook = NULL;
113+ tslib_raw_event_closure = NULL;
114 if (!pi->path) {
115 pi->path = strdup("/dev/input/touchscreen0");
116 ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path);
117Index: xorg-server-1.7.99.2/Xext/xcalibrate.c
118===================================================================
119--- xorg-server-1.7.99.2.orig/Xext/xcalibrate.c 2010-02-10 18:59:24.097829840 +0000
120+++ xorg-server-1.7.99.2/Xext/xcalibrate.c 2010-02-11 11:51:00.930735731 +0000
121@@ -115,6 +115,7 @@
122
123 memset (&rep, 0, sizeof (rep));
124 rep.type = X_Reply;
125+ rep.length = 0;
126 rep.sequenceNumber = client->sequence;
127
128 if (stuff->on)
129@@ -158,6 +159,7 @@
130
131 swaps (&rep.sequenceNumber, n);
132 swaps (&rep.status, n);
133+ swapl (&rep.length, n);
134 }
135 WriteToClient(client, sizeof (rep), (char *) &rep);
136 return (client->noClientException);
137@@ -186,6 +188,7 @@
138
139 memset (&rep, 0, sizeof (rep));
140 rep.type = X_Reply;
141+ rep.length = 0;
142 rep.sequenceNumber = client->sequence;
143 rep.x = stuff->x;
144 rep.y = stuff->y;
145@@ -198,6 +201,7 @@
146
147 swaps (&rep.x, n);
148 swaps (&rep.y, n);
149+ swapl (&rep.length, n);
150 }
151 WriteToClient(client, sizeof (rep), (char *) &rep);
152 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 98a946aad6..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch
+++ /dev/null
@@ -1,364 +0,0 @@
1Upstream-Status: Inappropriate
2
3diff -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
4--- xorg-server-1.7.99.2.ORIG/dix/window.c 2012-01-04 13:12:40.417640130 -0700
5+++ xorg-server-1.7.99.2/dix/window.c 2012-01-04 12:13:20.678605493 -0700
6@@ -559,10 +559,10 @@
7 box.y1 = 0;
8 box.x2 = pScreen->width;
9 box.y2 = pScreen->height;
10- REGION_INIT(pScreen, &pWin->clipList, &box, 1);
11- REGION_INIT(pScreen, &pWin->winSize, &box, 1);
12- REGION_INIT(pScreen, &pWin->borderSize, &box, 1);
13- REGION_INIT(pScreen, &pWin->borderClip, &box, 1);
14+ REGION_INIT2(pScreen, &pWin->clipList, &box, 1);
15+ REGION_INIT2(pScreen, &pWin->winSize, &box, 1);
16+ REGION_INIT2(pScreen, &pWin->borderSize, &box, 1);
17+ REGION_INIT2(pScreen, &pWin->borderClip, &box, 1);
18
19 pWin->drawable.class = InputOutput;
20 pWin->optional->visual = pScreen->rootVisual;
21diff -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
22--- xorg-server-1.7.99.2.ORIG/exa/exa_accel.c 2009-12-11 11:20:48.000000000 -0700
23+++ xorg-server-1.7.99.2/exa/exa_accel.c 2012-01-04 12:58:11.218616328 -0700
24@@ -1275,7 +1275,7 @@
25 Box.x2 = Box.x1 + w;
26 Box.y2 = Box.y1 + h;
27
28- REGION_INIT(pScreen, &Reg, &Box, 1);
29+ REGION_INIT2(pScreen, &Reg, &Box, 1);
30
31 pixmaps[0].as_dst = FALSE;
32 pixmaps[0].as_src = TRUE;
33diff -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
34--- xorg-server-1.7.99.2.ORIG/exa/exa.c 2009-12-11 11:20:48.000000000 -0700
35+++ xorg-server-1.7.99.2/exa/exa.c 2012-01-04 12:56:30.592593427 -0700
36@@ -161,7 +161,7 @@
37 if (box.x1 >= box.x2 || box.y1 >= box.y2)
38 return;
39
40- REGION_INIT(pScreen, &region, &box, 1);
41+ REGION_INIT2(pScreen, &region, &box, 1);
42 DamageRegionAppend(&pPix->drawable, &region);
43 DamageRegionProcessPending(&pPix->drawable);
44 REGION_UNINIT(pScreen, &region);
45diff -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
46--- xorg-server-1.7.99.2.ORIG/exa/exa_classic.c 2009-11-28 13:44:58.000000000 -0700
47+++ xorg-server-1.7.99.2/exa/exa_classic.c 2012-01-04 12:54:50.586576675 -0700
48@@ -131,8 +131,8 @@
49 box.y1 = 0;
50 box.x2 = w;
51 box.y2 = h;
52- REGION_INIT(pScreen, &pExaPixmap->validSys, &box, 0);
53- REGION_INIT(pScreen, &pExaPixmap->validFB, &box, 0);
54+ REGION_INIT2(pScreen, &pExaPixmap->validSys, &box, 0);
55+ REGION_INIT2(pScreen, &pExaPixmap->validFB, &box, 0);
56
57 exaSetAccelBlock(pExaScr, pExaPixmap,
58 w, h, bpp);
59diff -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
60--- xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c 2009-11-28 13:44:58.000000000 -0700
61+++ xorg-server-1.7.99.2/exa/exa_migration_classic.c 2012-01-04 12:54:43.077500333 -0700
62@@ -177,7 +177,7 @@
63 box.x2 = max(pValidExt->x2, pDamageExt->x2);
64 box.y2 = max(pValidExt->y2, pDamageExt->y2);
65
66- REGION_INIT(pScreen, &closure, &box, 0);
67+ REGION_INIT2(pScreen, &closure, &box, 0);
68 REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure);
69 } else
70 REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage);
71diff -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
72--- xorg-server-1.7.99.2.ORIG/exa/exa_render.c 2009-11-28 13:44:58.000000000 -0700
73+++ xorg-server-1.7.99.2/exa/exa_render.c 2012-01-04 12:59:18.234297490 -0700
74@@ -576,7 +576,7 @@
75 * (see use of DamagePendingRegion in exaCopyDirty)
76 */
77
78- REGION_INIT(pScreen, &region, &box, 1);
79+ REGION_INIT2(pScreen, &region, &box, 1);
80
81 DamageRegionAppend(pDst->pDrawable, &region);
82
83diff -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
84--- xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c 2009-12-11 11:20:48.000000000 -0700
85+++ xorg-server-1.7.99.2/exa/exa_unaccel.c 2012-01-04 12:59:25.915375559 -0700
86@@ -344,7 +344,7 @@
87 Box.x2 = Box.x1 + w;
88 Box.y2 = Box.y1 + h;
89
90- REGION_INIT(pScreen, &Reg, &Box, 1);
91+ REGION_INIT2(pScreen, &Reg, &Box, 1);
92
93 pExaScr->prepare_access_reg(pPix, EXA_PREPARE_SRC, &Reg);
94 } else
95diff -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
96--- xorg-server-1.7.99.2.ORIG/fb/fboverlay.c 2009-11-04 09:25:50.000000000 -0700
97+++ xorg-server-1.7.99.2/fb/fboverlay.c 2012-01-04 12:24:43.855400893 -0700
98@@ -147,7 +147,7 @@
99 pbits))
100 return FALSE;
101 pScrPriv->layer[i].u.run.pixmap = pPixmap;
102- REGION_INIT(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0);
103+ REGION_INIT2(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0);
104 }
105 pScreen->devPrivate = pScrPriv->layer[0].u.run.pixmap;
106 return TRUE;
107diff -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
108--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c 2012-01-04 13:12:40.418640141 -0700
109+++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2012-01-04 13:05:08.771897914 -0700
110@@ -144,8 +144,8 @@
111 box.y2 = pScreen->height;
112 pWin->drawable.width = pScreen->width;
113 pWin->drawable.height = pScreen->height;
114- REGION_INIT (pScreen, &pWin->winSize, &box, 1);
115- REGION_INIT (pScreen, &pWin->borderSize, &box, 1);
116+ REGION_INIT2 (pScreen, &pWin->winSize, &box, 1);
117+ REGION_INIT2 (pScreen, &pWin->borderSize, &box, 1);
118 REGION_RESET(pScreen, &pWin->borderClip, &box);
119 REGION_BREAK (pWin->drawable.pScreen, &pWin->clipList);
120 }
121diff -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
122--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c 2008-11-14 14:27:05.000000000 -0700
123+++ xorg-server-1.7.99.2/hw/kdrive/src/kxv.c 2012-01-04 13:07:32.625411023 -0700
124@@ -674,7 +674,7 @@
125 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
126
127 /* clip to the window composite clip */
128- REGION_INIT(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1);
129+ REGION_INIT2(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1);
130 REGION_INIT(portPriv->pDraw->pScreen, &ClipRegion, NullBox, 1);
131 REGION_INTERSECT(portPriv->pDraw->pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
132
133@@ -738,7 +738,7 @@
134 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
135
136 /* clip to the window composite clip */
137- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
138+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
139 REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
140 REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
141
142@@ -752,7 +752,7 @@
143 VPBox.x2 = screen->width;
144 VPBox.y2 = screen->height;
145
146- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
147+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
148 REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
149 REGION_UNINIT(pScreen, &VPReg);
150 }
151@@ -827,7 +827,7 @@
152 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
153
154 /* clip to the window composite clip */
155- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
156+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
157 REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
158 REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
159
160@@ -841,7 +841,7 @@
161 VPBox.x2 = screen->width;
162 VPBox.y2 = screen->height;
163
164- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
165+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
166 REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
167 REGION_UNINIT(pScreen, &VPReg);
168 }
169@@ -1337,7 +1337,7 @@
170 WinBox.x2 = WinBox.x1 + drw_w;
171 WinBox.y2 = WinBox.y1 + drw_h;
172
173- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
174+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
175 REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
176 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
177
178@@ -1350,7 +1350,7 @@
179 VPBox.x2 = screen->width;
180 VPBox.y2 = screen->height;
181
182- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
183+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
184 REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
185 REGION_UNINIT(pScreen, &VPReg);
186 }
187@@ -1490,7 +1490,7 @@
188 WinBox.x2 = WinBox.x1 + drw_w;
189 WinBox.y2 = WinBox.y1 + drw_h;
190
191- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
192+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
193 REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
194 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
195
196@@ -1637,7 +1637,7 @@
197 WinBox.x2 = WinBox.x1 + drw_w;
198 WinBox.y2 = WinBox.y1 + drw_h;
199
200- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
201+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
202 REGION_INIT(pScreen, &ClipRegion, NullBox, 1);
203 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
204
205@@ -1650,7 +1650,7 @@
206 VPBox.x2 = pScreen->width;
207 VPBox.y2 = pScreen->height;
208
209- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
210+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
211 REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg);
212 REGION_UNINIT(pScreen, &VPReg);
213 }
214diff -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
215--- xorg-server-1.7.99.2.ORIG/include/regionstr.h 2009-11-04 09:25:50.000000000 -0700
216+++ xorg-server-1.7.99.2/include/regionstr.h 2012-01-04 12:13:06.174461574 -0700
217@@ -152,6 +152,12 @@
218 } \
219 }
220
221+#define REGION_INIT2(_pScreen, _pReg, _rect, _size) \
222+{ \
223+ (_pReg)->extents = *(_rect); \
224+ (_pReg)->data = (RegDataPtr)NULL; \
225+ }
226+
227
228 #define REGION_UNINIT(_pScreen, _pReg) \
229 { \
230diff -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
231--- xorg-server-1.7.99.2.ORIG/mi/micopy.c 2009-11-04 09:25:50.000000000 -0700
232+++ xorg-server-1.7.99.2/mi/micopy.c 2012-01-04 12:44:17.003144611 -0700
233@@ -315,7 +315,7 @@
234 box.y1 = box_y1;
235 box.x2 = box_x2;
236 box.y2 = box_y2;
237- REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
238+ REGION_INIT2(pGC->pScreen, &rgnDst, &box, 1);
239 }
240
241 /* Clip against complex source if needed */
242diff -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
243--- xorg-server-1.7.99.2.ORIG/mi/miexpose.c 2009-11-04 09:25:50.000000000 -0700
244+++ xorg-server-1.7.99.2/mi/miexpose.c 2012-01-04 12:46:29.400478668 -0700
245@@ -206,7 +206,7 @@
246 box.x2 = pSrcDrawable->width;
247 box.y2 = pSrcDrawable->height;
248 prgnSrcClip = &rgnSrcRec;
249- REGION_INIT(pscr, prgnSrcClip, &box, 1);
250+ REGION_INIT2(pscr, prgnSrcClip, &box, 1);
251 pSrcWin = NULL;
252 }
253
254@@ -239,11 +239,11 @@
255 box.x2 = pDstDrawable->width;
256 box.y2 = pDstDrawable->height;
257 prgnDstClip = &rgnDstRec;
258- REGION_INIT(pscr, prgnDstClip, &box, 1);
259+ REGION_INIT2(pscr, prgnDstClip, &box, 1);
260 }
261
262 /* drawable-relative source region */
263- REGION_INIT(pscr, &rgnExposed, &srcBox, 1);
264+ REGION_INIT2(pscr, &rgnExposed, &srcBox, 1);
265
266 /* now get the hidden parts of the source box*/
267 REGION_SUBTRACT(pscr, &rgnExposed, &rgnExposed, prgnSrcClip);
268@@ -491,7 +491,7 @@
269 box = *REGION_EXTENTS( pWin->drawable.pScreen, exposures);
270 if (exposures == prgn) {
271 exposures = &expRec;
272- REGION_INIT( pWin->drawable.pScreen, exposures, &box, 1);
273+ REGION_INIT2( pWin->drawable.pScreen, exposures, &box, 1);
274 REGION_RESET( pWin->drawable.pScreen, prgn, &box);
275 } else {
276 REGION_RESET( pWin->drawable.pScreen, exposures, &box);
277diff -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
278--- xorg-server-1.7.99.2.ORIG/mi/mioverlay.c 2009-11-04 09:25:50.000000000 -0700
279+++ xorg-server-1.7.99.2/mi/mioverlay.c 2012-01-04 12:47:50.114300224 -0700
280@@ -209,8 +209,8 @@
281 fullBox.y1 = 0;
282 fullBox.x2 = pScreen->width;
283 fullBox.y2 = pScreen->height;
284- REGION_INIT(pScreen, &(pTree->borderClip), &fullBox, 1);
285- REGION_INIT(pScreen, &(pTree->clipList), &fullBox, 1);
286+ REGION_INIT2(pScreen, &(pTree->borderClip), &fullBox, 1);
287+ REGION_INIT2(pScreen, &(pTree->clipList), &fullBox, 1);
288 }
289 } else xfree(pTree);
290 }
291@@ -1027,7 +1027,7 @@
292 box = *REGION_EXTENTS(pScreen, exposures);
293 if (exposures == prgn) {
294 exposures = &expRec;
295- REGION_INIT(pScreen, exposures, &box, 1);
296+ REGION_INIT2(pScreen, exposures, &box, 1);
297 REGION_RESET(pScreen, prgn, &box);
298 } else {
299 REGION_RESET(pScreen, exposures, &box);
300@@ -1672,7 +1672,7 @@
301 box.x1 = x1; box.x2 = x2;
302 box.y1 = y1; box.y2 = y2;
303
304- REGION_INIT(pScreen, &reg, &box, 1);
305+ REGION_INIT2(pScreen, &reg, &box, 1);
306
307 REGION_INTERSECT(pScreen, &reg, &reg, clipList);
308 if (generateExposures)
309diff -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
310--- xorg-server-1.7.99.2.ORIG/mi/miwindow.c 2009-11-04 09:25:50.000000000 -0700
311+++ xorg-server-1.7.99.2/mi/miwindow.c 2012-01-04 12:48:38.055787835 -0700
312@@ -111,7 +111,7 @@
313 box.y2 = y2;
314
315 pScreen = pWin->drawable.pScreen;
316- REGION_INIT(pScreen, &reg, &box, 1);
317+ REGION_INIT2(pScreen, &reg, &box, 1);
318
319 REGION_INTERSECT(pScreen, &reg, &reg, &pWin->clipList);
320 if (generateExposures)
321diff -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
322--- xorg-server-1.7.99.2.ORIG/miext/damage/damage.c 2009-11-04 09:25:50.000000000 -0700
323+++ xorg-server-1.7.99.2/miext/damage/damage.c 2012-01-04 12:51:04.883281430 -0700
324@@ -324,7 +324,7 @@
325 box.y1 = draw_y;
326 box.x2 = draw_x + pDamage->pDrawable->width;
327 box.y2 = draw_y + pDamage->pDrawable->height;
328- REGION_INIT(pScreen, &pixClip, &box, 1);
329+ REGION_INIT2(pScreen, &pixClip, &box, 1);
330 REGION_INTERSECT (pScreen, pDamageRegion, pRegion, &pixClip);
331 REGION_UNINIT(pScreen, &pixClip);
332 }
333@@ -2085,7 +2085,7 @@
334 box.y1 = pDrawable->y;
335 box.x2 = pDrawable->x + pDrawable->width;
336 box.y2 = pDrawable->y + pDrawable->height;
337- REGION_INIT (pDrawable->pScreen, &pixmapClip, &box, 1);
338+ REGION_INIT2 (pDrawable->pScreen, &pixmapClip, &box, 1);
339 pClip = &pixmapClip;
340 }
341 REGION_TRANSLATE (pDrawable->pScreen, &pDamage->damage, pDrawable->x, pDrawable->y);
342diff -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
343--- xorg-server-1.7.99.2.ORIG/Xext/xace.c 2009-11-04 09:25:50.000000000 -0700
344+++ xorg-server-1.7.99.2/Xext/xace.c 2012-01-04 12:49:36.850385965 -0700
345@@ -255,7 +255,7 @@
346 imageBox.y1 = y;
347 imageBox.x2 = x + w;
348 imageBox.y2 = y + h;
349- REGION_INIT(pScreen, &imageRegion, &imageBox, 1);
350+ REGION_INIT2(pScreen, &imageRegion, &imageBox, 1);
351 REGION_NULL(pScreen, &censorRegion);
352
353 /* censorRegion = imageRegion - visibleRegion */
354--- xorg-server-1.7.99.2.ORIG/mi/mibank.c 2009-11-04 09:25:50.000000000 -0700
355+++ xorg-server-1.7.99.2/mi/mibank.c 2012-01-04 12:37:42.251184747 -0700
356@@ -772,7 +772,7 @@
357 }
358 else
359 {
360- REGION_INIT(pScreen, &rgnDst, &fastBox, 1);
361+ REGION_INIT2(pScreen, &rgnDst, &fastBox, 1);
362 REGION_INTERSECT(pScreen, &rgnDst, &rgnDst, prgnSrcClip);
363 pBox = REGION_RECTS(&rgnDst);
364 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 896c0332b1..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/extra-kmodes.patch
+++ /dev/null
@@ -1,87 +0,0 @@
1Add some extra video modes and change the default to VGA.
2
3Upstream-Status: Pending
4
5Signed-off-by: Yu Ke <ke.yu@intel.com>
6
7---
8 hw/kdrive/src/kmode.c | 41 +++++++++++++++++++++++++++++++++++++++--
9 1 file changed, 39 insertions(+), 2 deletions(-)
10
11Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c
12===================================================================
13--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2008-01-11 14:20:47.000000000 +0000
14+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2008-01-11 14:21:18.000000000 +0000
15@@ -32,6 +32,31 @@ const KdMonitorTiming kdMonitorTimings[
16 /* H V Hz KHz */
17 /* FP BP BLANK POLARITY */
18
19+ /* Treo 650 */
20+
21+ { 320, 320, 64, 16256,
22+ 17, 12, 32, KdSyncNegative,
23+ 1, 11, 14, KdSyncNegative,
24+ },
25+
26+ { 320, 320, 64, 0,
27+ 0, 0, 0, KdSyncNegative,
28+ 0, 0, 0, KdSyncNegative,
29+ },
30+
31+ /* LifeDrive/T3/TX modes */
32+
33+ { 320, 480, 64, 16256,
34+ 17, 12, 32, KdSyncNegative,
35+ 1, 11, 14, KdSyncNegative,
36+ },
37+
38+ { 480, 320, 64, 0,
39+ 0, 0, 0, KdSyncNegative,
40+ 0, 0, 0, KdSyncNegative,
41+ },
42+
43+
44 /* IPAQ modeline:
45 *
46 * Modeline "320x240" 5.7222 320 337 340 352 240 241 244 254"
47@@ -41,6 +66,11 @@ const KdMonitorTiming kdMonitorTimings[
48 1, 11, 14, KdSyncNegative,
49 },
50
51+ { 240, 320, 64, 0,
52+ 0, 0, 0, KdSyncNegative,
53+ 0, 0, 0, KdSyncNegative,
54+ },
55+
56 /* Other VESA modes */
57 { 640, 350, 85, 31500, /* VESA */
58 32, 96, 192, KdSyncPositive, /* 26.413 */
59@@ -76,10 +106,19 @@ const KdMonitorTiming kdMonitorTimings[
60 16, 120, 176, KdSyncNegative, /* 37.861 */
61 1, 20, 24, KdSyncNegative, /* 72.809 */
62 },
63+ /* DEFAULT */
64+#define MONITOR_TIMING_DEFAULT 13
65 { 640, 480, 60, 25175, /* VESA */
66 16, 48, 160, KdSyncNegative, /* 31.469 */
67 10, 33, 45, KdSyncNegative, /* 59.940 */
68 },
69+
70+
71+ { 480, 640, 60, 0, /* VESA */
72+ 0, 0, 0, KdSyncNegative, /* 31.469 */
73+ 0, 0, 0, KdSyncNegative, /* 59.940 */
74+ },
75+
76
77 /* 800x600 modes */
78 { 800, 600, 85, 56250, /* VESA */
79@@ -90,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[
80 16, 160, 256, KdSyncPositive, /* 46.875 */
81 1, 21, 25, KdSyncPositive, /* 75.000 */
82 },
83- /* DEFAULT */
84-#define MONITOR_TIMING_DEFAULT 9
85 { 800, 600, 72, 50000, /* VESA */
86 56, 64, 240, KdSyncPositive, /* 48.077 */
87 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 06761c9141..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fbdev_xrandr_ioctl.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5Index: xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c
6===================================================================
7--- xorg-server-1.3.0.0.orig/hw/kdrive/fbdev/fbdev.c 2008-09-25 21:55:12.000000000 +0100
8+++ xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2008-09-25 21:55:46.000000000 +0100
9@@ -498,6 +498,7 @@
10 KdScreenInfo *screen = pScreenPriv->screen;
11 FbdevScrPriv *scrpriv = screen->driver;
12 Bool wasEnabled = pScreenPriv->enabled;
13+ FbdevPriv *priv = screen->card->driver;
14 FbdevScrPriv oldscr;
15 int oldwidth;
16 int oldheight;
17@@ -525,11 +526,46 @@
18 oldheight = screen->height;
19 oldmmwidth = pScreen->mmWidth;
20 oldmmheight = pScreen->mmHeight;
21-
22+
23 /*
24 * Set new configuration
25 */
26-
27+
28+ if (newwidth != oldwidth || newheight != oldheight)
29+ {
30+ struct fb_var_screeninfo var;
31+ int k;
32+
33+ k = ioctl (priv->fd, FBIOGET_VSCREENINFO, &var);
34+
35+ if (k < 0)
36+ {
37+ ErrorF("Error with framebuffer ioctl FBIOGET_VSCREENINFO: %s", strerror (errno));
38+ return FALSE;
39+ }
40+
41+ var.xres = newwidth;
42+ var.yres = newheight;
43+ var.activate = FB_ACTIVATE_NOW;
44+
45+ k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &var);
46+
47+ if (k >= 0)
48+ {
49+ if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0)
50+ {
51+ perror("Error with framebuffer ioctl FIOGET_FSCREENINFO");
52+ close (priv->fd);
53+ return FALSE;
54+ }
55+ if ((k=ioctl(priv->fd, FBIOGET_VSCREENINFO, &priv->var)) < 0) {
56+ perror("Error framebuffer ioctl FIOGET_VSCREENINFO");
57+ close (priv->fd);
58+ return FALSE;
59+ }
60+ }
61+ }
62+
63 scrpriv->randr = KdAddRotation (screen->randr, randr);
64
65 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 b4e293facb..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-bogus-stack-variables.patch
+++ /dev/null
@@ -1,233 +0,0 @@
1From 6dae7f3792611aace1df0cca63bf50c50d93de43 Mon Sep 17 00:00:00 2001
2From: Chris Wilson <chris@chris-wilson.co.uk>
3Date: Tue, 10 Aug 2010 18:30:20 +0000
4Subject: xace: Invalid reference to out-of-scope data.
5
6The callback data passed by reference to the hook was allocated on stack
7within the scope of the case statement. The compiler is free to reuse
8any of that stack space whilst making the function call so we may end up
9passing garbage into the callback.
10
11References:
12
13 Bug 18451 - Xorg server 1.5.2 SEGV during XFixesGetCursorImage()
14 https://bugs.freedesktop.org/show_bug.cgi?id=18451
15
16v2: Drop the unrelated hunk that snuck in when ammending the commit
17message.
18
19Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
20Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
21Signed-off-by: Keith Packard <keithp@keithp.com>
22
23Upstream-Status: accepted
24---
25(limited to 'Xext/xace.c')
26
27diff --git a/Xext/xace.c b/Xext/xace.c
28index e10d837..c757cad 100644
29--- a/Xext/xace.c
30+++ b/Xext/xace.c
31@@ -87,7 +87,18 @@ void XaceHookAuditEnd(ClientPtr ptr, int result)
32 */
33 int XaceHook(int hook, ...)
34 {
35- pointer calldata; /* data passed to callback */
36+ union {
37+ XaceResourceAccessRec res;
38+ XaceDeviceAccessRec dev;
39+ XaceSendAccessRec send;
40+ XaceReceiveAccessRec recv;
41+ XaceClientAccessRec client;
42+ XaceExtAccessRec ext;
43+ XaceServerAccessRec server;
44+ XaceScreenAccessRec screen;
45+ XaceAuthAvailRec auth;
46+ XaceKeyAvailRec key;
47+ } u;
48 int *prv = NULL; /* points to return value from callback */
49 va_list ap; /* argument list */
50 va_start(ap, hook);
51@@ -99,117 +110,86 @@ int XaceHook(int hook, ...)
52 */
53 switch (hook)
54 {
55- case XACE_RESOURCE_ACCESS: {
56- XaceResourceAccessRec rec;
57- rec.client = va_arg(ap, ClientPtr);
58- rec.id = va_arg(ap, XID);
59- rec.rtype = va_arg(ap, RESTYPE);
60- rec.res = va_arg(ap, pointer);
61- rec.ptype = va_arg(ap, RESTYPE);
62- rec.parent = va_arg(ap, pointer);
63- rec.access_mode = va_arg(ap, Mask);
64- rec.status = Success; /* default allow */
65- calldata = &rec;
66- prv = &rec.status;
67+ case XACE_RESOURCE_ACCESS:
68+ u.res.client = va_arg(ap, ClientPtr);
69+ u.res.id = va_arg(ap, XID);
70+ u.res.rtype = va_arg(ap, RESTYPE);
71+ u.res.res = va_arg(ap, pointer);
72+ u.res.ptype = va_arg(ap, RESTYPE);
73+ u.res.parent = va_arg(ap, pointer);
74+ u.res.access_mode = va_arg(ap, Mask);
75+ u.res.status = Success; /* default allow */
76+ prv = &u.res.status;
77 break;
78- }
79- case XACE_DEVICE_ACCESS: {
80- XaceDeviceAccessRec rec;
81- rec.client = va_arg(ap, ClientPtr);
82- rec.dev = va_arg(ap, DeviceIntPtr);
83- rec.access_mode = va_arg(ap, Mask);
84- rec.status = Success; /* default allow */
85- calldata = &rec;
86- prv = &rec.status;
87+ case XACE_DEVICE_ACCESS:
88+ u.dev.client = va_arg(ap, ClientPtr);
89+ u.dev.dev = va_arg(ap, DeviceIntPtr);
90+ u.dev.access_mode = va_arg(ap, Mask);
91+ u.dev.status = Success; /* default allow */
92+ prv = &u.dev.status;
93 break;
94- }
95- case XACE_SEND_ACCESS: {
96- XaceSendAccessRec rec;
97- rec.client = va_arg(ap, ClientPtr);
98- rec.dev = va_arg(ap, DeviceIntPtr);
99- rec.pWin = va_arg(ap, WindowPtr);
100- rec.events = va_arg(ap, xEventPtr);
101- rec.count = va_arg(ap, int);
102- rec.status = Success; /* default allow */
103- calldata = &rec;
104- prv = &rec.status;
105+ case XACE_SEND_ACCESS:
106+ u.send.client = va_arg(ap, ClientPtr);
107+ u.send.dev = va_arg(ap, DeviceIntPtr);
108+ u.send.pWin = va_arg(ap, WindowPtr);
109+ u.send.events = va_arg(ap, xEventPtr);
110+ u.send.count = va_arg(ap, int);
111+ u.send.status = Success; /* default allow */
112+ prv = &u.send.status;
113 break;
114- }
115- case XACE_RECEIVE_ACCESS: {
116- XaceReceiveAccessRec rec;
117- rec.client = va_arg(ap, ClientPtr);
118- rec.pWin = va_arg(ap, WindowPtr);
119- rec.events = va_arg(ap, xEventPtr);
120- rec.count = va_arg(ap, int);
121- rec.status = Success; /* default allow */
122- calldata = &rec;
123- prv = &rec.status;
124+ case XACE_RECEIVE_ACCESS:
125+ u.recv.client = va_arg(ap, ClientPtr);
126+ u.recv.pWin = va_arg(ap, WindowPtr);
127+ u.recv.events = va_arg(ap, xEventPtr);
128+ u.recv.count = va_arg(ap, int);
129+ u.recv.status = Success; /* default allow */
130+ prv = &u.recv.status;
131 break;
132- }
133- case XACE_CLIENT_ACCESS: {
134- XaceClientAccessRec rec;
135- rec.client = va_arg(ap, ClientPtr);
136- rec.target = va_arg(ap, ClientPtr);
137- rec.access_mode = va_arg(ap, Mask);
138- rec.status = Success; /* default allow */
139- calldata = &rec;
140- prv = &rec.status;
141+ case XACE_CLIENT_ACCESS:
142+ u.client.client = va_arg(ap, ClientPtr);
143+ u.client.target = va_arg(ap, ClientPtr);
144+ u.client.access_mode = va_arg(ap, Mask);
145+ u.client.status = Success; /* default allow */
146+ prv = &u.client.status;
147 break;
148- }
149- case XACE_EXT_ACCESS: {
150- XaceExtAccessRec rec;
151- rec.client = va_arg(ap, ClientPtr);
152- rec.ext = va_arg(ap, ExtensionEntry*);
153- rec.access_mode = DixGetAttrAccess;
154- rec.status = Success; /* default allow */
155- calldata = &rec;
156- prv = &rec.status;
157+ case XACE_EXT_ACCESS:
158+ u.ext.client = va_arg(ap, ClientPtr);
159+ u.ext.ext = va_arg(ap, ExtensionEntry*);
160+ u.ext.access_mode = DixGetAttrAccess;
161+ u.ext.status = Success; /* default allow */
162+ prv = &u.ext.status;
163 break;
164- }
165- case XACE_SERVER_ACCESS: {
166- XaceServerAccessRec rec;
167- rec.client = va_arg(ap, ClientPtr);
168- rec.access_mode = va_arg(ap, Mask);
169- rec.status = Success; /* default allow */
170- calldata = &rec;
171- prv = &rec.status;
172+ case XACE_SERVER_ACCESS:
173+ u.server.client = va_arg(ap, ClientPtr);
174+ u.server.access_mode = va_arg(ap, Mask);
175+ u.server.status = Success; /* default allow */
176+ prv = &u.server.status;
177 break;
178- }
179 case XACE_SCREEN_ACCESS:
180- case XACE_SCREENSAVER_ACCESS: {
181- XaceScreenAccessRec rec;
182- rec.client = va_arg(ap, ClientPtr);
183- rec.screen = va_arg(ap, ScreenPtr);
184- rec.access_mode = va_arg(ap, Mask);
185- rec.status = Success; /* default allow */
186- calldata = &rec;
187- prv = &rec.status;
188+ case XACE_SCREENSAVER_ACCESS:
189+ u.screen.client = va_arg(ap, ClientPtr);
190+ u.screen.screen = va_arg(ap, ScreenPtr);
191+ u.screen.access_mode = va_arg(ap, Mask);
192+ u.screen.status = Success; /* default allow */
193+ prv = &u.screen.status;
194 break;
195- }
196- case XACE_AUTH_AVAIL: {
197- XaceAuthAvailRec rec;
198- rec.client = va_arg(ap, ClientPtr);
199- rec.authId = va_arg(ap, XID);
200- calldata = &rec;
201+ case XACE_AUTH_AVAIL:
202+ u.auth.client = va_arg(ap, ClientPtr);
203+ u.auth.authId = va_arg(ap, XID);
204 break;
205- }
206- case XACE_KEY_AVAIL: {
207- XaceKeyAvailRec rec;
208- rec.event = va_arg(ap, xEventPtr);
209- rec.keybd = va_arg(ap, DeviceIntPtr);
210- rec.count = va_arg(ap, int);
211- calldata = &rec;
212+ case XACE_KEY_AVAIL:
213+ u.key.event = va_arg(ap, xEventPtr);
214+ u.key.keybd = va_arg(ap, DeviceIntPtr);
215+ u.key.count = va_arg(ap, int);
216 break;
217- }
218- default: {
219+ default:
220 va_end(ap);
221 return 0; /* unimplemented hook number */
222- }
223 }
224 va_end(ap);
225
226 /* call callbacks and return result, if any. */
227- CallCallbacks(&XaceHooks[hook], calldata);
228+ CallCallbacks(&XaceHooks[hook], &u);
229 return prv ? *prv : Success;
230 }
231
232--
233cgit 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 7aa487a141..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/fix-newer-xorg-headers.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5---
6 render/glyphstr.h | 1 +
7 1 file changed, 1 insertion(+)
8
9--- xorg-server-1.3.0.0.orig/render/glyphstr.h
10+++ xorg-server-1.3.0.0/render/glyphstr.h
11@@ -23,10 +23,11 @@
12 */
13
14 #ifndef _GLYPHSTR_H_
15 #define _GLYPHSTR_H_
16
17+#include <X11/X.h>
18 #include <X11/extensions/renderproto.h>
19 #include "picture.h"
20 #include "screenint.h"
21 #include "regionstr.h"
22 #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 b946bb5475..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/hide-cursor-and-ppm-root.patch
+++ /dev/null
@@ -1,312 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5Index: xorg-server-1.7.99.2/dix/window.c
6===================================================================
7--- xorg-server-1.7.99.2.orig/dix/window.c 2009-11-04 16:25:50.000000000 +0000
8+++ xorg-server-1.7.99.2/dix/window.c 2010-02-10 17:42:22.719078216 +0000
9@@ -179,6 +179,8 @@
10
11 #define SubStrSend(pWin,pParent) (StrSend(pWin) || SubSend(pParent))
12
13+char* RootPPM = NULL;
14+
15 #ifdef DEBUG
16 /******
17 * PrintWindowTree
18@@ -304,6 +306,115 @@
19 #endif
20 }
21
22+static int
23+get_int(FILE *fp)
24+{
25+ int c = 0;
26+
27+ while ((c = getc(fp)) != EOF)
28+ {
29+ if (isspace(c))
30+ continue;
31+
32+ if (c == '#')
33+ while (c = getc(fp))
34+ if (c == EOF)
35+ return 0;
36+ else if (c == '\n')
37+ break;
38+
39+ if (isdigit(c))
40+ {
41+ int val = c - '0';
42+ while ((c = getc(fp)) && isdigit(c))
43+ val = (val * 10) + (c - '0');
44+ return val;
45+ }
46+ }
47+
48+ return 0;
49+}
50+
51+static unsigned char*
52+ppm_load (const char* path, int depth, int *width, int *height)
53+{
54+ FILE *fp;
55+ int max, n = 0, w, h, i, j, bytes_per_line;
56+ unsigned char *data, *res, h1, h2;
57+
58+ if (depth < 16 || depth > 32)
59+ return NULL;
60+
61+ if (depth > 16)
62+ depth = 32;
63+
64+ fp = fopen (path, "r");
65+ if (fp == NULL)
66+ return FALSE;
67+
68+ h1 = getc(fp);
69+ h2 = getc(fp);
70+
71+ /* magic is 'P6' for raw ppm */
72+ if (h1 != 'P' && h2 != '6')
73+ goto fail;
74+
75+ w = get_int(fp);
76+ h = get_int(fp);
77+
78+ if (w == 0 || h == 0)
79+ goto fail;
80+
81+ max = get_int(fp);
82+
83+ if (max != 255)
84+ goto fail;
85+
86+ bytes_per_line = ((w * depth + 31) >> 5) << 2;
87+
88+ res = data = malloc(bytes_per_line * h);
89+
90+ for (i=0; i<h; i++)
91+ {
92+ for (j=0; j<w; j++)
93+ {
94+ unsigned char buf[3];
95+ fread(buf, 1, 3, fp);
96+
97+ switch (depth)
98+ {
99+ case 24:
100+ case 32:
101+ *data = buf[2];
102+ *(data+1) = buf[1];
103+ *(data+2) = buf[0];
104+ data += 4;
105+ break;
106+ case 16:
107+ default:
108+ *(unsigned short*)data
109+ = ((buf[0] >> 3) << 11) | ((buf[1] >> 2) << 5) | (buf[2] >> 3);
110+ data += 2;
111+ break;
112+ }
113+ }
114+ data += (bytes_per_line - (w*(depth>>3)));
115+ }
116+
117+ data = res;
118+
119+ *width = w;
120+ *height = h;
121+
122+ fclose(fp);
123+
124+ return res;
125+
126+ fail:
127+ fclose(fp);
128+ return NULL;
129+}
130+
131 static void
132 MakeRootTile(WindowPtr pWin)
133 {
134@@ -314,6 +425,36 @@
135 unsigned char *from, *to;
136 int i, j;
137
138+ if (RootPPM != NULL)
139+ {
140+ int w, h;
141+ unsigned char *data;
142+
143+ if ((data = ppm_load (RootPPM, pScreen->rootDepth, &w, &h)) != NULL)
144+ {
145+ pWin->background.pixmap
146+ = (*pScreen->CreatePixmap)(pScreen, w, h, pScreen->rootDepth, 0);
147+
148+ pWin->backgroundState = BackgroundPixmap;
149+ pGC = GetScratchGC(pScreen->rootDepth, pScreen);
150+ if (!pWin->background.pixmap || !pGC)
151+ FatalError("could not create root tile");
152+
153+ ValidateGC((DrawablePtr)pWin->background.pixmap, pGC);
154+
155+ (*pGC->ops->PutImage)((DrawablePtr)pWin->background.pixmap,
156+ pGC,
157+ pScreen->rootDepth,
158+ 0, 0, w, h, 0, ZPixmap, (char *)data);
159+ FreeScratchGC(pGC);
160+
161+ free(data);
162+ return;
163+ }
164+ else
165+ ErrorF("Unable to load root window image.");
166+ }
167+
168 pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4,
169 pScreen->rootDepth, 0);
170
171@@ -530,6 +671,7 @@
172 }
173
174
175+
176 WindowPtr
177 RealChildHead(WindowPtr pWin)
178 {
179Index: xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c
180===================================================================
181--- xorg-server-1.7.99.2.orig/hw/kdrive/src/kdrive.c 2010-02-10 17:36:36.000000000 +0000
182+++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2010-02-10 17:43:07.797828099 +0000
183@@ -60,6 +60,9 @@
184 { 32, 32 }
185 };
186
187+int
188+ProcXFixesHideCursor (ClientPtr client) ;
189+
190 #define NUM_KD_DEPTHS (sizeof (kdDepths) / sizeof (kdDepths[0]))
191
192 #define KD_DEFAULT_BUTTONS 5
193@@ -92,6 +95,9 @@
194
195 KdOsFuncs *kdOsFuncs;
196
197+extern Bool CursorInitiallyHidden; /* See Xfixes cursor.c */
198+extern char* RootPPM; /* dix/window.c */
199+
200 void
201 KdSetRootClip (ScreenPtr pScreen, BOOL enable)
202 {
203@@ -275,6 +281,7 @@
204 KdSetRootClip (pScreen, TRUE);
205 if (pScreenPriv->card->cfuncs->dpms)
206 (*pScreenPriv->card->cfuncs->dpms) (pScreen, pScreenPriv->dpmsState);
207+
208 return TRUE;
209 }
210
211@@ -553,6 +560,8 @@
212 ErrorF("-switchCmd Command to execute on vt switch\n");
213 ErrorF("-zap Terminate server on Ctrl+Alt+Backspace\n");
214 ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
215+ ErrorF("-hide-cursor Start with cursor hidden\n");
216+ ErrorF("-root-ppm [path] Specify ppm file to use as root window background.\n");
217 }
218
219 int
220@@ -616,6 +625,19 @@
221 kdSoftCursor = TRUE;
222 return 1;
223 }
224+ if (!strcmp (argv[i], "-hide-cursor"))
225+ {
226+ CursorInitiallyHidden = TRUE;
227+ return 1;
228+ }
229+ if (!strcmp (argv[i], "-root-ppm"))
230+ {
231+ if ((i+1) < argc)
232+ RootPPM = argv[i+1];
233+ else
234+ UseMsg ();
235+ return 2;
236+ }
237 if (!strcmp (argv[i], "-videoTest"))
238 {
239 kdVideoTest = TRUE;
240Index: xorg-server-1.7.99.2/xfixes/cursor.c
241===================================================================
242--- xorg-server-1.7.99.2.orig/xfixes/cursor.c 2009-12-19 01:43:53.000000000 +0000
243+++ xorg-server-1.7.99.2/xfixes/cursor.c 2010-02-10 17:45:02.089079491 +0000
244@@ -57,6 +57,7 @@
245 static RESTYPE CursorClientType;
246 static RESTYPE CursorHideCountType;
247 static RESTYPE CursorWindowType;
248+static Bool CursorGloballyHidden;
249 static CursorPtr CursorCurrent[MAXDEVICES];
250 static CursorPtr pInvisibleCursor = NULL;
251
252@@ -65,6 +66,8 @@
253
254 static void deleteCursorHideCountsForScreen (ScreenPtr pScreen);
255
256+Bool CursorInitiallyHidden = FALSE;
257+
258 #define VERIFY_CURSOR(pCursor, cursor, client, access) \
259 do { \
260 int err; \
261@@ -150,7 +153,7 @@
262 if (ConnectionInfo)
263 CursorVisible = EnableCursor;
264
265- if (cs->pCursorHideCounts != NULL || !CursorVisible) {
266+ if (cs->pCursorHideCounts != NULL || !CursorVisible || CursorGloballyHidden) {
267 ret = ((*pScreen->RealizeCursor)(pDev, pScreen, pInvisibleCursor) &&
268 (*pScreen->DisplayCursor) (pDev, pScreen, pInvisibleCursor));
269 } else {
270@@ -887,6 +890,12 @@
271 return (ret == BadValue) ? BadWindow : ret;
272 }
273
274+ /* Is cursor set to be initially hidden ?, if so reset this
275+ * flag as now visibility assumed under control of client.
276+ */
277+ if (CursorGloballyHidden)
278+ CursorGloballyHidden = FALSE;
279+
280 /*
281 * Has client hidden the cursor before on this screen?
282 * If so, just increment the count.
283@@ -950,9 +959,19 @@
284 return (rc == BadValue) ? BadWindow : rc;
285 }
286
287+ /* X was started with cursor hidden, therefore just reset our flag
288+ * (returning to normal client control) and cause cursor to now be
289+ * shown.
290+ */
291+ if (CursorGloballyHidden == TRUE)
292+ {
293+ CursorGloballyHidden = FALSE;
294+ return (client->noClientException);
295+ }
296+
297 /*
298 * Has client hidden the cursor on this screen?
299- * If not, generate an error.
300+ * If so, generate an error.
301 */
302 pChc = findCursorHideCount(client, pWin->drawable.pScreen);
303 if (pChc == NULL) {
304@@ -1068,6 +1087,8 @@
305 {
306 int i;
307
308+ CursorGloballyHidden = CursorInitiallyHidden;
309+
310 if (party_like_its_1989)
311 CursorVisible = EnableCursor;
312
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 5d876af9e3..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-evdev.patch
+++ /dev/null
@@ -1,520 +0,0 @@
1# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at
2# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html
3
4Upstream-Status: Pending
5
6Signed-off-by: Yu Ke <ke.yu@intel.com>
7
8diff -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
9--- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200
10+++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200
11@@ -31,9 +31,11 @@
12 #include <X11/X.h>
13 #include <X11/Xproto.h>
14 #include <X11/Xpoll.h>
15+#include <X11/keysym.h>
16 #include "inputstr.h"
17 #include "scrnintstr.h"
18 #include "kdrive.h"
19+#include "kkeymap.h"
20
21 #define NUM_EVENTS 128
22 #define ABS_UNSET -65535
23@@ -105,9 +107,10 @@
24 {
25 KdMouseInfo *mi = closure;
26 Kevdev *ke = mi->driver;
27- int i;
28+ int i, j;
29 struct input_event events[NUM_EVENTS];
30 int n;
31+ int flags;
32
33 n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
34 if (n <= 0)
35@@ -115,22 +118,64 @@
36 n /= sizeof (struct input_event);
37 for (i = 0; i < n; i++)
38 {
39+ flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState;
40 switch (events[i].type) {
41 case EV_SYN:
42 break;
43 case EV_KEY:
44- EvdevMotion (mi);
45- ASSIGNBIT(ke->key,events[i].code, events[i].value);
46- if (events[i].code < 0x100)
47- ErrorF ("key %d %d\n", events[i].code, events[i].value);
48- else
49- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
50+ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) {
51+ switch (events[i].code) {
52+ case BTN_LEFT:
53+ if (events[i].value == 1)
54+ flags |= KD_BUTTON_1;
55+ else
56+ flags &= ~KD_BUTTON_1;
57+ break;
58+ case BTN_MIDDLE:
59+ if (events[i].value == 1)
60+ flags |= KD_BUTTON_2;
61+ else
62+ flags &= ~KD_BUTTON_2;
63+ break;
64+ case BTN_RIGHT:
65+ if (events[i].value == 1)
66+ flags |= KD_BUTTON_3;
67+ else
68+ flags &= ~KD_BUTTON_3;
69+ break;
70+ default:
71+ /* Unknow button */
72+ break;
73+ }
74+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
75+ }
76 break;
77 case EV_REL:
78- ke->rel[events[i].code] += events[i].value;
79+ if (events[i].code == REL_X) {
80+ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0);
81+ }
82+ else if (events[i].code == REL_Y) {
83+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value);
84+ }
85+ else if (events[i].code == REL_WHEEL) {
86+ for (j = 0; j < abs (events[i].value); j++) {
87+ if (events[i].value > 0)
88+ flags |= KD_BUTTON_4;
89+ else
90+ flags |= KD_BUTTON_5;
91+
92+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
93+
94+ if (events[i].value > 0)
95+ flags &= ~KD_BUTTON_4;
96+ else
97+ flags &= ~KD_BUTTON_5;
98+
99+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
100+ } /* events[i].code == REL_WHEEL */
101+ }
102 break;
103 case EV_ABS:
104- ke->abs[events[i].code] = events[i].value;
105 break;
106 }
107 }
108@@ -173,6 +218,12 @@
109 fd = open (kdefaultEvdev[i], 2);
110 if (fd >= 0)
111 {
112+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
113+ {
114+ close (fd);
115+ continue;
116+ }
117+
118 mi->name = KdSaveString (kdefaultEvdev[i]);
119 break;
120 }
121@@ -287,7 +338,319 @@
122 EvdevFini,
123 };
124
125-#if 0
126+/* Keyboard */
127+
128+int kbd_fd = -1;
129+int EvdevInputType = 0;
130+
131+KeySym evdevKeymap[(194 - 1 + 1) * 2] = {
132+/* These are directly mapped from DOS scanset 0 */
133+/* 1 8 */ XK_Escape, NoSymbol,
134+/* 2 9 */ XK_1, XK_exclam,
135+/* 3 10 */ XK_2, XK_at,
136+/* 4 11 */ XK_3, XK_numbersign,
137+/* 5 12 */ XK_4, XK_dollar,
138+/* 6 13 */ XK_5, XK_percent,
139+/* 7 14 */ XK_6, XK_asciicircum,
140+/* 8 15 */ XK_7, XK_ampersand,
141+/* 9 16 */ XK_8, XK_asterisk,
142+/* 10 17 */ XK_9, XK_parenleft,
143+/* 11 18 */ XK_0, XK_parenright,
144+/* 12 19 */ XK_minus, XK_underscore,
145+/* 13 20 */ XK_equal, XK_plus,
146+/* 14 21 */ XK_BackSpace, NoSymbol,
147+/* 15 22 */ XK_Tab, NoSymbol,
148+/* 16 23 */ XK_Q, NoSymbol,
149+/* 17 24 */ XK_W, NoSymbol,
150+/* 18 25 */ XK_E, NoSymbol,
151+/* 19 26 */ XK_R, NoSymbol,
152+/* 20 27 */ XK_T, NoSymbol,
153+/* 21 28 */ XK_Y, NoSymbol,
154+/* 22 29 */ XK_U, NoSymbol,
155+/* 23 30 */ XK_I, NoSymbol,
156+/* 24 31 */ XK_O, NoSymbol,
157+/* 25 32 */ XK_P, NoSymbol,
158+/* 26 33 */ XK_bracketleft, XK_braceleft,
159+/* 27 34 */ XK_bracketright, XK_braceright,
160+/* 28 35 */ XK_Return, NoSymbol,
161+/* 29 36 */ XK_Control_L, NoSymbol,
162+/* 30 37 */ XK_A, NoSymbol,
163+/* 31 38 */ XK_S, NoSymbol,
164+/* 32 39 */ XK_D, NoSymbol,
165+/* 33 40 */ XK_F, NoSymbol,
166+/* 34 41 */ XK_G, NoSymbol,
167+/* 35 42 */ XK_H, NoSymbol,
168+/* 36 43 */ XK_J, NoSymbol,
169+/* 37 44 */ XK_K, NoSymbol,
170+/* 38 45 */ XK_L, NoSymbol,
171+/* 39 46 */ XK_semicolon, XK_colon,
172+/* 40 47 */ XK_apostrophe, XK_quotedbl,
173+/* 41 48 */ XK_grave, XK_asciitilde,
174+/* 42 49 */ XK_Shift_L, NoSymbol,
175+/* 43 50 */ XK_backslash, XK_bar,
176+/* 44 51 */ XK_Z, NoSymbol,
177+/* 45 52 */ XK_X, NoSymbol,
178+/* 46 53 */ XK_C, NoSymbol,
179+/* 47 54 */ XK_V, NoSymbol,
180+/* 48 55 */ XK_B, NoSymbol,
181+/* 49 56 */ XK_N, NoSymbol,
182+/* 50 57 */ XK_M, NoSymbol,
183+/* 51 58 */ XK_comma, XK_less,
184+/* 52 59 */ XK_period, XK_greater,
185+/* 53 60 */ XK_slash, XK_question,
186+/* 54 61 */ XK_Shift_R, NoSymbol,
187+/* 55 62 */ XK_KP_Multiply, NoSymbol,
188+/* 56 63 */ XK_Alt_L, XK_Meta_L,
189+/* 57 64 */ XK_space, NoSymbol,
190+/* 58 65 */ XK_Caps_Lock, NoSymbol,
191+/* 59 66 */ XK_F1, NoSymbol,
192+/* 60 67 */ XK_F2, NoSymbol,
193+/* 61 68 */ XK_F3, NoSymbol,
194+/* 62 69 */ XK_F4, NoSymbol,
195+/* 63 70 */ XK_F5, NoSymbol,
196+/* 64 71 */ XK_F6, NoSymbol,
197+/* 65 72 */ XK_F7, NoSymbol,
198+/* 66 73 */ XK_F8, NoSymbol,
199+/* 67 74 */ XK_F9, NoSymbol,
200+/* 68 75 */ XK_F10, NoSymbol,
201+/* 69 76 */ XK_Break, XK_Pause,
202+/* 70 77 */ XK_Scroll_Lock, NoSymbol,
203+/* 71 78 */ XK_KP_Home, XK_KP_7,
204+/* 72 79 */ XK_KP_Up, XK_KP_8,
205+/* 73 80 */ XK_KP_Page_Up, XK_KP_9,
206+/* 74 81 */ XK_KP_Subtract, NoSymbol,
207+/* 75 82 */ XK_KP_Left, XK_KP_4,
208+/* 76 83 */ XK_KP_5, NoSymbol,
209+/* 77 84 */ XK_KP_Right, XK_KP_6,
210+/* 78 85 */ XK_KP_Add, NoSymbol,
211+/* 79 86 */ XK_KP_End, XK_KP_1,
212+/* 80 87 */ XK_KP_Down, XK_KP_2,
213+/* 81 88 */ XK_KP_Page_Down, XK_KP_3,
214+/* 82 89 */ XK_KP_Insert, XK_KP_0,
215+/* 83 90 */ XK_KP_Delete, XK_KP_Decimal,
216+/* 84 91 */ NoSymbol, NoSymbol,
217+/* 85 92 */ NoSymbol, NoSymbol,
218+/* 86 93 */ NoSymbol, NoSymbol,
219+/* 87 94 */ XK_F11, NoSymbol,
220+/* 88 95 */ XK_F12, NoSymbol,
221+
222+/* These are remapped from the extended set (using ExtendMap) */
223+
224+/* 89 96 */ XK_Control_R, NoSymbol,
225+/* 90 97 */ XK_KP_Enter, NoSymbol,
226+/* 91 98 */ XK_KP_Divide, NoSymbol,
227+/* 92 99 */ XK_Sys_Req, XK_Print,
228+/* 93 100 */ XK_Alt_R, XK_Meta_R,
229+/* 94 101 */ XK_Num_Lock, NoSymbol,
230+/* 95 102 */ XK_Home, NoSymbol,
231+/* 96 103 */ XK_Up, NoSymbol,
232+/* 97 104 */ XK_Page_Up, NoSymbol,
233+/* 98 105 */ XK_Left, NoSymbol,
234+/* 99 106 */ XK_Right, NoSymbol,
235+/* 100 107 */ XK_End, NoSymbol,
236+/* 101 108 */ XK_Down, NoSymbol,
237+/* 102 109 */ XK_Page_Down, NoSymbol,
238+/* 103 110 */ XK_Insert, NoSymbol,
239+/* 104 111 */ XK_Delete, NoSymbol,
240+/* 105 112 */ XK_Super_L, NoSymbol,
241+/* 106 113 */ XK_Super_R, NoSymbol,
242+/* 107 114 */ XK_Menu, NoSymbol,
243+/* 108 115 */ NoSymbol, NoSymbol,
244+/* 109 116 */ NoSymbol, NoSymbol,
245+/* 110 117 */ NoSymbol, NoSymbol,
246+/* 111 118 */ NoSymbol, NoSymbol,
247+/* 112 119 */ NoSymbol, NoSymbol,
248+
249+/* 113 120 */ NoSymbol, NoSymbol,
250+/* 114 121 */ NoSymbol, NoSymbol,
251+/* 115 122 */ NoSymbol, NoSymbol,
252+/* 116 123 */ NoSymbol, NoSymbol,
253+/* 117 124 */ NoSymbol, NoSymbol,
254+/* 118 125 */ NoSymbol, NoSymbol,
255+/* 119 126 */ NoSymbol, NoSymbol,
256+/* 120 127 */ NoSymbol, NoSymbol,
257+/* 121 128 */ NoSymbol, NoSymbol,
258+/* 122 129 */ NoSymbol, NoSymbol,
259+/* 123 130 */ NoSymbol, NoSymbol,
260+/* 124 131 */ NoSymbol, NoSymbol,
261+/* 125 132 */ NoSymbol, NoSymbol,
262+/* 126 133 */ NoSymbol, NoSymbol,
263+/* 127 134 */ NoSymbol, NoSymbol,
264+/* 128 135 */ NoSymbol, NoSymbol,
265+/* 129 136 */ NoSymbol, NoSymbol,
266+/* 130 137 */ NoSymbol, NoSymbol,
267+/* 131 138 */ NoSymbol, NoSymbol,
268+/* 132 139 */ NoSymbol, NoSymbol,
269+/* 133 140 */ NoSymbol, NoSymbol,
270+/* 134 141 */ NoSymbol, NoSymbol,
271+/* 135 142 */ NoSymbol, NoSymbol,
272+/* 136 143 */ NoSymbol, NoSymbol,
273+/* 137 144 */ NoSymbol, NoSymbol,
274+/* 138 145 */ NoSymbol, NoSymbol,
275+/* 139 146 */ NoSymbol, NoSymbol,
276+/* 140 147 */ NoSymbol, NoSymbol,
277+/* 141 148 */ NoSymbol, NoSymbol,
278+/* 142 149 */ NoSymbol, NoSymbol,
279+/* 143 150 */ NoSymbol, NoSymbol,
280+/* 144 151 */ NoSymbol, NoSymbol,
281+/* 145 152 */ NoSymbol, NoSymbol,
282+/* 146 153 */ NoSymbol, NoSymbol,
283+/* 147 154 */ NoSymbol, NoSymbol,
284+/* 148 155 */ NoSymbol, NoSymbol,
285+/* 149 156 */ NoSymbol, NoSymbol,
286+/* 150 157 */ NoSymbol, NoSymbol,
287+/* 151 158 */ NoSymbol, NoSymbol,
288+/* 152 159 */ NoSymbol, NoSymbol,
289+/* 153 160 */ NoSymbol, NoSymbol,
290+/* 154 161 */ NoSymbol, NoSymbol,
291+/* 155 162 */ NoSymbol, NoSymbol,
292+/* 156 163 */ NoSymbol, NoSymbol,
293+/* 157 164 */ NoSymbol, NoSymbol,
294+/* 158 165 */ NoSymbol, NoSymbol,
295+/* 159 166 */ NoSymbol, NoSymbol,
296+/* 160 167 */ NoSymbol, NoSymbol,
297+/* 161 168 */ NoSymbol, NoSymbol,
298+/* 162 169 */ NoSymbol, NoSymbol,
299+/* 163 170 */ NoSymbol, NoSymbol,
300+/* 164 171 */ NoSymbol, NoSymbol,
301+/* 165 172 */ NoSymbol, NoSymbol,
302+/* 166 173 */ NoSymbol, NoSymbol,
303+/* 167 174 */ NoSymbol, NoSymbol,
304+/* 168 175 */ NoSymbol, NoSymbol,
305+/* 169 176 */ NoSymbol, NoSymbol,
306+/* 170 177 */ NoSymbol, NoSymbol,
307+/* 171 178 */ NoSymbol, NoSymbol,
308+/* 172 179 */ NoSymbol, NoSymbol,
309+/* 173 180 */ NoSymbol, NoSymbol,
310+/* 174 181 */ NoSymbol, NoSymbol,
311+/* 175 182 */ NoSymbol, NoSymbol,
312+/* 176 183 */ NoSymbol, NoSymbol,
313+/* 177 184 */ NoSymbol, NoSymbol,
314+/* 178 185 */ NoSymbol, NoSymbol,
315+/* 179 186 */ NoSymbol, NoSymbol,
316+/* 180 187 */ NoSymbol, NoSymbol,
317+/* 181 188 */ NoSymbol, NoSymbol,
318+/* 182 189 */ NoSymbol, NoSymbol,
319+/* 183 190 */ NoSymbol, NoSymbol,
320+/* 184 191 */ NoSymbol, NoSymbol,
321+/* 185 192 */ NoSymbol, NoSymbol,
322+/* 186 193 */ NoSymbol, NoSymbol,
323+/* 187 194 */ NoSymbol, NoSymbol,
324+/* 188 195 */ NoSymbol, NoSymbol,
325+/* 189 196 */ NoSymbol, NoSymbol,
326+/* 190 197 */ NoSymbol, NoSymbol,
327+/* 191 198 */ NoSymbol, NoSymbol,
328+/* 192 199 */ NoSymbol, NoSymbol,
329+/* 193 200 */ NoSymbol, NoSymbol,
330+/* 194 201 */ NoSymbol, NoSymbol,
331+};
332+
333+static void
334+EvdevKbdRead (int fd, void *closure)
335+{
336+ int i, n;
337+ struct input_event events[NUM_EVENTS];
338+
339+ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event));
340+ if (n <= 0)
341+ return;
342+
343+ n /= sizeof (struct input_event);
344+
345+ for (i = 0; i < n; i++)
346+ {
347+ if (events[i].type == EV_KEY)
348+ KdEnqueueKeyboardEvent (events[i].code, !events[i].value);
349+ }
350+}
351+
352+static void
353+EvdevKbdLoad (void)
354+{
355+ kdMinScanCode = 0;
356+ kdMaxScanCode = 193;
357+ kdKeymapWidth = 2;
358+ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap));
359+}
360+
361+static int
362+EvdevKbdInit (void)
363+{
364+ int fd, i;
365+
366+ if (!EvdevInputType)
367+ EvdevInputType = KdAllocInputType ();
368+
369+ if (!kdKeyboard)
370+ {
371+ for (i = 0; i < NUM_DEFAULT_EVDEV; i++)
372+ {
373+ fd = open (kdefaultEvdev[i], 2);
374+ if (fd >= 0)
375+ {
376+ kdKeyboard = KdSaveString (kdefaultEvdev[i]);
377+ break;
378+ }
379+ }
380+ }
381+ else
382+ {
383+ fd = open (kdKeyboard, O_RDWR);
384+ if (fd < 0)
385+ return FALSE;
386+ }
387+
388+ if (ioctl (fd, EVIOCGRAB, 1) < 0)
389+ {
390+ close (fd);
391+ return FALSE;
392+ }
393+
394+ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL))
395+ return FALSE;
396+
397+ kbd_fd = fd;
398+ return TRUE;
399+}
400+
401+static void
402+EvdevKbdFini (void)
403+{
404+}
405+
406+static void
407+EvdevKbdLeds (int leds)
408+{
409+ struct input_event event;
410+
411+ memset(&event, 0, sizeof(event));
412+
413+ event.type = EV_LED;
414+ event.code = LED_CAPSL;
415+ event.value = leds & (1 << 0) ? 1 : 0;
416+ write(kbd_fd, (char *) &event, sizeof(event));
417+
418+ event.type = EV_LED;
419+ event.code = LED_NUML;
420+ event.value = leds & (1 << 1) ? 1 : 0;
421+ write(kbd_fd, (char *) &event, sizeof(event));
422+
423+ event.type = EV_LED;
424+ event.code = LED_SCROLLL;
425+ event.value = leds & (1 << 2) ? 1 : 0;
426+ write(kbd_fd, (char *) &event, sizeof(event));
427+
428+ event.type = EV_LED;
429+ event.code = LED_COMPOSE;
430+ event.value = leds & (1 << 3) ? 1 : 0;
431+ write(kbd_fd, (char *) &event, sizeof(event));
432+}
433+
434+static void
435+EvdevKbdBell (int volume, int frequency, int duration)
436+{
437+}
438+
439 KdKeyboardFuncs LinuxEvdevKeyboardFuncs = {
440 EvdevKbdLoad,
441 EvdevKbdInit,
442@@ -296,4 +659,4 @@
443 EvdevKbdFini,
444 0,
445 };
446-#endif
447+
448diff -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
449--- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200
450+++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200
451@@ -73,6 +73,7 @@
452 Bool kdEnabled;
453 int kdSubpixelOrder;
454 int kdVirtualTerminal = -1;
455+char *kdKeyboard = 0;
456 Bool kdSwitchPending;
457 char *kdSwitchCmd;
458 DDXPointRec kdOrigin;
459@@ -795,6 +796,14 @@
460 UseMsg ();
461 return 2;
462 }
463+ if (!strcmp (argv[i], "-keyboard"))
464+ {
465+ if ((i+1) < argc)
466+ kdKeyboard = argv[i+1];
467+ else
468+ UseMsg ();
469+ return 2;
470+ }
471 if (!strcmp (argv[i], "-rgba"))
472 {
473 if ((i+1) < argc)
474diff -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
475--- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200
476+++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200
477@@ -416,6 +416,7 @@
478 extern Bool kdDisableZaphod;
479 extern Bool kdDontZap;
480 extern int kdVirtualTerminal;
481+extern char *kdKeyboard;
482 extern char *kdSwitchCmd;
483 extern KdOsFuncs *kdOsFuncs;
484
485@@ -769,7 +770,7 @@
486 ProcessInputEvents (void);
487
488 extern KdMouseFuncs LinuxMouseFuncs;
489-extern KdMouseFuncs LinuxEvdevFuncs;
490+extern KdMouseFuncs LinuxEvdevMouseFuncs;
491 extern KdMouseFuncs Ps2MouseFuncs;
492 extern KdMouseFuncs BusMouseFuncs;
493 extern KdMouseFuncs MsMouseFuncs;
494@@ -777,6 +778,7 @@
495 extern KdMouseFuncs TsFuncs;
496 #endif
497 extern KdKeyboardFuncs LinuxKeyboardFuncs;
498+extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs;
499 extern KdOsFuncs LinuxFuncs;
500
501 extern KdMouseFuncs VxWorksMouseFuncs;
502diff -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
503--- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200
504+++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200
505@@ -1300,6 +1300,7 @@
506 xE.u.u.type = KeyPress;
507 xE.u.u.detail = key_code;
508
509+#ifndef XKB
510 switch (KEYCOL1(key_code))
511 {
512 case XK_Num_Lock:
513@@ -1313,6 +1314,7 @@
514 else
515 xE.u.u.type = KeyPress;
516 }
517+#endif
518
519 /*
520 * 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 8a480dc9d9..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/kdrive-use-evdev.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5--- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100
6+++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100
7@@ -28,6 +28,8 @@
8 #endif
9 #include <fbdev.h>
10
11+extern int use_evdev;
12+
13 void
14 InitCard (char *name)
15 {
16@@ -45,7 +47,10 @@
17 void
18 InitInput (int argc, char **argv)
19 {
20- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
21+ if (use_evdev)
22+ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs);
23+ else
24+ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
25 #ifdef TOUCHSCREEN
26 KdAddMouseDriver (&TsFuncs);
27 #endif
28--- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100
29+++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100
30@@ -44,6 +44,8 @@
31 #include "dpmsproc.h"
32 #endif
33
34+int use_evdev = 0;
35+
36 typedef struct _kdDepths {
37 CARD8 depth;
38 CARD8 bpp;
39@@ -687,6 +689,7 @@
40 ErrorF("-videoTest Start the server, pause momentarily and exit\n");
41 ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n");
42 ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n");
43+ ErrorF("-use-evdev Use Linux evdev input\n");
44 ErrorF("-switchCmd Command to execute on vt switch\n");
45 ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n");
46 ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
47@@ -796,6 +799,11 @@
48 UseMsg ();
49 return 2;
50 }
51+ if (!strcmp (argv[i], "-use-evdev"))
52+ {
53+ use_evdev = 1;
54+ return 1;
55+ }
56 if (!strcmp (argv[i], "-keyboard"))
57 {
58 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 00626611ad..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/keyboard-resume-workaround.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5Index: xorg-server-1.4/hw/kdrive/linux/keyboard.c
6===================================================================
7--- xorg-server-1.4.orig/hw/kdrive/linux/keyboard.c 2007-09-29 18:31:15.000000000 +0200
8+++ xorg-server-1.4/hw/kdrive/linux/keyboard.c 2007-09-29 18:33:02.000000000 +0200
9@@ -486,6 +486,8 @@
10 ki->minScanCode = minKeyCode;
11 ki->maxScanCode = maxKeyCode;
12 #endif
13+ ki->minScanCode = 0;
14+ ki->maxScanCode = NR_KEYS;
15 }
16
17 /*
18@@ -743,11 +743,6 @@
19 cfsetispeed(&nTty, 9600);
20 cfsetospeed(&nTty, 9600);
21 tcsetattr(fd, TCSANOW, &nTty);
22- /*
23- * Flush any pending keystrokes
24- */
25- while ((n = read (fd, buf, sizeof (buf))) > 0)
26- ;
27 KdRegisterFd (fd, LinuxKeyboardRead, ki);
28 return Success;
29 }
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 6acb83440c..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/no-serial-probing.patch
+++ /dev/null
@@ -1,17 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5--- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700
6+++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700
7@@ -927,8 +927,10 @@ char *kdefaultMouse[] = {
8 "/dev/psaux",
9 "/dev/input/mice",
10 "/dev/adbmouse",
11+#ifdef BREAK_MY_SERIAL_CONSOLE
12 "/dev/ttyS0",
13 "/dev/ttyS1",
14+#endif
15 };
16
17 #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 37811dbfd1..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/nodolt.patch
+++ /dev/null
@@ -1,16 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5Index: git/configure.ac
6===================================================================
7--- git.orig/configure.ac 2009-01-15 20:35:31.000000000 +0000
8+++ git/configure.ac 2009-01-15 20:35:38.000000000 +0000
9@@ -62,7 +62,6 @@
10 AC_LIBTOOL_WIN32_DLL
11 AC_DISABLE_STATIC
12 AC_PROG_LIBTOOL
13-DOLT
14 AC_PROG_MAKE_SET
15 PKG_PROG_PKG_CONFIG
16 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 af3c16c058..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/optional-xkb.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1Upstream-Status: Pending
2
3Signed-off-by: Yu Ke <ke.yu@intel.com>
4
5Index: xorg-server-1.2.0/Makefile.am
6===================================================================
7--- xorg-server-1.2.0.orig/Makefile.am 2007-01-23 06:39:15.000000000 +0100
8+++ xorg-server-1.2.0/Makefile.am 2007-03-28 20:26:19.000000000 +0200
9@@ -30,6 +30,10 @@
10 XINPUT_DIR=Xi
11 endif
12
13+if XKB
14+XKB_DIR=xkb
15+endif
16+
17 if DBE
18 DBE_DIR=dbe
19 endif
20@@ -46,7 +50,7 @@
21 randr \
22 render \
23 $(XINPUT_DIR) \
24- xkb \
25+ $(XKB_DIR) \
26 $(DBE_DIR) \
27 $(MFB_DIR) \
28 $(AFB_DIR) \
29Index: xorg-server-1.2.0/configure.ac
30===================================================================
31--- xorg-server-1.2.0.orig/configure.ac 2007-01-23 06:39:15.000000000 +0100
32+++ xorg-server-1.2.0/configure.ac 2007-03-28 20:27:13.000000000 +0200
33@@ -428,6 +428,7 @@
34 AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
35 AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes])
36 AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
37+AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes])
38
39 dnl DDXes.
40 AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
41@@ -754,12 +755,15 @@
42
43 AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
44
45-AC_DEFINE(XKB, 1, [Build XKB])
46-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
47-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
48-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
49-XKB_LIB='$(top_builddir)/xkb/libxkb.la'
50-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
51+AM_CONDITIONAL(XKB, [test "x$XKB" = xyes])
52+if test "x$XKB" = xyes; then
53+ AC_DEFINE(XKB, 1, [Build XKB])
54+ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
55+ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
56+ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
57+ XKB_LIB='$(top_builddir)/xkb/libxkb.la'
58+ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
59+fi
60
61 AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
62 [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 c4c2a9fb74..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
+++ /dev/null
@@ -1,113 +0,0 @@
1LICENSE = "MIT"
2DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \
3 scrnsaverproto xineramaproto videoproto xextproto xproto libxau libxext \
4 libxdmcp libxfont libxrandr tslib virtual/libx11 xtrans bigreqsproto \
5 xcmiscproto libdrm openssl"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
8
9PROVIDES = "virtual/xserver"
10PACKAGES =+ "xserver-kdrive-fbdev \
11 xserver-kdrive-sdl \
12 xserver-kdrive-fake \
13 xserver-kdrive-xephyr \
14 xserver-kdrive-epson \
15 xserver-kdrive-ati \
16 xserver-kdrive-chips \
17 xserver-kdrive-i810 \
18 xserver-kdrive-mach64 \
19 xserver-kdrive-mga \
20 xserver-kdrive-neomagic \
21 xserver-kdrive-nvidia \
22 xserver-kdrive-pm2 \
23 xserver-kdrive-r128 \
24 xserver-kdrive-smi \
25 xserver-kdrive-vesa \
26 xserver-kdrive-via \
27 xserver-kdrive-w100 \
28 "
29
30SECTION = "x11/base"
31DESCRIPTION = "X server from freedesktop.org"
32DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
33DESCRIPTION_xserver-kdrive-fake = "Fake X server"
34DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
35DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
36DESCRIPTION_xserver-kdrive-sdl = "X server from freedesktop.org, SDL version"
37DESCRIPTION_xserver-kdrive-w100 = "X server from freedesktop.org, supporting the ATI imageon w100 chipset"
38DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
39DESCRIPTION_xserver-kdrive-chips = "X server from freedesktop.org, supporting Chips chipsets"
40DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting Intel chipsets"
41DESCRIPTION_xserver-kdrive-imageon = "X server from freedesktop.org, supporting the ATI imageon 100 chipset"
42DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting mach64 chipsets"
43DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting mga chipsets"
44DESCRIPTION_xserver-kdrive-neomagic = "X server from freedesktop.org, supporting neomagic chipsets"
45DESCRIPTION_xserver-kdrive-nvidia = "X server from freedesktop.org, supporting nvidia devices"
46DESCRIPTION_xserver-kdrive-pm2 = "X server from freedesktop.org, supporting Permedia2 chipsets"
47DESCRIPTION_xserver-kdrive-r128 = "X server from freedesktop.org, supporting rage128 chipsets"
48DESCRIPTION_xserver-kdrive-smi = "X server from freedesktop.org, supporting Silicon Motion devices"
49DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting any card with a VESA, VGA or even EGA BIOS. x86 hardware only"
50DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA chipsets"
51
52FILES_${PN} += "${libdir}/xserver/SecurityPolicy ${libdir}/xorg"
53FILES_${PN}-doc += "${datadir}/X11/xkb"
54ALLOW_EMPTY_${PN} = "1"
55
56FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
57FILES_xserver-kdrive-fake = "${bindir}/Xfake"
58FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
59FILES_xserver-kdrive-epson = "${bindir}/Xepson"
60FILES_xserver-kdrive-sdl = "${bindir}/Xsdl"
61FILES_xserver-kdrive-w100 = "${bindir}/Xw100"
62FILES_xserver-kdrive-ati = "${bindir}/Xati"
63FILES_xserver-kdrive-chips = "${bindir}/Xchips"
64FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
65FILES_xserver-kdrive-imageon = "${bindir}/Ximageon"
66FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
67FILES_xserver-kdrive-mga = "${bindir}/Xmga"
68FILES_xserver-kdrive-neomagic = "${bindir}/Xneomagic"
69FILES_xserver-kdrive-nvidia = "${bindir}/Xnvidia"
70FILES_xserver-kdrive-pm2 = "${bindir}/Xpm2"
71FILES_xserver-kdrive-r128 = "${bindir}/Xr128"
72FILES_xserver-kdrive-smi = "${bindir}/Xsmi"
73FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
74FILES_xserver-kdrive-via = "${bindir}/Xvia"
75
76RDEPENDS_xserver-kdrive-fbdev = "${PN}"
77RDEPENDS_xserver-kdrive-fake = "${PN}"
78RDEPENDS_xserver-kdrive-xephyr = "${PN}"
79RDEPENDS_xserver-kdrive-epson = "${PN}"
80RDEPENDS_xserver-kdrive-sdl = "${PN}"
81RDEPENDS_xserver-kdrive-w100 = "${PN}"
82RDEPENDS_xserver-kdrive-ati = "${PN}"
83RDEPENDS_xserver-kdrive-chips = "${PN}"
84RDEPENDS_xserver-kdrive-i810 = "${PN}"
85RDEPENDS_xserver-kdrive-mach64 = "${PN}"
86RDEPENDS_xserver-kdrive-mga = "${PN}"
87RDEPENDS_xserver-kdrive-neomagic = "${PN}"
88RDEPENDS_xserver-kdrive-nvidia = "${PN}"
89RDEPENDS_xserver-kdrive-pm2 = "${PN}"
90RDEPENDS_xserver-kdrive-r128 = "${PN}"
91RDEPENDS_xserver-kdrive-smi = "${PN}"
92RDEPENDS_xserver-kdrive-vesa = "${PN}"
93RDEPENDS_xserver-kdrive-via = "${PN}"
94
95inherit autotools pkgconfig
96
97ARM_INSTRUCTION_SET = "arm"
98
99EXTRA_OECONF = "--enable-composite --enable-kdrive \
100 --disable-dga --disable-dri --disable-xinerama \
101 --disable-xf86misc --disable-xf86vidmode \
102 --disable-xorg --disable-xorgcfg \
103 --disable-xkb --disable-xnest --disable-xvfb \
104 --disable-xevie --disable-xprint --disable-xtrap \
105 --disable-dmx \
106 --without-dtrace \
107 --with-default-font-path=built-ins \
108 --enable-tslib --enable-xcalibrate \
109 ac_cv_file__usr_share_X11_sgml_defs_ent=no"
110
111do_configure_prepend() {
112 sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac
113}
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 d90dc250e5..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1require xserver-kdrive.inc
2
3DEPENDS += "libxkbfile libxcalibrate font-util pixman"
4
5RDEPENDS_${PN} += "xkeyboard-config"
6
7EXTRA_OECONF += "--disable-glx"
8
9PE = "1"
10PR = "r30"
11
12SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
13 file://extra-kmodes.patch \
14 file://disable-apm.patch \
15 file://no-serial-probing.patch \
16 file://keyboard-resume-workaround.patch \
17 file://enable-xcalibrate.patch \
18 file://hide-cursor-and-ppm-root.patch \
19 file://fbdev_xrandr_ioctl.patch \
20 file://fix-newer-xorg-headers.patch \
21 file://crosscompile.patch \
22 file://error-address-work-around.patch \
23 file://fix-bogus-stack-variables.patch \
24 file://nodolt.patch"
25# file://kdrive-evdev.patch
26# file://kdrive-use-evdev.patch
27# file://enable-builtin-fonts.patch
28# file://optional-xkb.patch
29
30SRC_URI[md5sum] = "cafc4e2d4ef6cf6e47f3e7dffeb3346a"
31SRC_URI[sha256sum] = "a89f13b166b412930fe418ff50032dd2cde8bb181d8b47b5ca6f848d218fdcf2"
32
33
34S = "${WORKDIR}/xorg-server-${PV}"