xserver-xorg-input-synaptics: Changes to 'debian-experimental'
Rebased ref, commits from common ancestor:
commit 755dc027641a644d8df27b5866528ee142024bb2
Author: Cyril Brulebois <kibi@debian.org>
Date: Sun Jan 1 07:54:54 2012 +0100
Upload to experimental.
diff --git a/debian/changelog b/debian/changelog
index 7e4a2c6..5d7af0f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-xserver-xorg-input-synaptics (1.5.0+git20120101-1) UNRELEASED; urgency=low
+xserver-xorg-input-synaptics (1.5.0+git20120101-1) experimental; urgency=low
* New upstream snapshot:
- Merge from upstream master up to 9f9b55ab55.
* Build against Xserver 1.12 RC1.
- -- Cyril Brulebois <kibi@debian.org> Sun, 01 Jan 2012 07:47:32 +0100
+ -- Cyril Brulebois <kibi@debian.org> Sun, 01 Jan 2012 07:54:51 +0100
xserver-xorg-input-synaptics (1.5.0-2) unstable; urgency=low
commit 54d5ae723a4cfd9ec01b67d3591c9160d2fbe77c
Author: Cyril Brulebois <kibi@debian.org>
Date: Sun Jan 1 07:54:47 2012 +0100
Build against Xserver 1.12 RC1.
diff --git a/debian/changelog b/debian/changelog
index 994839d..7e4a2c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xserver-xorg-input-synaptics (1.5.0+git20120101-1) UNRELEASED; urgency=low
* New upstream snapshot:
- Merge from upstream master up to 9f9b55ab55.
+ * Build against Xserver 1.12 RC1.
-- Cyril Brulebois <kibi@debian.org> Sun, 01 Jan 2012 07:47:32 +0100
diff --git a/debian/control b/debian/control
index 87ddf23..8e65d75 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,7 @@ Build-Depends:
libxi-dev (>= 2:1.2.0),
libxtst-dev,
x11proto-core-dev,
- xserver-xorg-dev (>= 2:1.9.4),
+ xserver-xorg-dev (>= 2:1.11.99.901),
pkg-config,
quilt,
xutils-dev (>= 1:7.5+4)
commit 546d565d605056f9b748966657e9ac9239c8543c
Author: Cyril Brulebois <kibi@debian.org>
Date: Sun Jan 1 07:48:40 2012 +0100
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index 3a4f2f5..483fdf8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,190 @@
-commit 065a0b495d2a7eb76b61f9eec85248aefae4c8ee
+commit 9f9b55ab55ed5251c1607c59d8817231d076d82c
Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Fri Sep 2 16:04:07 2011 +1000
+Date: Mon Dec 12 11:35:37 2011 +1000
- synaptics 1.5.0
+ test: fix build errors introduced by upstream server change
+
+ Introduced by upstream change xorg-server-1.11.99.1-33-g09e4b78,
+ Fix gcc -Wwrite-strings warnings in xf86 ddx
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit b7e65f04f5f0c17ac8a26393134cc7e8418ccdec
+Author: Cyril Brulebois <kibi@debian.org>
+Date: Mon Dec 12 01:35:27 2011 +0100
+
+ Revert: "eventcomm: replace synaptics-custom TEST_BIT with server's BitIsOn."
+
+ This commit reverts 13543b156d78bc4d01a19844a5ee8f283269621b
+
+ As seen in Debian's #648488, this switch causes a regression on
+ PowerPC, especially seen on iBook G4 with appletouch. Take a defensive
+ stance and revert back to a working state until things have been figured
+ out and fixed properly.
+
+ Since things have evolved and since that revert triggers a lot of
+ conflicts, the following method was applied:
+ - manual reintroduction of the 3 removed macros: OFF, LONG, TEST_BIT
+ - coccinelle semantic patch to revert from BitIsOn to TEST_BIT
+
+ Coccinelle semantic patch:
+ @@
+ expression a,b;
+ @@
+ -BitIsOn(a,b)
+ +TEST_BIT(b,a)
+
+ Bugzilla: http://bugs.debian.org/648488
+ Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+commit 0cd5a77c3a455e942929eb4d5412fa51630ed13f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Nov 30 09:59:37 2011 +1000
+
+ If protocol is auto-dev and the device path is set, unset the protocol
+
+ The remainder of the handling code will take try through all protocols,
+ taking the device into account (as of
+ xf86-input-synaptics-1.4.0-34-g241254e)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit d1301412d7b7acd6325f0561c109f2b8e1c7a999
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Nov 30 09:39:12 2011 +1000
+
+ Return true/false from SetDeviceAndProtocol
+
+ Instead of requiring the caller to know which private field indicates
+ failure, just return true on success or false on failure.
+
+ No functional change.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit 2603ad69b997c999404ecc441e0d64ea2cc22018
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Oct 18 15:46:03 2011 +1000
+
+ Use the scroll distances as increment for scrolling valuator axes
+
+ XI2.1 allows an 'increment' for each scrolling variable. Use that instead of
+ hiding it away inside the driver.
+
+ For circular scrolling, the increment is the one of the respective scrolling
+ axis.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 4f46057a33b20df62d919e49a394ab6cb7aa6aa1
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:03:11 2011 +0100
+
+ Scroll: Initial smooth scrolling support
+
+ Post smooth-scrolling events through the new X server API when
+ available, rather than legacy jerky button events.
+
+ [Amended to use the final smooth scrolling API]
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Amendments-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 15bef1f7092d37aeaa916ed7642ae3b6e684660c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Oct 21 16:52:57 2011 +1000
+
+ eventcomm: print strerror(errno), not of rc
+
+ Found by coverity.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Dirk Wallenstein <halsmit@t-online.de>
+
+commit cefc85ad44af340b3d2cad76ec1dc54ceba0558f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Oct 18 15:46:57 2011 +1000
+
+ Fix compiler warning - unused variable 'para'
+
+ synaptics.c: In function 'post_scroll_events':
+ synaptics.c:2426:26: warning: unused variable 'para' [-Wunused-variable]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-commit 3489e2467d43217971f17b9344fc2772cc0f164d
+commit 26831a6eeac6762ad4d99532f62ebbab0827de10
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:03:10 2011 +0100
+
+ Scroll: Prepare ScrollData for smooth scrolling
+
+ Convert ScrollData from up/down/left/right members for button presses,
+ to more fine-grained delta_x and delta_y members, and move these to
+ priv->scroll.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 7c0361d4ec6b1f1325cb6551d0ee2e7f5cfae15b
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:03:05 2011 +0100
+
+ Adjust acceleration scheme for input ABI v14
+
+ v14 wants doubles, rather than floats, from acceleration schemes.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a15af628154ac37f24896a30614f3be6ecdb65c4
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Oct 12 11:20:06 2011 +1000
+
+ test: wrap ABI 14 xf86OptionRec type changes
+
+ ABI 13 still uses pointer as type for most option calls, ABI 14 uses the
+ proper type now. Wrap this so we can build against both versions.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit ba981e223ae4449b08ff972b69220d435a735075
+Author: Casper Dik <casper.dik@oracle.com>
+Date: Fri Sep 2 10:32:50 2011 -0700
+
+ Extra buttons on Acer Ferrari 4000 laptop touchpad are not recognized
+
+ The code was checking for a value of exactly 1, while the Synaptics
+ docs at http://www.synaptics.com/sites/default/files/511-000275-01rA.pdf
+ say:
+
+ Extended Model ID. This query returns the product ID, additional
+ capability bits, and additional bits to widen the infoSensor
+ field. infoSensor is a part of the Model ID query (query $03).
+ The Extended Model ID query is only present if nExtendedQueries
+ is *greater than* or equal to 1.
+
+ Signed-off-by: Casper Dik <casper.dik@oracle.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit bc789cc7a057357e27faf1c6727dc95f6d02fcea
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Sep 5 09:26:56 2011 +1000
+
+ man: note that a PS/2 device is not supported
+
+ If all we see is a PS/2 Mouse or similar, then the kernel doesn't give us
+ the required bits to provide all the functionality we want. Note that in the
+ man-page.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Cyril Brulebois <kibi@debian.org>
+
+commit 7a72af1ce105fd857214bb641a8fa2cfd150a5f7
Author: Alexandr Shadchin <alexandr.shadchin@gmail.com>
Date: Fri Aug 26 18:42:08 2011 +0600
@@ -14,7 +192,278 @@ Date: Fri Aug 26 18:42:08 2011 +0600
Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
- (cherry picked from commit 7a72af1ce105fd857214bb641a8fa2cfd150a5f7)
+
+commit 45d4a6bec01deac5cca6639c55062b110462155f
+Author: Alexandr Shadchin <alexandr.shadchin@gmail.com>
+Date: Fri Aug 26 18:42:07 2011 +0600
+
+ On/Off hooks to return boolean so we can bail out of the caller
+
+ Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2034e1e26497bce815eae0429f7e29faf2d9adaf
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Aug 25 10:58:43 2011 +1000
+
+ Fix compiler warning: unused variable "wakupTime"
+
+ Introduced in 458c7251295e767fae7a0ac3366212361bce25a6
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 4fe1b58c2c6903961a84077363a0c8de5736c650
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:03:09 2011 +0100
+
+ Scroll: Modify ScrollData in repeat_scrollbuttons
+
+ repeat_scrollbuttons used to read the scroll repeat values and then post
+ button events directly. Instead, make it modify ScrollData and let
+ post_scroll_events take care of sending the scroll events, which
+ requires moving the repeat_scrollbuttons call upwards.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit df68486254b38b7f08f7d510ce1b75aaef9e52fd
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 23 15:02:26 2011 +0100
+
+ Scroll: Move coasting variables to priv->scroll
+
+ Also rename (e.g. autoscroll_x -> coast_delta_x, and
+ autoscroll_xspd -> coast_speed_x) variables to clarify things a bit.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit aae994cc0c08e6da270c199af429315a3a2092bf
+Author: Derek Foreman <derek.foreman@collabora.co.uk>
+Date: Fri Jun 3 18:28:59 2011 +0100
+
+ Scroll: Add last_millis to track scroll event timing
+
+ Stopping a little short of having a full scroll history, adding
+ last_millis lets us track when the last scroll event we sent was,
+ for more accurate timing of coasting in particular.
+
+ Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
+ Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit fb7c0c5965b6843f38e9c881f4c349006ec0da32
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 23 13:58:31 2011 +0100
+
+ Scroll: Move scroll_[xya] into new priv->scroll struct
+
+ And rename them to last_x, last_y and last_a respectively, as they're
+ used to store the values as of the last scroll event sent.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 81a8ddb4a768bee3a4b304716fa4cfead49a2761
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:03:08 2011 +0100
+
+ Scroll: Clarify rep_buttons assignment
+
+ Instead of a combined variable declaration with two ternary expressions
+ using raw hex values, expand it to have two genuine if statements,
+ setting with a more clear bitshift.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit f40bbf7494a6122d464e3fff4309f69af2a20e4a
+Author: Derek Foreman <derek.foreman@collabora.co.uk>
+Date: Mon Mar 7 17:49:42 2011 -0500
+
+ Revise palm check logic
+
+ Make the palm-check logic more stable and reliable, and make sure that
+ any palms are blocked for the duration of their presses.
+
+ Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
+ Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 86dfe5086ff672e4d3c354980b999c6f3a27ebec
+Author: Derek Foreman <derek.foreman@collabora.co.uk>
+Date: Wed Mar 23 14:12:36 2011 -0700
+
+ More accurate extrapolated fake motion events
+
+ Use better time estimates so we can provide better fake motion events.
+ This reduces the difference between motion with one and two fingers down
+ to be almost imperceptible, despite the reporting rate being halved on
+ PS/2 devices.
+
+ Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
+ Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit b26125e412a130b7a8f8b6adf9ffc8e9cc8df42c
+Author: Derek Foreman <derek.foreman@collabora.co.uk>
+Date: Wed Mar 2 12:31:58 2011 -0500
+
+ Replace the motion estimator
+
+ Use a smarter motion estimator that attempts to draw a best-fit line
+ through the history where possible, including taking acceleration into
+ account.
+
+ Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
+ Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Simon Thum <simon.thum@gmx.de>
+
+commit ffed18dfffda32de7282e44c5b8d1fb7d5454b54
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 14 17:41:58 2011 +0100
+
+ Update count_packet_finger in store_history, not get_delta
+
+ Seems more sensible to update the count of packets in the history when
+ we update the history, rather than somewhere else entirely.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c8b098214b44cf0585d78c460401ea7d143769f3
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 14 17:24:24 2011 +0100
+
+ Don't store fake events in the motion history
+
+ As the subject says: don't store any synthesised events in the motion
+ history, since we can recreate those algorithmically.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 458c7251295e767fae7a0ac3366212361bce25a6
+Author: Derek Foreman <derek.foreman@collabora.co.uk>
+Date: Thu Mar 31 14:29:43 2011 -0700
+
+ Use hardware time where possible
+
+ Rather than always setting hw->millis as the time when we received the
+ event in our SIGIO handler, use the time provided by the kernel if
+ applicable (i.e. if we're using evdev rather than PS/2 or similar).
+
+ Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
+ Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+
+ [from_timer is in preparation for a future patch, currently unused]
+
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 495e0fe1b7afa9de04ee0341da1ade4d3d4f50b8
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 23 11:19:18 2011 +0100
+
+ Use CARD32 for timestamps
+
+ As GetTimeInMillis() returns a CARD32, switch every timestamp usage to
+ follow.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2ebf984262d6bd471b4b5f1333785865e8d3c25f
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:02:58 2011 +0100
+
+ Introduce POLL_MS for packet frequency
+
+ We expect to be receiving a steady 80 packets/sec (which gives 40
+ reports/sec with more than one finger on the pad, as Advanced Gesture
+ Mode requires two PS/2 packets per report). Instead of a random
+ scattering of magic 13 and 20ms numbers scattered throughout the driver,
+ introduce POLL_MS as 14ms.
+
+ Having this here allows us to call back at a steady frequency to ensure
+ that the finger motion remains steady.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 6d1f8f9886cbd4b3073502f3f37c4dd618971361
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:02:49 2011 +0100
+
+ Give FingerState enums explicit values
+
+ Since we depend so heavily on ordering and numbering, just give all the
+ enum explicit number values.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 0f171af28410f939a915064af9fb9af38118455d
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 9 20:02:52 2011 +0100
+
+ Add HIST_DELTA macro for differences in history
+
+ HIST_DELTA(a, b, e) is equivalent to HIST(a).e - HIST(b).e. Replace the
+ one user of this pattern with a HIST_DELTA call.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a24c44375025576dd600ccf370ba365e5d94dc22
+Author: Derek Foreman <derek.foreman@collabora.co.uk>
+Date: Mon Mar 21 16:01:29 2011 -0700
+
+ Fix pressure->motion property format
+
+ CARD32, not float.
+
+ Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
+ Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 627b09e5bd0726ad31bfeb4f07b8f8287d8ec46f
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 14 17:07:11 2011 +0100
+
+ Properties: Generalise InitTypedAtom from InitAtom
+
+ Add InitTypedAtom, which does exactly the same thing as InitAtom, but
+ takes an additional type argument.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 299a44cd2035e84859b9d6c84854064326f8d124
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Jun 23 10:58:43 2011 +0100
+
+ Bump minimum xorg-server requirement to 1.7
+
+ This means we can also drop support for pre-ABI v7.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 05fb9b5f248aacb121997f02d7a6e7cbbfb5ed1c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Aug 25 09:50:27 2011 +1000
+
+ Bump to 1.5.99
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit f5141b6c663d97f771fc7c86b32d8d43a1a003c0
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 14 17:43:36 2011 +0100
+
+ Shuffle include order around
+
+ Group X protocol/server includes together, and synaptics-internal
+ includes together.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
commit 98e8481cf4911506403b8963fc32c61a74cf679e
Author: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/debian/changelog b/debian/changelog
index 31574b4..994839d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-input-synaptics (1.5.0+git20120101-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot:
+ - Merge from upstream master up to 9f9b55ab55.
+
+ -- Cyril Brulebois <kibi@debian.org> Sun, 01 Jan 2012 07:47:32 +0100
+
xserver-xorg-input-synaptics (1.5.0-2) unstable; urgency=low
* Cherry-pick to fix regression on powerpc (Closes: #649002):
commit 3e9988113562a04d87edc87c93980278c3d2b283
Author: Cyril Brulebois <kibi@debian.org>
Date: Mon Dec 12 13:28:38 2011 +0100
Upload to unstable.
diff --git a/debian/changelog b/debian/changelog
index cade0db..31574b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-input-synaptics (1.5.0-2) UNRELEASED; urgency=low
+xserver-xorg-input-synaptics (1.5.0-2) unstable; urgency=low
* Cherry-pick to fix regression on powerpc (Closes: #649002):
- b7e65f04f: Revert the switch from TEST_BIT to BitIsOn.
- -- Cyril Brulebois <kibi@debian.org> Mon, 12 Dec 2011 13:20:57 +0100
+ -- Cyril Brulebois <kibi@debian.org> Mon, 12 Dec 2011 13:28:36 +0100
xserver-xorg-input-synaptics (1.5.0-1) unstable; urgency=low
commit fe2e9f118d5968a056ebc77e57c20ecb35bacecc
Author: Cyril Brulebois <kibi@debian.org>
Date: Mon Dec 12 13:28:33 2011 +0100
Document the cherry-pick.
diff --git a/debian/changelog b/debian/changelog
index de64e2b..cade0db 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-input-synaptics (1.5.0-2) UNRELEASED; urgency=low
+
+ * Cherry-pick to fix regression on powerpc (Closes: #649002):
+ - b7e65f04f: Revert the switch from TEST_BIT to BitIsOn.
+
+ -- Cyril Brulebois <kibi@debian.org> Mon, 12 Dec 2011 13:20:57 +0100
+
xserver-xorg-input-synaptics (1.5.0-1) unstable; urgency=low
[ Timo Aaltonen ]
commit b0e50d6503ab3e09f6438acd510171c8b87edf5b
Author: Cyril Brulebois <kibi@debian.org>
Date: Mon Dec 12 01:35:27 2011 +0100
Revert: "eventcomm: replace synaptics-custom TEST_BIT with server's BitIsOn."
This commit reverts 13543b156d78bc4d01a19844a5ee8f283269621b
As seen in Debian's #649002, this switch causes a regression on
PowerPC, especially seen on iBook G4 with appletouch. Take a defensive
stance and revert back to a working state until things have been figured
out and fixed properly.
Since things have evolved and since that revert triggers a lot of
conflicts, the following method was applied:
- manual reintroduction of the 3 removed macros: OFF, LONG, TEST_BIT
- coccinelle semantic patch to revert from BitIsOn to TEST_BIT
Coccinelle semantic patch:
@@
expression a,b;
@@
-BitIsOn(a,b)
+TEST_BIT(b,a)
Bugzilla: http://bugs.debian.org/649002
Bugzilla: http://bugs.freedesktop.org/43728
Signed-off-by: Cyril Brulebois <kibi@debian.org>
(cherry picked from commit b7e65f04f5f0c17ac8a26393134cc7e8418ccdec,
with proper references this time)
diff --git a/src/eventcomm.c b/src/eventcomm.c
index 9cabd14..4939958 100644
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -47,6 +47,9 @@
#define LONG_BITS (sizeof(long) * 8)
#define NBITS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
+#define OFF(x) ((x) % LONG_BITS)
+#define LONG(x) ((x) / LONG_BITS)
+#define TEST_BIT(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
/**
* Protocol-specific data.
@@ -119,16 +122,16 @@ event_query_is_touchpad(int fd, BOOL test_grab)
SYSCALL(rc = ioctl(fd, EVIOCGBIT(0, sizeof(evbits)), evbits));
if (rc < 0)
goto unwind;
- if (!BitIsOn(evbits, EV_SYN) ||
- !BitIsOn(evbits, EV_ABS) ||
- !BitIsOn(evbits, EV_KEY))
+ if (!TEST_BIT(EV_SYN, evbits) ||
+ !TEST_BIT(EV_ABS, evbits) ||
+ !TEST_BIT(EV_KEY, evbits))
goto unwind;
SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absbits)), absbits));
if (rc < 0)
goto unwind;
- if (!BitIsOn(absbits, ABS_X) ||
- !BitIsOn(absbits, ABS_Y))
+ if (!TEST_BIT(ABS_X, absbits) ||
+ !TEST_BIT(ABS_Y, absbits))
goto unwind;
SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keybits)), keybits));
@@ -136,12 +139,12 @@ event_query_is_touchpad(int fd, BOOL test_grab)
goto unwind;
/* we expect touchpad either report raw pressure or touches */
- if (!BitIsOn(absbits, ABS_PRESSURE) && !BitIsOn(keybits, BTN_TOUCH))
+ if (!TEST_BIT(ABS_PRESSURE, absbits) && !TEST_BIT(BTN_TOUCH, keybits))
goto unwind;
/* all Synaptics-like touchpad report BTN_TOOL_FINGER */
- if (!BitIsOn(keybits, BTN_TOOL_FINGER))
+ if (!TEST_BIT(BTN_TOOL_FINGER, keybits))
goto unwind;
- if (BitIsOn(keybits, BTN_TOOL_PEN))
+ if (TEST_BIT(BTN_TOOL_PEN, keybits))
goto unwind; /* Don't match wacom tablets */
ret = TRUE;
@@ -266,8 +269,8 @@ event_query_axis_ranges(InputInfoPtr pInfo)
SYSCALL(rc = ioctl(pInfo->fd, EVIOCGBIT(EV_ABS, sizeof(absbits)), absbits));
if (rc >= 0)
{
- priv->has_pressure = (BitIsOn(absbits, ABS_PRESSURE) != 0);
- priv->has_width = (BitIsOn(absbits, ABS_TOOL_WIDTH) != 0);
+ priv->has_pressure = (TEST_BIT(ABS_PRESSURE, absbits) != 0);
+ priv->has_width = (TEST_BIT(ABS_TOOL_WIDTH, absbits) != 0);
}
else
xf86IDrvMsg(pInfo, X_ERROR, "failed to query ABS bits (%s)\n", strerror(errno));
@@ -284,16 +287,16 @@ event_query_axis_ranges(InputInfoPtr pInfo)
SYSCALL(rc = ioctl(pInfo->fd, EVIOCGBIT(EV_KEY, sizeof(keybits)), keybits));
if (rc >= 0)
{
- priv->has_left = (BitIsOn(keybits, BTN_LEFT) != 0);
- priv->has_right = (BitIsOn(keybits, BTN_RIGHT) != 0);
- priv->has_middle = (BitIsOn(keybits, BTN_MIDDLE) != 0);
- priv->has_double = (BitIsOn(keybits, BTN_TOOL_DOUBLETAP) != 0);
- priv->has_triple = (BitIsOn(keybits, BTN_TOOL_TRIPLETAP) != 0);
-
- if ((BitIsOn(keybits, BTN_0) != 0) ||
- (BitIsOn(keybits, BTN_1) != 0) ||
- (BitIsOn(keybits, BTN_2) != 0) ||
- (BitIsOn(keybits, BTN_3) != 0))
+ priv->has_left = (TEST_BIT(BTN_LEFT, keybits) != 0);
+ priv->has_right = (TEST_BIT(BTN_RIGHT, keybits) != 0);
+ priv->has_middle = (TEST_BIT(BTN_MIDDLE, keybits) != 0);
+ priv->has_double = (TEST_BIT(BTN_TOOL_DOUBLETAP, keybits) != 0);
+ priv->has_triple = (TEST_BIT(BTN_TOOL_TRIPLETAP, keybits) != 0);
+
+ if ((TEST_BIT(BTN_0, keybits) != 0) ||
+ (TEST_BIT(BTN_1, keybits) != 0) ||
+ (TEST_BIT(BTN_2, keybits) != 0) ||
+ (TEST_BIT(BTN_3, keybits) != 0))
priv->has_scrollbuttons = 1;
}
commit 9f9b55ab55ed5251c1607c59d8817231d076d82c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Dec 12 11:35:37 2011 +1000
test: fix build errors introduced by upstream server change
Introduced by upstream change xorg-server-1.11.99.1-33-g09e4b78,
Fix gcc -Wwrite-strings warnings in xf86 ddx
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/test/fake-symbols.c b/test/fake-symbols.c
index a312aa0..2d94622 100644
--- a/test/fake-symbols.c
+++ b/test/fake-symbols.c
@@ -44,7 +44,7 @@ xf86ReplaceIntOption(OPTTYPE optlist, const char *name, const int val)
}
_X_EXPORT char *
-xf86SetStrOption(OPTTYPE optlist, const char *name, char *deflt)
+xf86SetStrOption(OPTTYPE optlist, const char *name, CONST char *deflt)
{
return NULL;
}
@@ -60,7 +60,7 @@ xf86AddNewOption(OPTTYPE head, const char *name, const char *val)
{
return NULL;
}
-_X_EXPORT char *
+_X_EXPORT CONST char *
xf86FindOptionValue(OPTTYPE options, const char *name)
{
return NULL;
diff --git a/test/fake-symbols.h b/test/fake-symbols.h
index 7c74f7a..a297d28 100644
--- a/test/fake-symbols.h
+++ b/test/fake-symbols.h
@@ -3,8 +3,10 @@
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 14
#define OPTTYPE XF86OptionPtr
+#define CONST const
#else
#define OPTTYPE pointer
+#define CONST
#endif
extern int xf86ReadSerial (int fd, void *buf, int count);
@@ -17,15 +19,16 @@ extern int xf86SetSerialSpeed (int fd, int speed);
extern OPTTYPE xf86ReplaceIntOption(OPTTYPE optlist, const char *name, const int val);
extern OPTTYPE xf86AddNewOption(OPTTYPE head, const char *name, const char *val);
extern char* xf86OptionName(OPTTYPE opt);
-extern char* xf86FindOptionValue(OPTTYPE options, const char *name);
+extern CONST char* xf86FindOptionValue(OPTTYPE options, const char *name);
extern int xf86NameCmp(const char *s1, const char *s2);
extern char* xf86CheckStrOption(OPTTYPE optlist, const char *name, char *deflt);
-extern char * xf86SetStrOption(OPTTYPE optlist, const char *name, char *deflt);
+extern char * xf86SetStrOption(OPTTYPE optlist, const char *name, CONST char *deflt);
+extern _X_EXPORT char *xf86SetStrOption(XF86OptionPtr optlist, const char *name, const char *deflt);
extern int xf86SetBoolOption(OPTTYPE optlist, const char *name, int deflt);
extern OPTTYPE xf86AddNewOption(OPTTYPE head, const char *name, const char *val);
-extern char* xf86FindOptionValue(OPTTYPE options, const char *name);
+extern CONST char* xf86FindOptionValue(OPTTYPE options, const char *name);
extern char* xf86OptionName(OPTTYPE opt);
extern char *xf86OptionValue(OPTTYPE opt);
extern int xf86NameCmp(const char *s1, const char *s2);
commit b7e65f04f5f0c17ac8a26393134cc7e8418ccdec
Author: Cyril Brulebois <kibi@debian.org>
Date: Mon Dec 12 01:35:27 2011 +0100
Revert: "eventcomm: replace synaptics-custom TEST_BIT with server's BitIsOn."
This commit reverts 13543b156d78bc4d01a19844a5ee8f283269621b
As seen in Debian's #648488, this switch causes a regression on
PowerPC, especially seen on iBook G4 with appletouch. Take a defensive
stance and revert back to a working state until things have been figured
out and fixed properly.
Since things have evolved and since that revert triggers a lot of
conflicts, the following method was applied:
- manual reintroduction of the 3 removed macros: OFF, LONG, TEST_BIT
- coccinelle semantic patch to revert from BitIsOn to TEST_BIT
Coccinelle semantic patch:
@@
expression a,b;
@@
-BitIsOn(a,b)
+TEST_BIT(b,a)
Bugzilla: http://bugs.debian.org/648488
Signed-off-by: Cyril Brulebois <kibi@debian.org>
diff --git a/src/eventcomm.c b/src/eventcomm.c
index cd08f13..40e9bdf 100644
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -47,6 +47,9 @@
#define LONG_BITS (sizeof(long) * 8)
#define NBITS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
+#define OFF(x) ((x) % LONG_BITS)
+#define LONG(x) ((x) / LONG_BITS)
+#define TEST_BIT(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
/**
* Protocol-specific data.
@@ -122,16 +125,16 @@ event_query_is_touchpad(int fd, BOOL test_grab)
SYSCALL(rc = ioctl(fd, EVIOCGBIT(0, sizeof(evbits)), evbits));
if (rc < 0)
goto unwind;
- if (!BitIsOn(evbits, EV_SYN) ||
- !BitIsOn(evbits, EV_ABS) ||
- !BitIsOn(evbits, EV_KEY))
+ if (!TEST_BIT(EV_SYN, evbits) ||
+ !TEST_BIT(EV_ABS, evbits) ||
+ !TEST_BIT(EV_KEY, evbits))
goto unwind;
SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absbits)), absbits));
if (rc < 0)
goto unwind;
- if (!BitIsOn(absbits, ABS_X) ||
- !BitIsOn(absbits, ABS_Y))
+ if (!TEST_BIT(ABS_X, absbits) ||
+ !TEST_BIT(ABS_Y, absbits))
goto unwind;
SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keybits)), keybits));
@@ -139,12 +142,12 @@ event_query_is_touchpad(int fd, BOOL test_grab)
goto unwind;
/* we expect touchpad either report raw pressure or touches */
- if (!BitIsOn(absbits, ABS_PRESSURE) && !BitIsOn(keybits, BTN_TOUCH))
+ if (!TEST_BIT(ABS_PRESSURE, absbits) && !TEST_BIT(BTN_TOUCH, keybits))
goto unwind;
/* all Synaptics-like touchpad report BTN_TOOL_FINGER */
- if (!BitIsOn(keybits, BTN_TOOL_FINGER))
+ if (!TEST_BIT(BTN_TOOL_FINGER, keybits))
goto unwind;
- if (BitIsOn(keybits, BTN_TOOL_PEN))
+ if (TEST_BIT(BTN_TOOL_PEN, keybits))
goto unwind; /* Don't match wacom tablets */
ret = TRUE;
@@ -269,8 +272,8 @@ event_query_axis_ranges(InputInfoPtr pInfo)
SYSCALL(rc = ioctl(pInfo->fd, EVIOCGBIT(EV_ABS, sizeof(absbits)), absbits));
if (rc >= 0)
{
- priv->has_pressure = (BitIsOn(absbits, ABS_PRESSURE) != 0);
- priv->has_width = (BitIsOn(absbits, ABS_TOOL_WIDTH) != 0);
+ priv->has_pressure = (TEST_BIT(ABS_PRESSURE, absbits) != 0);
+ priv->has_width = (TEST_BIT(ABS_TOOL_WIDTH, absbits) != 0);
}
else
xf86IDrvMsg(pInfo, X_ERROR, "failed to query ABS bits (%s)\n", strerror(errno));
@@ -287,16 +290,16 @@ event_query_axis_ranges(InputInfoPtr pInfo)
SYSCALL(rc = ioctl(pInfo->fd, EVIOCGBIT(EV_KEY, sizeof(keybits)), keybits));
if (rc >= 0)
{
- priv->has_left = (BitIsOn(keybits, BTN_LEFT) != 0);
- priv->has_right = (BitIsOn(keybits, BTN_RIGHT) != 0);
- priv->has_middle = (BitIsOn(keybits, BTN_MIDDLE) != 0);
- priv->has_double = (BitIsOn(keybits, BTN_TOOL_DOUBLETAP) != 0);
- priv->has_triple = (BitIsOn(keybits, BTN_TOOL_TRIPLETAP) != 0);
-
- if ((BitIsOn(keybits, BTN_0) != 0) ||
- (BitIsOn(keybits, BTN_1) != 0) ||
- (BitIsOn(keybits, BTN_2) != 0) ||
- (BitIsOn(keybits, BTN_3) != 0))
+ priv->has_left = (TEST_BIT(BTN_LEFT, keybits) != 0);
+ priv->has_right = (TEST_BIT(BTN_RIGHT, keybits) != 0);
+ priv->has_middle = (TEST_BIT(BTN_MIDDLE, keybits) != 0);
+ priv->has_double = (TEST_BIT(BTN_TOOL_DOUBLETAP, keybits) != 0);
+ priv->has_triple = (TEST_BIT(BTN_TOOL_TRIPLETAP, keybits) != 0);
+
+ if ((TEST_BIT(BTN_0, keybits) != 0) ||
+ (TEST_BIT(BTN_1, keybits) != 0) ||
+ (TEST_BIT(BTN_2, keybits) != 0) ||
+ (TEST_BIT(BTN_3, keybits) != 0))
priv->has_scrollbuttons = 1;
}
commit 0cd5a77c3a455e942929eb4d5412fa51630ed13f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Nov 30 09:59:37 2011 +1000
If protocol is auto-dev and the device path is set, unset the protocol
The remainder of the handling code will take try through all protocols,
taking the device into account (as of
xf86-input-synaptics-1.4.0-34-g241254e)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
diff --git a/src/synaptics.c b/src/synaptics.c
index 8fbddc8..9490106 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -274,6 +274,13 @@ SetDeviceAndProtocol(InputInfoPtr pInfo)
proto = xf86SetStrOption(pInfo->options, "Protocol", NULL);
device = xf86SetStrOption(pInfo->options, "Device", NULL);
+
+ /* If proto is auto-dev, unset and let the code do the rest */
+ if (proto && !strcmp(proto, "auto-dev")) {
+ free(proto);
+ proto = NULL;
+ }
+
for (i = 0; protocols[i].name; i++) {
if ((!device || !proto) &&
protocols[i].proto_ops->AutoDevProbe &&
commit d1301412d7b7acd6325f0561c109f2b8e1c7a999
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Nov 30 09:39:12 2011 +1000
Return true/false from SetDeviceAndProtocol
Instead of requiring the caller to know which private field indicates
failure, just return true on success or false on failure.
No functional change.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
diff --git a/src/synaptics.c b/src/synaptics.c
index 1c9b6db..8fbddc8 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -265,7 +265,7 @@ SanitizeDimensions(InputInfoPtr pInfo)
}
}
-static void
+static Bool
SetDeviceAndProtocol(InputInfoPtr pInfo)
{
SynapticsPrivate *priv = pInfo->private;
@@ -286,6 +286,8 @@ SetDeviceAndProtocol(InputInfoPtr pInfo)
free(device);
priv->proto_ops = protocols[i].proto_ops;
+
+ return (priv->proto_ops != NULL);
}
/*
@@ -714,8 +716,7 @@ SynapticsPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
}
/* may change pInfo->options */
- SetDeviceAndProtocol(pInfo);
- if (priv->proto_ops == NULL) {
+ if (!SetDeviceAndProtocol(pInfo)) {
xf86IDrvMsg(pInfo, X_ERROR, "Synaptics driver unable to detect protocol\n");
goto SetupProc_fail;
}
commit c3dce40f89397d632880ea5e54387576efe77170
Author: Cyril Brulebois <kibi@debian.org>
Date: Fri Nov 11 17:15:26 2011 +0100
Upload to unstable.
diff --git a/debian/changelog b/debian/changelog
Reply to: