Received: by 10.223.185.116 with SMTP id b49csp7121987wrg; Wed, 28 Feb 2018 23:36:26 -0800 (PST) X-Google-Smtp-Source: AG47ELvZzuCqQmoJpgto2E/y8oiWVW6t2A6ZiHy1fMBvyqFM8PtIglqmVbEkux0JtjSm9cUYBB28 X-Received: by 2002:a17:902:bf0a:: with SMTP id bi10-v6mr1035242plb.181.1519889785941; Wed, 28 Feb 2018 23:36:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519889785; cv=none; d=google.com; s=arc-20160816; b=ULGC86aOHWO32EP49FWJJ5Dg+6/dAMeEUBnZa4g28DkrsiBVrSOW26gakNOwBWGmnr 0xRh1wOtFJ4OzFcAq1HCdA+xfuCNLb0SP1lrRkGkuL0feb/OJqllbDH91LLqDYskCd3w zl69kMoMO50IBdIuX0VUaNh6FZGTcbKzwnMoT2T3/BCr1SYIwwo2eRYL1tcBRU3yPrpR BAhoyfEZ8sclXW/9ERLI6jyMKrmQHxJCyENe70SSRVxMC1/gvfoPocW2GsA1l9AlQT3a Y10WazN+wSF2+GtRCOk77xNLVuExnUZRaahJn9h7SZDQkH4JkpSgftICpBySnUtb4Wl9 lJCQ== 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=Z6UpImDyA4g/B8MjeHRc5jNnU3PylRTyjo6Xd2J+cFs=; b=Vn+KE+4KQ+IW4RiRUjboZ7zZ9IEGu45BXjZ7SRPmGQLrWzzY8IU+M3ES6Kepkd9Iiq ujauZ06i5fK67SFiBWK73T05l3QrvpX3nU6XZwbMH7E/SMmZqnidIPPR5C8FVhB2zkp0 G3Q6ui57IH+IcVDp/t2Y7Oohh6sttaMr676pKDhirScdIcFAXk08h1U3GriG19rJ873/ gNZha0qgpTtrZHNDM/rxNfNYgRdW3Suh8TjUYin0gPAxVPHdhJx9xpi3NtUj7Q0GwEAJ iDNoXMVokJoZi3Lmuy/UH/BzNw6/Ex8WI9ElAL4tcEh9i92iDSDWSihUZ+kFcwYAGESn lN9Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GXcj6ZzY; 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=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e2si2107416pgr.242.2018.02.28.23.36.10; Wed, 28 Feb 2018 23:36:25 -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=@linaro.org header.s=google header.b=GXcj6ZzY; 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=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935390AbeCAHfa (ORCPT + 99 others); Thu, 1 Mar 2018 02:35:30 -0500 Received: from mail-ot0-f178.google.com ([74.125.82.178]:38547 "EHLO mail-ot0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935251AbeCAHfY (ORCPT ); Thu, 1 Mar 2018 02:35:24 -0500 Received: by mail-ot0-f178.google.com with SMTP id 95so4731594ote.5 for ; Wed, 28 Feb 2018 23:35:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Z6UpImDyA4g/B8MjeHRc5jNnU3PylRTyjo6Xd2J+cFs=; b=GXcj6ZzYp0GtDYOlFXkN+DRicXV9Ic0rbUG5j3BidXUzc7KL2yXrxxrkdou/6q0/9l JLu7NwfHn+uS/g//iWcu8WB80VAOk/NEuMP5eUt71VB1hXvCifGPzXErE5kRP5DuKMkA yhhRhLgcjjsCpJG700eLoVwUuLkxLqqU5SqkU= 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=Z6UpImDyA4g/B8MjeHRc5jNnU3PylRTyjo6Xd2J+cFs=; b=f6K1ssFk75RVSVpSYK4blBkmV/jfaVlzWycvUNn7K8BrtWBKds4HHMjajuo3qShtbM sbt4Qs3YclLxxhCV2H56RkyztYHwULWncIicANTmfSlqTSuCGl0+OeE8JFzRcrv5bku4 ngO2feyuLQYugMB3Bhc1u9TZUFkMrA2/ZI+Ckk6/HxT0QvvDhJTgA/LvINwLANzl2ydL QdugYhiKPMdKGVSM1Vj8TDV7D5TOqnt9OsvPiIZPrFAC9fvpefLKnaTBZMBxH8oFLe+S xdLThJ0FqmUhYaqwl/ZJCKGBJatxo7b1CFN7+f0YDKQzRmm4faUZMAz2//8POP51iI2i jU6g== X-Gm-Message-State: APf1xPC3iZH72Um9e/TkIRyfj9HAYRtpkRzaVSj+voHwaXSQIw37ZWH+ kGGWoqRDRMzdXstx+1w46UxD7NyFyaDJ9es7IZr3CA== X-Received: by 10.157.68.194 with SMTP id p2mr639503otg.249.1519889723624; Wed, 28 Feb 2018 23:35:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.96.5 with HTTP; Wed, 28 Feb 2018 23:35:23 -0800 (PST) In-Reply-To: References: <826093167e8fb24723f474b0272f3dcab1b6a97e.1519821626.git.baolin.wang@linaro.org> From: Baolin Wang Date: Thu, 1 Mar 2018 15:35:23 +0800 Message-ID: Subject: Re: [PATCH v3] Input: gpio_keys: Add level trigger support for GPIO keys To: Arnd Bergmann Cc: Dmitry Torokhov , Rob Herring , Mark Rutland , gregkh , stephen lu , Arvind Yadav , Joseph Lo , Kate Stewart , Philippe Ombredanne , Thomas Gleixner , "open list:HID CORE LAYER" , DTML , Linux Kernel Mailing List , 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 28 February 2018 at 22:44, Arnd Bergmann wrote: > On Wed, Feb 28, 2018 at 1:44 PM, Baolin Wang wrote: >> On some platforms (such as Spreadtrum platform), the GPIO keys can only >> be triggered by level type. So this patch introduces one property to >> indicate if the GPIO trigger type is level trigger or edge trigger. >> >> Signed-off-by: Baolin Wang >> --- >> Changes since v2: >> - Use 'interrupt' property to indicate the irq type. >> >> Changes since v1: >> - Diable the GPIO irq until reversing the GPIO level type. > > I've looked at your patch in more detail now, and given it a bit more thought. > > I wonder if you could move that logic into your gpiochip/irqchip driver instead. > It seems that what you do in the gpio-keys driver is to emulate edge triggered > behavior on a level triggered irqchip. > > If you put the same logic into the gpio driver, you could simply make it > pretend to support an edge trigger on both edges and call into the interrupt > handler whenever the state changes. > That is really a good suggestion, which can avoid duplicate level reverse logic in different drivers. So this patch can be simplified just adding one trigger_type to indicate the interrupt type (not always edge trigger). Thanks for your suggestion. -- Baolin.wang Best Regards