Received: by 10.223.176.5 with SMTP id f5csp778300wra; Fri, 9 Feb 2018 07:05:17 -0800 (PST) X-Google-Smtp-Source: AH8x224ZXpEcnWu4mplE0SH1xn3RwbjWrqddIPe9KtmZsOQ5tJMtSE2meP8UCyiLmUfyX5xMVnlE X-Received: by 2002:a17:902:2823:: with SMTP id e32-v6mr2892501plb.44.1518188717404; Fri, 09 Feb 2018 07:05:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518188717; cv=none; d=google.com; s=arc-20160816; b=nJpaS0Po6sTJEhwqQjMxPbusvCX/4AZRHpV/pkhTPLiYI2cheRBbehpp6MTmk2jJSf 2AlHfuzTrBgxXmjtDo7ooWqPxoHQdHqVl0GEoKQfyHKnI97I8u5p6CcrdsPPeiUO2lkk AuFkXoYAhIapHV4YeLaqZbLFXCi24f1OePWNAWAEnXftqKshzjyUn5GcwcMkav5e8RIw sywm0HZG4y7Lmb9zFuiZZFhI9EwZTynhTLY04nuXvYvtQc2LdMj60a0MiJ3SzLLu+j/P pLaD26SKVG1m9vOtXXmL+mB07jZonqhwd9SqsGwrK6PKTMp7CfCWBx2IbJ2LYmFJdwIT FQpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=ysRx6sK941MISEW19RNANLKTUh28TEmCSo/sBE3n+MM=; b=a5eitWXXYI+ifqj/PPky7DrfIcWEb4wJC4DgNiPc3JxxY37wNngQil1GHWMfptjH9v 9ZJP6ykX6JvgwyXiSPepc/1b2fcPxjgTXqEfxWTSODGteAXRxAD8SEFh7BK/HNomF7aH sYt6RbQjADtdmxQk8qIY7DFyZscIIU2gnuCZvJLlIc7UwnNpGBldcTd7PHwOlOzwqcfd 1yj60zMnycECuwvDt5sZ98KRzlMl4K/DaSdsIUq+KbDMDimiGVdiHqv5Wrq9V6q8ObLP ZCkoSqzI0EW3ebQK3sdUZIylus5GId4aN3tES/FJlGTN3ITtcdfRmf4xWrBJ6jACHiBL AlhA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Yzoh5g6c; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m10-v6si1649990plt.185.2018.02.09.07.05.00; Fri, 09 Feb 2018 07:05:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Yzoh5g6c; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752406AbeBIPD6 (ORCPT + 99 others); Fri, 9 Feb 2018 10:03:58 -0500 Received: from mail-qk0-f195.google.com ([209.85.220.195]:34214 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752302AbeBIPDz (ORCPT ); Fri, 9 Feb 2018 10:03:55 -0500 Received: by mail-qk0-f195.google.com with SMTP id m130so10315539qke.1; Fri, 09 Feb 2018 07:03:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ysRx6sK941MISEW19RNANLKTUh28TEmCSo/sBE3n+MM=; b=Yzoh5g6cm3tk/vby0DeEECK5pNznuRs8jcdEa2k2ZXgOtApIiNboDD39gyZTSmxSgV uyIlX3kWpk4q7VBjIz+685ldQNL5R4gZssV1aHPHXYhmNgtsNA+YDArD+ZBoTZmPK7AJ nlaNOUkiZwUlXslau3aFW63jhRtkPzsiQJsn9BDGtgewxKVb6qpKo6dcpLkCBmq+yz5A hsXjrBYflhzcbIvHCRBNPy4L2iC0aKdQd8gxo59MyTE5tywy8GMQvWdXlbr0vGuqoRi+ MM08hNBDhVwxx0hxOh9U3G1jmV/l9ZsKlNKcOaQ5j3qjpGRWSBdjSf4FGbUIV4n09pN1 foHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ysRx6sK941MISEW19RNANLKTUh28TEmCSo/sBE3n+MM=; b=gMwqK93D6XkHm6WN62AnVkuz4zJSvshkNnffMX/rdJ87KCQqHXE1Gehihk08ZbEej5 Ql8jEML2QPvD+e+sAcY4LZU2uN6TvxKy9NayiXWSp5MzD3Sg7Fobq4rk/VNtmQhAbOV2 uE8RX2/BC/Yjt3zGyyOIps3WmcXMOzrO8edTPz8Yq0c5d5HJmwtBjOX9YImxNUVHH2+a Y6L7PKtYZYa6C17Mw1CbTKTlKhkDuomyYlWZ+4UE9yHM29IYw0a2RQBf2UtBrn7qmBX+ 4+XN+oZwvlOHJpFqhYR7Lb/TZ2HALVMmsqNYO/L4XsaJDhpRYwZkTfzWJOwLWYZiafaW zjxg== X-Gm-Message-State: APf1xPCtvg4RK+g16TIn+h2OiyYVQJKIwRkzvnVH1LJl0qnQtp8vKIv8 sxbOdQzWzeVt05IZLCFxva/40qPza07wtKZGUTI= X-Received: by 10.55.72.131 with SMTP id v125mr4343971qka.323.1518188634907; Fri, 09 Feb 2018 07:03:54 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.175.35 with HTTP; Fri, 9 Feb 2018 07:03:54 -0800 (PST) In-Reply-To: References: <6c53b9ccfd4a56fc1b00e243bb9e7cae9e124932.1518155780.git.baolin.wang@linaro.org> From: Andy Shevchenko Date: Fri, 9 Feb 2018 17:03:54 +0200 Message-ID: Subject: Re: [PATCH] Input: gpio_keys: Add level trigger support for GPIO keys To: Baolin Wang Cc: Dmitry Torokhov , Rob Herring , Mark Rutland , Greg Kroah-Hartman , stephen lu , Arvind Yadav , Joseph Lo , Kate Stewart , Philippe Ombredanne , Thomas Gleixner , "linux-input@vger.kernel.org" , DTML , lkml , Mark Brown , Linus Walleij Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 9, 2018 at 11:23 AM, Baolin Wang wrote: > On 9 February 2018 at 14:39, Dmitry Torokhov wrote: >> On Thu, Feb 8, 2018 at 10:08 PM, Baolin Wang wrote: >>> On some platforms (such as Spreadtrum platform), the GPIO keys can only >>> be triggered by level type. >> >> How do you stop the interrupt from re-triggering as long as the key >> stays pressed? > > We will set the level type irq handler as handle_level_irq(), in this > function, it will mask and ack the irq firstly. Wouldn't be ambiguous? 1. User presses the key -> a) we got edge followed by level signaling; b) IRQ core masks line, calls handler, ACKs, unmasks; c) somewhere here Press Event is sent; d) we still have level... We get IRQ fired again? But see 1. It obviously not the case. 2. User releases the key -> ... So, the main question if I understood Dmitry correctly is the period in time where IRQ line should be masked on one hand, and on the other it will guarantee that user didn't release-press cylcle. -- With Best Regards, Andy Shevchenko