Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751187Ab3IGI5w (ORCPT ); Sat, 7 Sep 2013 04:57:52 -0400 Received: from mail-ie0-f174.google.com ([209.85.223.174]:57560 "EHLO mail-ie0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751072Ab3IGI5t (ORCPT ); Sat, 7 Sep 2013 04:57:49 -0400 MIME-Version: 1.0 In-Reply-To: References: <20130906202022.GA353@x4> <506b9d43-f734-40f9-b137-0749a496fd6d@email.android.com> <20130907032240.GA1256@core.coreip.homeip.net> Date: Sat, 7 Sep 2013 10:57:48 +0200 Message-ID: Subject: Re: [GIT] HID for 3.12 merge window From: David Herrmann To: Benjamin Tissoires Cc: Dmitry Torokhov , Linus Torvalds , Markus Trippelsdorf , Jiri Kosina , linux-kernel , "open list:HID CORE LAYER" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6504 Lines: 162 Hi On Sat, Sep 7, 2013 at 10:24 AM, Benjamin Tissoires wrote: > On Sat, Sep 7, 2013 at 9:31 AM, David Herrmann wrote: >> Hi >> >> On Sat, Sep 7, 2013 at 5:22 AM, Dmitry Torokhov >> wrote: >>> On Fri, Sep 06, 2013 at 06:00:29PM -0700, Linus Torvalds wrote: >>>> On Fri, Sep 6, 2013 at 5:58 PM, Dmitry Torokhov >>>> wrote: >>>> > >>>> > The patch still had problems so I'd revert it and wii bits and try again later. >>>> >>>> Ok. Mind giving me a list of commits, so that I don't have to do a >>>> trial-and-error thing? I know the primary commit that causes problems, >>>> but there are commits that seem to depend on it.. >>> >>> >>> Sorry for the delay. I believe you need to revert: >>> >>> 73f8645 HID: wiimote: add support for Guitar-Hero drums >>> 61e0065 Input: introduce BTN/ABS bits for drums and guitars >>> >>> Hmm... there also was "HID: wiimote: add support for Guitar-Hero >>> guitars" but I do not see it... >> >> The commits to revert are: >> >> commit 61e00655e9cb82e034eb72b95a51072e718d14a7 >> Author: David Herrmann >> Date: Mon Aug 26 19:14:46 2013 +0200 >> >> Input: introduce BTN/ABS bits for drums and guitars >> >> commit 73f8645db1913ab2475ec3c1cee8d5f748963aa7 >> Author: David Herrmann >> Date: Mon Aug 26 19:14:47 2013 +0200 >> >> HID: wiimote: add support for Guitar-Hero drums >> >> commit 8e22ecb603c88b7397ab2e80b7b0811b8a1318f5 >> Author: Nicolas Adenis-Lamarre >> Date: Mon Aug 26 19:14:48 2013 +0200 >> >> HID: wiimote: add support for Guitar-Hero guitars >> >> Last one is not from me, so I guess that's why Dmitry missed it. And >> sorry for the delay, stupid UTC+1.. >> The bug only occurs for multi-touch devices (their ABS_* bits are >>>0x1f), that's why I didn't see it happening during my tests.. >> >> If you didn't revert it, yet, attached (and inlined) is a patch which >> reverts the ABS_MAX change and just moves the new identifiers in >> between the others. On top of 3.12-rc1, this should fix all issues. If >> you already reverted the patches, I guess we will just push it in >> linux-next again and wait for 3.13? >> >> Thanks >> David >> >> (Inlined patch below, also attached to mail as gmail hates long lines) >> >> From 13d549489b4bd2eade719cf2ec8c37724be6e640 Mon Sep 17 00:00:00 2001 >> From: David Herrmann >> Date: Sat, 7 Sep 2013 09:17:11 +0200 >> Subject: [PATCH] Revert/Fix "Input: introduce BTN/ABS bits for drums and >> guitars" >> >> commit 61e00655e9cb82e034eb72b95a51072e718d14a7 >> Author: David Herrmann >> Date: Mon Aug 26 19:14:46 2013 +0200 >> >> Input: introduce BTN/ABS bits for drums and guitars >> >> This introduced several new identifiers for drums/guitar devices. However, >> it also increased ABS_MAX. Unfortunately, 0x3f is already the maximum we >> can use for ABS_MAX due to the limited EVIOCSABS ioctl. >> >> Revert this commit and move the new identifiers somewhere in between. We >> need to figure out some other way to add new identifiers for the future. >> To avoid this happening again, I added a small comment. >> >> This also fixes an issue where xf86-input-evdev failed on EVIOCGABS() due >> to ABS_MAX not being a full mask. >> >> Markus Trippelsdorf >> Signed-off-by: David Herrmann >> --- >> include/linux/mod_devicetable.h | 2 +- >> include/uapi/linux/input.h | 33 ++++++++++++++++++--------------- >> 2 files changed, 19 insertions(+), 16 deletions(-) >> >> diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h >> index 329aa30..45e9214 100644 >> --- a/include/linux/mod_devicetable.h >> +++ b/include/linux/mod_devicetable.h >> @@ -277,7 +277,7 @@ struct pcmcia_device_id { >> #define INPUT_DEVICE_ID_KEY_MIN_INTERESTING 0x71 >> #define INPUT_DEVICE_ID_KEY_MAX 0x2ff >> #define INPUT_DEVICE_ID_REL_MAX 0x0f >> -#define INPUT_DEVICE_ID_ABS_MAX 0x4f >> +#define INPUT_DEVICE_ID_ABS_MAX 0x3f >> #define INPUT_DEVICE_ID_MSC_MAX 0x07 >> #define INPUT_DEVICE_ID_LED_MAX 0x0f >> #define INPUT_DEVICE_ID_SND_MAX 0x07 >> diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h >> index 76457ee..12c33f8 100644 >> --- a/include/uapi/linux/input.h >> +++ b/include/uapi/linux/input.h >> @@ -819,8 +819,24 @@ struct input_keymap_entry { >> >> #define ABS_VOLUME 0x20 >> >> +/* Drums and guitars (mostly toys) */ >> +#define ABS_TOM_FAR_LEFT 0x21 >> +#define ABS_TOM_LEFT 0x22 >> +#define ABS_TOM_RIGHT 0x23 >> +#define ABS_TOM_FAR_RIGHT 0x24 >> +#define ABS_CYMBAL_FAR_LEFT 0x25 >> +#define ABS_CYMBAL_LEFT 0x26 >> +#define ABS_CYMBAL_RIGHT 0x27 >> + >> #define ABS_MISC 0x28 >> >> +/* Drums and guitars continued */ >> +#define ABS_CYMBAL_FAR_RIGHT 0x29 >> +#define ABS_BASS 0x2a >> +#define ABS_HI_HAT 0x2b >> +#define ABS_FRET_BOARD 0x2c /* Guitar fret board, vertical pos */ >> +#define ABS_WHAMMY_BAR 0x2d /* Guitar whammy bar (or vibrato) */ >> + > > I'm not particularly in favor of adding semantic between ABS_MISC and > ABS_MT_SLOT. We already did that once with the ABS_MT_* stuff, and the > problem comes from devices showing several axes, not really mapped > (like joysticks). These axes are all mapped to ABS_MISC, but the input > core function map them to ABS_MISC+N. This way some joysticks show > multitouch axes and are treated as such, whereas the axis are just > regular absolute axes. (not sure I am clear enough... :( ) > > Currently, nothing is done in X or in Wayland to detect these false > multitouch devices with a large number of absolute axes. But if we > keep a hole between ABS_MISC and ABS_MT_SLOT, we could add an > heuristic like: > "if all the axes between ABS_MISC and ABS_MT_SLOT are available, then > ABS_MT_SLOT does not mean multitouch, but ABS_MISC+6." So Xorg just took control over the unused ABS_* slots? Hmm, then I have no other idea than reverting the 3 patches. Sadly, that also means there's no way for us to easily extend the ABS_* bits. If someone has an idea, let me know. But for now I'll just put the drums/guitar patches on hold. Thanks David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/