From patchwork Thu Oct 26 05:53:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Abhishek Kumar Singh X-Patchwork-Id: 739016 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A75B9C25B48 for ; Thu, 26 Oct 2023 05:53:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233257AbjJZFxZ (ORCPT ); Thu, 26 Oct 2023 01:53:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229638AbjJZFxZ (ORCPT ); Thu, 26 Oct 2023 01:53:25 -0400 Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DFFC2115 for ; Wed, 25 Oct 2023 22:53:22 -0700 (PDT) Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20231026055321epoutp02f3d71c71242e03953463d931957790f2~Rkn1PYrb60203802038epoutp02E for ; Thu, 26 Oct 2023 05:53:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20231026055321epoutp02f3d71c71242e03953463d931957790f2~Rkn1PYrb60203802038epoutp02E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1698299601; bh=EEYBtchdbkxl6Kq3+Ho3IKQ/ZuMOvG204vsnrMfIiVk=; h=Date:Subject:Reply-To:From:To:CC:References:From; b=KJ7sNd2RoPytDdV7UpKBFkRBWb521Ba1OEQyCPHTw0Zwc4Ja+7vgs0PAMcyZtLrO7 UCcWaS2BC8LJ9lN8E4e7QkVYobIE4INm5ux4gKuMd9F9BSRuFvIVeJIbRbPYXgGITg EGaSOmUu83SVV6y1u74id3lQtmw7dMHUMnSFdC3k= Received: from epsmgec5p1new.samsung.com (unknown [182.195.42.68]) by epcas5p4.samsung.com (KnoxPortal) with ESMTP id 20231026055321epcas5p46b788c0d829401189cc04a3355d0b3eb~Rkn05xG8s0921509215epcas5p4c; Thu, 26 Oct 2023 05:53:21 +0000 (GMT) X-AuditID: b6c32a44-3abff70000002177-af-6539fed04caf Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmgec5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id C2.52.08567.0DEF9356; Thu, 26 Oct 2023 14:53:20 +0900 (KST) Date: Thu, 26 Oct 2023 11:23:20 +0530 Message-ID: <899376598.3134980.1698299600677@mail-kr5-0.mail-kr5.knoxportal-kr-prod-blue.svc.cluster.local> Mime-Version: 1.0 Subject: [PATCH] input: gpio-keys - optimize wakeup sequence. Reply-To: abhi1.singh@samsung.com Sender: Abhishek Kumar Singh From: Abhishek Kumar Singh To: "dmitry.torokhov@gmail.com" CC: "robh@kernel.org" , "linux-input@vger.kernel.org" , "linux-kernel@vger.kernel.org" , SRI-N IT Security , Abhishek Kumar Singh X-Priority: 3 X-Content-Kind-Code: NORMAL X-Drm-Type: N,general X-Msg-Generator: Mail X-Msg-Type: PERSONAL X-Reply-Demand: N X-CMS-MailID: 20231026055320epcms5p4c45782863304460f6ac6f182e1dac15f CMS-TYPE: 105P X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprHKsWRmVeSWpSXmKPExsWy7bCmpu6Ff5apBut2W1osXPOX0eLwoheM Fjc/fWO1uLxrDpvF/z072C1O/NnE7MDmsXPWXXaPTas62Tz6tqxi9Pi8SS6AJYrLJiU1J7Ms tUjfLoEro//3T9aCRpWKBZvmMzcw3lfqYuTkkBAwkVh7v5eli5GLQ0hgN6PE+nsb2EASLAKq Ej+ffGAHsXkFsiX+HDgFZHMA2YISf3cIg4SFBWwllv5ewQRiCwkoSiya08EMETeT2Hz3HSNI ORvQ/BXbeUDCIgLWEgf2dbCBrGIWaGOS2Ha+hQ3iBl6JGe1PWSBsaYnty7cyQtiiEjdXv2WH sd8fmw8VF5FovXeWGcIWlHjwczcjTO/3A7egZtZLnPo+AewvCYEeRol5cz9BLTCXOPOrB8p2 kZi25DtYA7NAmMT1hVNYIGw+id7fT5hgjtsxD8ZWldh/9h8zzLIdk1ZBHech8e/pUTZIQARK fPn1nW0Co+wsRHDNQrIBwtaWWLbwNTNICbOApsT6XfoQYTWJKf1f2CBsJ4lPZ/dA2YoSU7of si9gZF/FKJlaUJybnppsWmCYl1quV5yYW1yal66XnJ+7iRGcbLRcdjDemP9P7xAjEwfjIUYV oPZHG1ZfYJRiycvPS1US4Y30sUgV4k1JrKxKLcqPLyrNSS0+xCjNwaIkzvu6dW6KkEB6Yklq dmpqQWoRTJaJg1OqgclIIoOlYOY8h/XzHpeo9gYctLme6mLQph4wLePGrC8f1qu97/1+OeT/ QrMvM9urHhTKt97y6A3dFsO07m34tV0GbF9P3XyZlHgmeoqo7u1Z+X0FO1aemcNWGPpre2ng Zp+/r53mKjxp2/M+LXXlyTgGsYdHI1Xs7y1Z2/u4opvNSUT+t94buZcCjYcOT3re1GN6IWfC rAVp04q6dYVtHzX3GDPpe1U75lo7i+xjqG98lrd3/x/Gt8c+Ood7HohX9ijvTV/RqWew5NPR M9ckxUJY5+0RKha13jZ5wuH1VQevfFvvpt4YeiAl6YFng3oLi3Ge1EOVtU3x19yZ/FYGbNtr G8DgkNz0aGlW85qlS5RYijMSDbWYi4oTAc2GwR+xAwAA X-CMS-RootMailID: 20231017103415epcms5p2f8f5b28a8f5d71055622b82f71b0fc93 References: Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org Dear Mr. Dmitry, Greetings! The patch removes unused many APIs call chain for every suspend/resume of the device  if no key press event triggered. There is a call back function gpio_keys_resume() called for every suspend/resume of the device. and whenever this function called, it is reading the status of the key. And gpio_keys_resume() API further calls the below chain of API irrespective of key press event APIs call chain: static void gpio_keys_report_state(struct gpio_keys_drvdata *ddata) static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata) gpiod_get_value_cansleep(bdata->gpiod); input_event(input, type, *bdata->code, state); input_sync(input); The patch avoid the above APIs call chain if there is no key press event triggered. It will save the device computational resources, power resources and optimize the suspend/resume time Signed-off-by: Abhishek Kumar Singh ---  linux-6.4.11/drivers/input/keyboard/gpio_keys.c | 8 ++++++--  1 file changed, 6 insertions(+), 2 deletions(-) --- Thanks and Regards, Abhishek Kumar Singh Sr. Chief Engineer, Samsung Electronics, Noida-India diff --git a/linux-6.4.11/drivers/input/keyboard/gpio_keys.c b/linux-6.4.11/drivers/input/keyboard/gpio_keys.c index 13a8ba5..cd1609e 100644 --- a/linux-6.4.11/drivers/input/keyboard/gpio_keys.c +++ b/linux-6.4.11/drivers/input/keyboard/gpio_keys.c @@ -687,8 +687,12 @@ static void gpio_keys_report_state(struct gpio_keys_drvdata *ddata)      for (i = 0; i < ddata->pdata->nbuttons; i++) {      struct gpio_button_data *bdata = &ddata->data[i]; -    if (bdata->gpiod) -      gpio_keys_gpio_report_event(bdata); +    if (bdata->gpiod) { +      struct gpio_keys_button *button = bdata->button; +      if(button->value) { +        gpio_keys_gpio_report_event(bdata); +      } +    }    }    input_sync(input);  }