Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753892Ab3GXPBG (ORCPT ); Wed, 24 Jul 2013 11:01:06 -0400 Received: from mail-lb0-f169.google.com ([209.85.217.169]:59287 "EHLO mail-lb0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751323Ab3GXPBE (ORCPT ); Wed, 24 Jul 2013 11:01:04 -0400 MIME-Version: 1.0 In-Reply-To: <20130719210430.GA31481@polaris.bitmath.org> References: <1373620101-16113-1-git-send-email-benjamin.tissoires@redhat.com> <20130718192416.GA526@polaris.bitmath.org> <20130719210430.GA31481@polaris.bitmath.org> Date: Wed, 24 Jul 2013 17:01:01 +0200 Message-ID: Subject: Re: [PATCH] HID: multitouch: do not init reports for multitouch devices From: Benjamin Tissoires To: Henrik Rydberg Cc: Benjamin Tissoires , Jiri Kosina , Stephane Chatty , linux-input , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2914 Lines: 64 Hi Henrik, On Fri, Jul 19, 2013 at 11:04 PM, wrote: > Hi Benjamin, > >> >> Some multitouch screens do not like to be polled for input reports. >> >> However, the Win8 spec says that all touches should be sent during >> >> each report, making the initialization of reports unnecessary. >> >> The Win7 spec is less precise, but we can safely assume that when >> >> the module is loaded (at boot), no one is touching the screen. >> >> >> >> Add the quirk HID_QUIRK_NO_INIT_REPORTS so that we do not have to >> >> introduce a quirk for each problematic device. >> > >> > I assume you have tested thoroughly for regressions? How about odd >> > eGalax devices, for instance? Changes affecting existing hardware >> > makes me nervous. Is it so bad to add this quirk on a per-device >> > basis? Or perhaps turned on by default for win8 devices only? >> >> Aargh, I forgot the eGalax... (I don't have it anymore on my desk). I >> was pretty confident because Win [7-8] is not doing any quirks for the >> multitouch devices, and I had in mind that it did not asked for the >> reports at startup (at least, I am sure about it for HID/I2C). I'm not >> sure win 8 devices is a sufficient denominator, because this init >> sequence is not mentioned anywhere in the Win 8 spec. It's true that >> we are going to see fewer Win 7 devices, but I would say it's the >> exact same problem for win 7 and 8. Moreover, asking this for Win 8 >> devices only will forces us to detect it in core before hid-multitouch >> is loaded because the init reports is called before the parsing. > > We already branch on report specifics in hid_add_device(). Adding win8 > detection there is more or less what it was built for. right. So I will send a following series to detect win8 multitouch device in core. > >> If I capture the Win 7 & Win 8 initialization events and I observe >> that they do not retrieve the reports, will it be sufficient as a >> guarantee to include this patch even if it is not widely tested under >> Linux? Actually, the current quirk is not imitating Windows behavior. Windows does not retrieve the input reports, but only the feature reports. This scheme is also useful for us as the feature_mapping() callback makes use of the ->value, and if we do not retrieve the feature report, the field is left uninitialized. I will also add an other quirk to retrieve only the features at init. > > We already have the usbhid quirks to handle odd cases, and we can add > all sorts of generic detection during device add, so there really is > no reason to risk regressions at all, is there? Ok, so let's go for another patch series.. :) Cheers, Benjamin -- 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/