Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932826AbbGTOvG (ORCPT ); Mon, 20 Jul 2015 10:51:06 -0400 Received: from mail-wg0-f53.google.com ([74.125.82.53]:33887 "EHLO mail-wg0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932787AbbGTOvD (ORCPT ); Mon, 20 Jul 2015 10:51:03 -0400 Date: Mon, 20 Jul 2015 16:51:00 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Mario Limonciello , Matthew Garrett Cc: Andrew Morton , Len Brown , "platform-driver-x86@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Gabriele Mazzotta , =?utf-8?B?TWljaGHFgiBLxJlwaWXFhA==?= Subject: Re: BUG? Duplicate key code 0xe045 in dell-wmi.c Message-ID: <20150720145100.GI25910@pali> References: <201507041834.03944@pali> <559C1CB1.4040509@dell.com> <20150707211848.GB20901@pali> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20150707211848.GB20901@pali> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3759 Lines: 103 On Tuesday 07 July 2015 23:18:48 Pali Rohár wrote: > On Tuesday 07 July 2015 13:38:41 Mario Limonciello wrote: > > > > > > On 07/04/2015 11:34 AM, Pali Rohár wrote: > > > Hello, > > > > > > I'm looking at dell-wmi.c driver and its history in git and I found > > > problem with handling WMI key code 0xe045. In current dell-wmi.c code is > > > > > > {KE_KEY, 0xe045, KEY_PROG1}, > > > {KE_IGNORE, 0xe045, KEY_NUMLOCK}, > > > > > > I bet this is some copy-paste error as one code can be translated only > > > to one input key event. > > > > > > In git history I found that above change was added by commit: > > > > > > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5cab0098171712a9fd51399b06181c8dfdebe9c9 > > > > > > =============================================== > > > commit 5cab0098171712a9fd51399b06181c8dfdebe9c9 > > > Author: Mario Limonciello > > > Date: Wed Jun 10 19:40:47 2009 +0000 > > > > > > dell-wmi: add additional keyboard events > > > > > > Upcoming Dell hardware will send more keyboard events via WMI. Add > > > support for them. > > > > > > Signed-off-by: Mario Limonciello > > > Signed-off-by: Matthew Garrett > > > Signed-off-by: Andrew Morton > > > Signed-off-by: Len Brown > > > =============================================== > > > > > > Sending email to all signers of this commit. Problematic code is still > > > in upstream kernel, so it needs to be fixed. > > > > > > Mario Limonciello: Do you know if code 0xe045 is some PROG1 or NUMLOCK? > > > > > Hi Pali, > > > > Yes this looks like a mistake and that the KEY_PROG1 item should have > > been removed in that patch. It should be a notification (KEY_IGNORE) > > for numlock. > > > > Thanks, > > Hi, I looked into git history of dell-wmi more deeply... into first > commit of dell-wmi.c source code. It is this one from year 2009: > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0b3f6109f0c9ff926b5ffc80dc1cebb24f192b35 > > Here Matthew Garrett says: > > ... send a generic input event when a button with a picture of a battery > on it is pressed ... > > and adds code: > > +static struct key_entry dell_wmi_keymap[] = { > + {KE_KEY, 0xe045, KEY_PROG1}, > + {KE_END, 0} > +}; > > So basically when "picture of a battery" is pressed WMI send event > 0xe045 which is translated to KEY_PROG1. > > Matthew Garrett is original author of that code and I believe that on > some his machine 0xe045 code from DELL WMI really could be sent when > battery button is pressed. > > Mario, if you as Dell authority says that 0xe045 is sent when numlock is > pressed, it means either code 0xe045 is ambiguous :-( and has different > meaning for different machines or there is error in (your) documentation > or bios... or Matthew cannot differ between picture of battery and > picture of numlock on his dell machine :-) > > Matthew: If you still reading this email thread, do you know for which > Dell machine did you write this dell-wmi.c driver originally? > > Mario: Do you know more about this problem? > > > From function sparse_keymap_setup() called by dell-wmi.c this structure: > > {KE_KEY, 0xe045, KEY_PROG1}, > {KE_IGNORE, 0xe045, KEY_NUMLOCK}, > > is decoded that 0xe045 event is *not* ignored and reports KEY_PROG1 key. > Mario & Matthew: ping -- Pali Rohár pali.rohar@gmail.com -- 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/