Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp1196957iob; Thu, 19 May 2022 01:08:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwIkYwOCchsQOVSThHeXmkGtHzHOE9ulzYlfduv/KjYdxZqdM1Gs/Smy4vcVvcdKrcGee3R X-Received: by 2002:a05:6402:2999:b0:428:bb4d:6cea with SMTP id eq25-20020a056402299900b00428bb4d6ceamr3969001edb.29.1652947704615; Thu, 19 May 2022 01:08:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652947704; cv=none; d=google.com; s=arc-20160816; b=NeBb5KXK3XBYnb0JBFFQfoMWnFXh0dunxaO0sHhswQC4Gr3bBHgnR07NITCMT7xi1H 8wMdWlZZt0eMDVTrzc2OCs1GjgvkuqOQYhJqme9cnvzDdLhuLbjSbMrMgGq2AmCexuQl TsROLBDi4W4XqorjTwH3isDfgrhaQtotnh/vpGKHPSyK8P17sK9Qjpch+lpfNNsufuf7 OayySU8Ctk8ivy39O149QdcX78VN+KmaByZIU3hx2zNFMTztFPdE84NSpSvcGs8oJKgA ZsUuniGEhGZTYMHdmRIwCDh1e9nshyDT/6+x98dDznxaE+VcE5bjPe38MpB5SLHznIry 25YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=KFrp9wzq4sCkuwLY21DamOeXfwOOx7ci5Z7FlQKCo0o=; b=Q651829pRVPyeIQrW1BsWdAYOl/JEDgHQ2qoV19VLMEOIznVhcHaW3H2cfu1ASLDKJ n9G0Xu6Uk17otrDjn1myxUTJGyuuLth2PLt6C3WEmanubNizPHfPkTpS/KhdZqPuuedG 2ZN67darUNiSaiOmYulLg5K6rguxyJUDPgq4Qy62sEHUngnwSb8hDw4jgBo+6ffP1tlz G7bFwl9lGWWrKCmd8RRGe4fSHCRCca1UWZEUidrODTT/5QBL5HhG3nHopIn9A4CFkJCp 33MFtX0/Drg+t+8+K1KVpkhdsytLEJjqy2EN28ZoetIls10MEE5wZ2wmCLvgi/YDzsl0 UQEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=pqGBuGbK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t2-20020a056402524200b0041d70e3a2b0si5403215edd.55.2022.05.19.01.07.55; Thu, 19 May 2022 01:08:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=pqGBuGbK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S233871AbiESE7K (ORCPT + 99 others); Thu, 19 May 2022 00:59:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55590 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233855AbiESE7I (ORCPT ); Thu, 19 May 2022 00:59:08 -0400 Received: from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com [IPv6:2607:f8b0:4864:20::1133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 798E787227; Wed, 18 May 2022 21:59:05 -0700 (PDT) Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-2ec42eae76bso45264497b3.10; Wed, 18 May 2022 21:59:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KFrp9wzq4sCkuwLY21DamOeXfwOOx7ci5Z7FlQKCo0o=; b=pqGBuGbKiyhuZzK3H20eVg3ZjdCpjyeI+gQmEMvGfF2dMzgN/tHoxIud1GDP+n6ZH9 9AmV/Y4qb/d7mUQXh4gS/iIFKRZ/kvdo7khq7yRoMOQuiTwY11JujXq9GJK1IEmZblnk QUuLDl9mGm8T3NDARUl6BOMitQjSFpUeQtPWkHKo3nLIfr2XV1+MayFX91CM2z2jQe0j EkicZcXGmE5avn60jigo9wxAqmmA/BixOo18Uw/3hZSityTyg0ZrPZEfNC7gFRj3PDgE TKM8ypsAsGafjJHLU5wYIU05LK2GI+z005SyRnQuJnznxmkT4M9uGeChuDp1vBJkG4NG WySw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KFrp9wzq4sCkuwLY21DamOeXfwOOx7ci5Z7FlQKCo0o=; b=j+MgwaeBDmVkrLrK6HUEVzU3k5C1njRAi/AjJJKlmBfDYKaUsu8nd+u7TWO/Rsp1xX MqhvRgr23+eHos3LbV/P6tyu+dFjS4zr41lDNh3NAxJR3kmirsmj9vMezrED9Q0iSKql HK2FzDsUSbeSnbOVasny7957L83OVNzVuOKrNEGz0mla/owXqlE0ZmIkJsb+hRPKcS94 h4thpz7KzrikWjRjYVIhIdO7h84JqyW6d24fSK8emBrLTAgTcAphviLMHLSLhHQlIoAt 6vzWM66RVWuQXj+AYkuAYqi8+ehx6/SGDEkg/rysayVPgcJp8Mr2HiN24Mi6TWKL9JKj eh6Q== X-Gm-Message-State: AOAM530UJTwi0MlRpXsB/rWSYGdh+xE/+CzxmKPYTZuzSY2IfUtxCu0R YEyp+UeDKZiroDvWQj6ExDdz7QvNXUMY0yO4El4= X-Received: by 2002:a81:6cc9:0:b0:2fe:cad8:f4e0 with SMTP id h192-20020a816cc9000000b002fecad8f4e0mr2956960ywc.119.1652936344738; Wed, 18 May 2022 21:59:04 -0700 (PDT) MIME-Version: 1.0 References: <20220513132500.32395-1-prabhakar.mahadev-lad.rj@bp.renesas.com> In-Reply-To: From: "Lad, Prabhakar" Date: Thu, 19 May 2022 05:58:38 +0100 Message-ID: Subject: Re: [PATCH] Input: gpio-keys - Cancel delayed work only in case of GPIO To: Dmitry Torokhov Cc: Lad Prabhakar , linux-input@vger.kernel.org, LKML , Linux-Renesas , Phil Edworthy , Biju Das , Geert Uytterhoeven Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Dmitry, Thank you for the review. On Wed, May 18, 2022 at 5:46 AM Dmitry Torokhov wrote: > > Hi Lad, > > On Fri, May 13, 2022 at 02:25:00PM +0100, Lad Prabhakar wrote: > > gpio_keys module can either accept gpios or interrupts. The module > > initializes delayed work in case of gpios only and not for interrupts, > > so make sure cancel_delayed_work_sync() is called only when bdata->gpiod > > is true. > ... > > diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c > > index d75a8b179a8a..ec9d50ddda42 100644 > > --- a/drivers/input/keyboard/gpio_keys.c > > +++ b/drivers/input/keyboard/gpio_keys.c > > @@ -133,7 +133,7 @@ static void gpio_keys_quiesce_key(void *data) > > hrtimer_cancel(&bdata->release_timer); > > if (bdata->debounce_use_hrtimer) > > hrtimer_cancel(&bdata->debounce_timer); > > - else > > + else if (bdata->gpiod) > > cancel_delayed_work_sync(&bdata->work); > > We already have a check for bdata->gpiod a couple lines above. I think > the chunk should look like this: > > if (!bdata->gpiod) > hrtimer_cancel(&bdata->release_timer); > else if (bdata->debounce_use_hrtimer) > hrtimer_cancel(&bdata->debounce_timer); > else > cancel_delayed_work_sync(&bdata->work); > > since we use debounce timer/work only when we deal with gpio-backed > keys. > Agreed, will fix that in v2. Cheers, Prabhakar