summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics/xorg-driver
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2019-10-30 12:52:49 +0200
committerKhem Raj <raj.khem@gmail.com>2019-11-01 17:22:52 -0700
commite83d44b5b47be4ca6466fe210bade76b2d60379e (patch)
tree70d50a2fe5a1c4fe2475cdd71cc8a732b91f6d45 /meta-oe/recipes-graphics/xorg-driver
parentad2e934a7af324ccda5b08e230885a831f201ff9 (diff)
downloadmeta-openembedded-e83d44b5b47be4ca6466fe210bade76b2d60379e.tar.gz
xf86-input-tslib: Upgrade 0.0.6 -> 0.0.7
New upstream location. Patches applied upstream removed. Remove obsolete HAL file. COPYING is now clearer on the licensing. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-graphics/xorg-driver')
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi11
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch20
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch31
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch196
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch34
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb35
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb20
7 files changed, 20 insertions, 327 deletions
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
deleted file mode 100644
index 906043947..000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
+++ /dev/null
@@ -1,11 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<deviceinfo version="0.2">
3 <device>
4 <match key="info.capabilities" contains="input.touchpad">
5 <merge key="input.x11_driver" type="string">tslib</merge>
6 </match>
7 <match key="info.capabilities" contains="input.touchscreen">
8 <merge key="input.x11_driver" type="string">tslib</merge>
9 </match>
10 </device>
11</deviceinfo>
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
deleted file mode 100644
index 07754731d..000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code
2causing a double free crash on chvt or exit:
3
4 /* This should *really* be handled in drv->UnInit(dev) call instead, but
5 * if the driver forgets about it make sure we free it or at least crash
6 * with flying colors */
7 if (pInp->private)
8 xfree(pInp->private);
9Index: xf86-input-tslib-0.0.6/src/tslib.c
10===================================================================
11--- xf86-input-tslib-0.0.6.orig/src/tslib.c
12+++ xf86-input-tslib-0.0.6/src/tslib.c
13@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu
14 xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
15 ts_close(priv->ts);
16 xfree(pInfo->private);
17+ pInfo->private = NULL;
18 xf86DeleteInput(pInfo, 0);
19 }
20
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
deleted file mode 100644
index d16b4a53c..000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1Fixes crash when a touchscreen event is received with xserver 1.12 and later:
2X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen
3
4Upstream-Status: Pending
5
6Taken from Gentoo:
7https://bugs.gentoo.org/show_bug.cgi?id=446432
8
9diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c
10--- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100
11+++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100
12@@ -75,6 +75,19 @@
13 #define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
14 #endif
15
16+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13
17+static void
18+xf86XInputSetScreen(InputInfoPtr pInfo,
19+ int screen_number,
20+ int x,
21+ int y)
22+{
23+ if (miPointerGetScreen(pInfo->dev) !=
24+ screenInfo.screens[screen_number]) {
25+ miPointerSetScreen(pInfo->dev, screen_number, x, y);
26+ }
27+}
28+#endif
29
30 enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
31
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
deleted file mode 100644
index 6a6d5b92c..000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
+++ /dev/null
@@ -1,196 +0,0 @@
1Upstream-Status: Pending
2
3Taken from debian:
4http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627075
5
6Index: xf86-input-tslib-trunk/src/tslib.c
7===================================================================
8--- xf86-input-tslib-trunk/src/tslib.c (revision 48)
9+++ xf86-input-tslib-trunk/src/tslib.c (working copy)
10@@ -69,6 +69,13 @@
11 #define DEFAULT_HEIGHT 240
12 #define DEFAULT_WIDTH 320
13
14+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
15+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL)
16+#else
17+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
18+#endif
19+
20+
21 enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
22
23 enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 };
24@@ -106,7 +113,7 @@
25 }
26
27 static Bool
28-ConvertProc( LocalDevicePtr local,
29+ConvertProc( InputInfoPtr local,
30 int first,
31 int num,
32 int v0,
33@@ -135,7 +142,7 @@
34 return t;
35 }
36
37-static void ReadInput (LocalDevicePtr local)
38+static void ReadInput (InputInfoPtr local)
39 {
40 struct ts_priv *priv = (struct ts_priv *) (local->private);
41 struct ts_sample samp;
42@@ -382,7 +389,11 @@
43 axiswidth - 1, /* max val */
44 axiswidth, /* resolution */
45 0, /* min_res */
46- axiswidth); /* max_res */
47+ axiswidth /* max_res */
48+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
49+ ,Absolute
50+#endif
51+ );
52
53 InitValuatorAxisStruct(device, 1,
54 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
55@@ -392,7 +403,11 @@
56 axisheight - 1, /* max val */
57 axisheight, /* resolution */
58 0, /* min_res */
59- axisheight); /* max_res */
60+ axisheight /* max_res */
61+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
62+ ,Absolute
63+#endif
64+ );
65
66 if (InitProximityClassDeviceStruct (device) == FALSE) {
67 ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
68@@ -434,7 +449,7 @@
69 ErrorF("%s\n", __FUNCTION__);
70 xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
71 ts_close(priv->ts);
72- xfree(pInfo->private);
73+ free(pInfo->private);
74 pInfo->private = NULL;
75 xf86DeleteInput(pInfo, 0);
76 }
77@@ -444,47 +459,57 @@
78 *
79 * called when the module subsection is found in XF86Config
80 */
81+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
82+static int
83+xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
84+#else
85 static InputInfoPtr
86 xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags)
87+#endif
88 {
89 struct ts_priv *priv;
90 char *s;
91+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
92 InputInfoPtr pInfo;
93+#endif
94
95- priv = xcalloc (1, sizeof (struct ts_priv));
96+ priv = calloc (1, sizeof (struct ts_priv));
97 if (!priv)
98- return NULL;
99+ return BadValue;
100
101+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
102 if (!(pInfo = xf86AllocateInput(drv, 0))) {
103- xfree(priv);
104- return NULL;
105+ free(priv);
106+ return BadValue;
107 }
108
109 /* Initialise the InputInfoRec. */
110 pInfo->name = dev->identifier;
111- pInfo->type_name = XI_TOUCHSCREEN;
112 pInfo->flags =
113 XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE |
114 XI86_SEND_DRAG_EVENTS;
115- pInfo->device_control = xf86TslibControlProc;
116- pInfo->read_input = ReadInput;
117 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
118 pInfo->motion_history_proc = xf86GetMotionEvents;
119 pInfo->history_size = 0;
120 #endif
121- pInfo->control_proc = NULL;
122+ pInfo->conf_idev = dev;
123 pInfo->close_proc = NULL;
124- pInfo->switch_mode = NULL;
125 pInfo->conversion_proc = ConvertProc;
126 pInfo->reverse_conversion_proc = NULL;
127- pInfo->dev = NULL;
128 pInfo->private_flags = 0;
129 pInfo->always_core_feedback = 0;
130- pInfo->conf_idev = dev;
131+#endif
132+
133+ pInfo->type_name = XI_TOUCHSCREEN;
134+ pInfo->control_proc = NULL;
135+ pInfo->read_input = ReadInput;
136+ pInfo->device_control = xf86TslibControlProc;
137+ pInfo->switch_mode = NULL;
138 pInfo->private = priv;
139+ pInfo->dev = NULL;
140
141 /* Collect the options, and process the common options. */
142- xf86CollectInputOptions(pInfo, NULL, NULL);
143+ COLLECT_INPUT_OPTIONS(pInfo, NULL);
144 xf86ProcessCommonOptions(pInfo, pInfo->options);
145
146 priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
147@@ -510,23 +535,31 @@
148 priv->rotate = TSLIB_ROTATE_NONE;
149 }
150
151+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
152 s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
153+#else
154+ s = xf86CheckStrOption(pInfo->options, "path", NULL);
155+#endif
156 if (!s)
157+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
158 s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
159+#else
160+ s = xf86CheckStrOption(pInfo->options, "Device", NULL);
161+#endif
162
163 priv->ts = ts_open(s, 1);
164- xfree(s);
165+ free(s);
166
167 if (!priv->ts) {
168 ErrorF("ts_open failed (device=%s)\n",s);
169 xf86DeleteInput(pInfo, 0);
170- return NULL;
171+ return BadValue;
172 }
173
174 if (ts_config(priv->ts)) {
175 ErrorF("ts_config failed\n");
176 xf86DeleteInput(pInfo, 0);
177- return NULL;
178+ return BadValue;
179 }
180
181 pInfo->fd = ts_fd(priv->ts);
182@@ -536,11 +569,13 @@
183 priv->state = BUTTON_EMULATION_OFF;
184 }
185
186+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
187 /* Mark the device configured */
188 pInfo->flags |= XI86_CONFIGURED;
189+#endif
190
191 /* Return the configured device */
192- return (pInfo);
193+ return Success;
194 }
195
196 _X_EXPORT InputDriverRec TSLIB = {
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
deleted file mode 100644
index a1f6ba8f9..000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From Grazvydas Ignotas
2
3At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib:
4
5Program received signal SIGSEGV, Segmentation fault.
6#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122
7#1 0x00062fa8 in Dispatch () at dispatch.c:439
8#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285
9
10This happens because ptrfeed field is not set in device structure from tslib.
11To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers).
12
13---
14diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c
15--- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200
16+++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200
17@@ -103,8 +103,6 @@
18 static void
19 PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl)
20 {
21- ErrorF("%s\n", __FUNCTION__);
22- return;
23 }
24
25 static Bool
26@@ -406,6 +404,8 @@
27 xf86MotionHistoryAllocate(pInfo);
28 #endif
29
30+ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc))
31+ return !Success;
32 break;
33
34 case DEVICE_ON:
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
deleted file mode 100644
index 6a3689a2e..000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
1require recipes-graphics/xorg-driver/xorg-driver-input.inc
2SUMMARY = "X.Org X server -- tslib input driver"
3DEPENDS += "tslib"
4RRECOMMENDS_${PN} += "tslib-calibrate"
5RSUGGESTS_${PN} += "hal"
6
7# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING
8LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \
9 file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
10
11PR = "${INC_PR}.1"
12
13SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
14 file://double-free-crash.patch \
15 file://10-x11-input-tslib.fdi \
16 file://xserver-174-XGetPointerControl.patch \
17 file://99-xf86-input-tslib.rules \
18 file://xf86-input-tslib-port-ABI-12-r48.patch \
19 file://xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch \
20"
21
22SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f"
23SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105"
24
25do_configure_prepend() {
26 rm -rf ${S}/m4/ || true
27}
28do_install_append() {
29 install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
30 install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
31 install -d ${D}${nonarch_base_libdir}/udev/rules.d
32 install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
33}
34
35FILES_${PN} += "${datadir}/hal ${nonarch_base_libdir}/udev"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
new file mode 100644
index 000000000..1f63047c7
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
@@ -0,0 +1,20 @@
1require recipes-graphics/xorg-driver/xorg-driver-input.inc
2SUMMARY = "X.Org X server -- tslib input driver"
3DEPENDS += "tslib"
4RRECOMMENDS_${PN} += "tslib-calibrate"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
7
8SRC_URI = "https://github.com/merge/xf86-input-tslib/releases/download/${PV}/xf86-input-tslib-${PV}.tar.xz \
9 file://99-xf86-input-tslib.rules \
10"
11
12SRC_URI[md5sum] = "c5ffb03bccccfa1c4ba11079fef0036e"
13SRC_URI[sha256sum] = "1439a9efa50eb481e6a0ab5319ab0765d457732e7da64e3c15f3c0cd13b44297"
14
15do_install_append() {
16 install -d ${D}${nonarch_base_libdir}/udev/rules.d
17 install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
18}
19
20FILES_${PN} += "${nonarch_base_libdir}/udev"