Thread (15 messages) 15 messages, 5 authors, 2013-09-07

Re: [GIT] HID for 3.12 merge window

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2013-09-06 23:10:10
Also in: lkml

Possibly related (same subject, not in this thread)

On Sat, Sep 07, 2013 at 12:51:27AM +0200, David Herrmann wrote:
Hi

On Fri, Sep 6, 2013 at 11:59 PM, Markus Trippelsdorf
[off-list ref] wrote:
quoted
On 2013.09.06 at 23:50 +0200, David Herrmann wrote:
quoted
Hi

On Fri, Sep 6, 2013 at 10:20 PM, Markus Trippelsdorf
[off-list ref] wrote:
quoted
On 2013.09.06 at 14:00 +0200, Jiri Kosina wrote:
quoted
David Herrmann (12):
...
quoted
      HID: wiimote: add support for Guitar-Hero drums
 commit 61e00655e9cb82e034eb72b95a51072e718d14a7
 Author: David Herrmann [off-list ref]
 Date:   Mon Aug 26 19:14:46 2013 +0200

     Input: introduce BTN/ABS bits for drums and guitars

The commit above breaks my Logitech mouse. The mouse cursor just sits in
the middle of the screen and doesn't react to movements. dmesg is
normal, but Xorg.0.log says:
Ok, the issue is the kernel assumes ABS_MAX to be a power-of-2 minus 1
(used as mask). That wasn't really obvious to me. Attached is a patch
which should fix that. Could you apply it on top of linus/master and
give it a try?
Your patch fixes the issue. Thanks.
Thanks a lot for reporting+testing!

I am still not sure how to solve the EVIOCSABS thingy. Problem is,
it's defined as:
  #define EVIOCSABS(_abs) ...0xc0 + (_abs)...
But if (_abs > 0x3f) this will be bigger than 0xff. Unfortunately, the
upper part of the ioctl is defined as 'E' which is 0x45 in hex and
thus sets the LSB. That means we cannot extend the _IOC_TYPE field to
the upper region (which would cause endian-issues, anyway). I guess
we're screwed here and need to revert that...

Dmitry, any comment on this? Or am I missing something?
We have gaps below ABS_MT constants, I think for 3.12 you could move
your whammy there and revert ABS_MAX change, but we need to plan for
expanding it in the future.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help