From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9650C4727F for ; Tue, 6 Oct 2020 13:04:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7B5D62083B for ; Tue, 6 Oct 2020 13:04:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726182AbgJFNEe (ORCPT ); Tue, 6 Oct 2020 09:04:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725891AbgJFNEd (ORCPT ); Tue, 6 Oct 2020 09:04:33 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A849C061755; Tue, 6 Oct 2020 06:04:33 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: andrzej.p) with ESMTPSA id 7ECB0299E5B Subject: Re: [PATCH v4 7/7] Input: Add "inhibited" property To: Dmitry Torokhov Cc: linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-input@vger.kernel.org, linux-tegra@vger.kernel.org, patches@opensource.cirrus.com, ibm-acpi-devel@lists.sourceforge.net, platform-driver-x86@vger.kernel.org, "Rafael J . Wysocki" , Len Brown , Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Kukjin Kim , Krzysztof Kozlowski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Vladimir Zapolskiy , Sylvain Lemieux , Laxman Dewangan , Thierry Reding , Jonathan Hunter , Barry Song , Michael Hennerich , Nick Dyer , Hans de Goede , Ferruh Yigit , Sangwon Jee , Peter Hutterer , Henrique de Moraes Holschuh , kernel@collabora.com, Patrik Fimml References: <2336e15d-ff4b-bbb6-c701-dbf3aa110fcd@redhat.com> <20200608112211.12125-1-andrzej.p@collabora.com> <20200608112211.12125-8-andrzej.p@collabora.com> <20201005181014.GL1009802@dtor-ws> From: Andrzej Pietrasiewicz Message-ID: Date: Tue, 6 Oct 2020 15:04:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201005181014.GL1009802@dtor-ws> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Hi Dmitry, W dniu 05.10.2020 o 20:10, Dmitry Torokhov pisze: > Hi Andrzej, > > On Mon, Jun 08, 2020 at 01:22:11PM +0200, Andrzej Pietrasiewicz wrote: >> @@ -284,8 +284,11 @@ static int input_get_disposition(struct input_dev *dev, >> case EV_KEY: >> if (is_event_supported(code, dev->keybit, KEY_MAX)) { >> >> - /* auto-repeat bypasses state updates */ >> - if (value == 2) { >> + /* >> + * auto-repeat bypasses state updates but repeat >> + * events are ignored if the key is not pressed >> + */ >> + if (value == 2 && test_bit(code, dev->key)) { >> disposition = INPUT_PASS_TO_HANDLERS; >> break; >> } > > Is this chunk really part of inhibit support? I'd think we cancel > autorepeat timer when we are releasing a key, no? > When I look at it now it seems to me the chunk might be redundant. But let me explain what I had in mind when adding it. It is a matter of what we do with input events generated while a device is inhibited. If ->open()/->close() are not provided by the driver then inhibiting amounts to merely ignoring input events from a device while it remains active. What else can you do if the driver does not provide a method to prepare the device for generating events/ to stop generating events? In this special case a user might trigger a repeated event while the device is inhibited, then the user keeps holding the key down and the device is uninhibited. Do we pass anything to handlers then? In my opinion we should not. Such an event is "illegal" in a sense that it was generated at a time when nobody wanted any events from the device. Hence the test to let only those auto-repeat events through for which a key is actually pressed. However, what I see now is that if a device is inhibited, no key will ever reach neither the "1" nor "2" state because of the "if" in the very beginning of input_handle_event(). Regards, Andrzej From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1733BC4727E for ; Tue, 6 Oct 2020 13:05:55 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 97586208B8 for ; Tue, 6 Oct 2020 13:05:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="UFdV7NK3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 97586208B8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=0/X16rMAguRUcdgUpu+gLMWOvbhZmHkZDrIkkBUISds=; b=UFdV7NK3tyhIdwu1dtaeO9IRq iZm+JuCYo3YY1MQdSsiPMVjfqqlTw1vr4DKvDGaL5PivHWjuuzCakATNvmLl/Vx+NGYc0Tz/Du6+W YQ1xOM/anLed+T07EPYezI3e7l2w/druxxzu6Mo0HISCr9hHyhi/1fa4PcnT4SNWrPoCuj10LcbPO 7uQRq5VbGiUVZadAp41h732D2Fn0/5nMSmjn4B7iPTbVrt4oP7VpW5ayh6rlWixuoc0FSPBsu6S1R wT9IcmB7y1u1LS0S4dFrgKYOwcZ2/U3dbjPDRFRlDCbgll+OemrZvA/Z7wJn11yW92+vVl5mSYBit SBIGawGRg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kPmdx-0005t2-Vb; Tue, 06 Oct 2020 13:04:38 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kPmdu-0005rV-AW for linux-arm-kernel@lists.infradead.org; Tue, 06 Oct 2020 13:04:35 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: andrzej.p) with ESMTPSA id 7ECB0299E5B Subject: Re: [PATCH v4 7/7] Input: Add "inhibited" property To: Dmitry Torokhov References: <2336e15d-ff4b-bbb6-c701-dbf3aa110fcd@redhat.com> <20200608112211.12125-1-andrzej.p@collabora.com> <20200608112211.12125-8-andrzej.p@collabora.com> <20201005181014.GL1009802@dtor-ws> From: Andrzej Pietrasiewicz Message-ID: Date: Tue, 6 Oct 2020 15:04:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201005181014.GL1009802@dtor-ws> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201006_090434_450906_A37D4D7D X-CRM114-Status: GOOD ( 23.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel@collabora.com, Nick Dyer , linux-iio@vger.kernel.org, platform-driver-x86@vger.kernel.org, ibm-acpi-devel@lists.sourceforge.net, Laxman Dewangan , Peter Meerwald-Stadler , Peter Hutterer , Fabio Estevam , linux-samsung-soc@vger.kernel.org, Krzysztof Kozlowski , Jonathan Hunter , linux-acpi@vger.kernel.org, Kukjin Kim , NXP Linux Team , linux-input@vger.kernel.org, Len Brown , Michael Hennerich , linux-pm@vger.kernel.org, Sascha Hauer , Sylvain Lemieux , Henrique de Moraes Holschuh , Vladimir Zapolskiy , Hans de Goede , Lars-Peter Clausen , linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Barry Song , Ferruh Yigit , Patrik Fimml , patches@opensource.cirrus.com, "Rafael J . Wysocki" , linux-kernel@vger.kernel.org, Thierry Reding , Sangwon Jee , Pengutronix Kernel Team , Hartmut Knaack , Shawn Guo , Jonathan Cameron Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgRG1pdHJ5LAoKVyBkbml1IDA1LjEwLjIwMjAgb8KgMjA6MTAsIERtaXRyeSBUb3Jva2hvdiBw aXN6ZToKPiBIaSBBbmRyemVqLAo+IAo+IE9uIE1vbiwgSnVuIDA4LCAyMDIwIGF0IDAxOjIyOjEx UE0gKzAyMDAsIEFuZHJ6ZWogUGlldHJhc2lld2ljeiB3cm90ZToKPj4gQEAgLTI4NCw4ICsyODQs MTEgQEAgc3RhdGljIGludCBpbnB1dF9nZXRfZGlzcG9zaXRpb24oc3RydWN0IGlucHV0X2RldiAq ZGV2LAo+PiAgIAljYXNlIEVWX0tFWToKPj4gICAJCWlmIChpc19ldmVudF9zdXBwb3J0ZWQoY29k ZSwgZGV2LT5rZXliaXQsIEtFWV9NQVgpKSB7Cj4+ICAgCj4+IC0JCQkvKiBhdXRvLXJlcGVhdCBi eXBhc3NlcyBzdGF0ZSB1cGRhdGVzICovCj4+IC0JCQlpZiAodmFsdWUgPT0gMikgewo+PiArCQkJ LyoKPj4gKwkJCSAqIGF1dG8tcmVwZWF0IGJ5cGFzc2VzIHN0YXRlIHVwZGF0ZXMgYnV0IHJlcGVh dAo+PiArCQkJICogZXZlbnRzIGFyZSBpZ25vcmVkIGlmIHRoZSBrZXkgaXMgbm90IHByZXNzZWQK Pj4gKwkJCSAqLwo+PiArCQkJaWYgKHZhbHVlID09IDIgJiYgdGVzdF9iaXQoY29kZSwgZGV2LT5r ZXkpKSB7Cj4+ICAgCQkJCWRpc3Bvc2l0aW9uID0gSU5QVVRfUEFTU19UT19IQU5ETEVSUzsKPj4g ICAJCQkJYnJlYWs7Cj4+ICAgCQkJfQo+IAo+IElzIHRoaXMgY2h1bmsgcmVhbGx5IHBhcnQgb2Yg aW5oaWJpdCBzdXBwb3J0PyBJJ2QgdGhpbmsgd2UgY2FuY2VsCj4gYXV0b3JlcGVhdCB0aW1lciB3 aGVuIHdlIGFyZSByZWxlYXNpbmcgYSBrZXksIG5vPwo+IAoKV2hlbiBJIGxvb2sgYXQgaXQgbm93 IGl0IHNlZW1zIHRvIG1lIHRoZSBjaHVuayBtaWdodCBiZSByZWR1bmRhbnQuCkJ1dCBsZXQgbWUg ZXhwbGFpbiB3aGF0IEkgaGFkIGluIG1pbmQgd2hlbiBhZGRpbmcgaXQuCgpJdCBpcyBhIG1hdHRl ciBvZiB3aGF0IHdlIGRvIHdpdGggaW5wdXQgZXZlbnRzIGdlbmVyYXRlZCB3aGlsZSBhCmRldmlj ZSBpcyBpbmhpYml0ZWQuIElmIC0+b3BlbigpLy0+Y2xvc2UoKSBhcmUgbm90IHByb3ZpZGVkIGJ5 IHRoZQpkcml2ZXIgdGhlbiBpbmhpYml0aW5nIGFtb3VudHMgdG8gbWVyZWx5IGlnbm9yaW5nIGlu cHV0IGV2ZW50cyBmcm9tCmEgZGV2aWNlIHdoaWxlIGl0IHJlbWFpbnMgYWN0aXZlLiBXaGF0IGVs c2UgY2FuIHlvdSBkbyBpZiB0aGUgZHJpdmVyCmRvZXMgbm90IHByb3ZpZGUgYSBtZXRob2QgdG8g cHJlcGFyZSB0aGUgZGV2aWNlIGZvciBnZW5lcmF0aW5nIGV2ZW50cy8KdG8gc3RvcCBnZW5lcmF0 aW5nIGV2ZW50cz8KCkluIHRoaXMgc3BlY2lhbCBjYXNlIGEgdXNlciBtaWdodCB0cmlnZ2VyIGEg cmVwZWF0ZWQgZXZlbnQgd2hpbGUgdGhlCmRldmljZSBpcyBpbmhpYml0ZWQsIHRoZW4gdGhlIHVz ZXIga2VlcHMgaG9sZGluZyB0aGUga2V5IGRvd24gYW5kIHRoZQpkZXZpY2UgaXMgdW5pbmhpYml0 ZWQuIERvIHdlIHBhc3MgYW55dGhpbmcgdG8gaGFuZGxlcnMgdGhlbj8KCkluIG15IG9waW5pb24g d2Ugc2hvdWxkIG5vdC4gU3VjaCBhbiBldmVudCBpcyAiaWxsZWdhbCIgaW4gYSBzZW5zZSB0aGF0 IGl0CndhcyBnZW5lcmF0ZWQgYXQgYSB0aW1lIHdoZW4gbm9ib2R5IHdhbnRlZCBhbnkgZXZlbnRz IGZyb20gdGhlIGRldmljZS4KSGVuY2UgdGhlIHRlc3QgdG8gbGV0IG9ubHkgdGhvc2UgYXV0by1y ZXBlYXQgZXZlbnRzIHRocm91Z2ggZm9yIHdoaWNoCmEga2V5IGlzIGFjdHVhbGx5IHByZXNzZWQu CgpIb3dldmVyLCB3aGF0IEkgc2VlIG5vdyBpcyB0aGF0IGlmIGEgZGV2aWNlIGlzIGluaGliaXRl ZCwgbm8ga2V5CndpbGwgZXZlciByZWFjaCBuZWl0aGVyIHRoZSAiMSIgbm9yICIyIiBzdGF0ZSBi ZWNhdXNlIG9mIHRoZSAiaWYiCmluIHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiBpbnB1dF9oYW5kbGVf ZXZlbnQoKS4KClJlZ2FyZHMsCgpBbmRyemVqCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==