From patchwork Wed Apr 26 14:44:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fei Shao X-Patchwork-Id: 87885 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp308303vqo; Wed, 26 Apr 2023 08:03:56 -0700 (PDT) X-Google-Smtp-Source: AKy350a6DFKe5rzRVO177KANVyKArbVVtQD0u3uB/Sr1Uj31hfba8pC8E1WqxzUrYdab/CcGb4Pn X-Received: by 2002:a05:6a00:15c2:b0:63f:158a:6e7b with SMTP id o2-20020a056a0015c200b0063f158a6e7bmr27323814pfu.6.1682521436201; Wed, 26 Apr 2023 08:03:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682521436; cv=none; d=google.com; s=arc-20160816; b=mVj1YzIJaAV6MyJIpPPxp/UM9ISWn3NW8K70En6oKCEDPdBNoj9S4qpy4q7TSaGPDG q0tgsvLG1837CTMb9RJkxsZsex5otAjfplVJz2XmdjOKgX1lZl4lEyzglWy3YWlZlTlv lH9foWfUdQ18X7it1lL00m9HqSCyoy1Tb2mco4GPlVFD45e99eetGD5VRTCf01zeFv4v WHiFJ0ivqMA/KHSTmRgFnZtztX5KOiUjT/XL0Bm3l4uKuL2ukujdnt2ZAoskhtPW+Beg eOP7jTXrWrkxGOjV1gRBUaXIMd6W8sZL7I3xMjH9QYMQXlWOe6WgDX0b+SVgVaeR1Efl YiSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LMx52XrqJI/lkSS1akmRczc5aEbg1BtnIjYD6cH52u8=; b=Jtg/uzLSEz8Ok4Q54YbewFqrEn0YuHfvAesMbCaW0sw62cU28I8bumIZrAZQkEHuaF qUTg0Zx67816S/QLfVjD5z1h0GX2k/Nkzv3YAF12PQovndgDfikCi3G3tOFxakhiE75C 02ftD4EvkuRRJmx1IbbYzC0SQb3FVAJGJPaWD/kn8zEK8Z8rhkUiuqkIZmRfRKa9KTKV XnxYJVaBNepJxyAP6kcTHu3E1UrHbSw4Td1TXTmlWxVGn4mgJa+Z6iWj/LMghUk73MjO eYdid1dM4JbEWY1Ph3JZWJAhiziYIAVKoV2foN5txX96mxyyAVgu2VS8YDqHcpDiilah Cofw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=F91dapaZ; 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=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 7-20020a630207000000b005139713f0ffsi16476895pgc.805.2023.04.26.08.03.42; Wed, 26 Apr 2023 08:03:56 -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=@chromium.org header.s=google header.b=F91dapaZ; 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=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241503AbjDZOor (ORCPT + 99 others); Wed, 26 Apr 2023 10:44:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241480AbjDZOon (ORCPT ); Wed, 26 Apr 2023 10:44:43 -0400 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C03B372B2 for ; Wed, 26 Apr 2023 07:44:41 -0700 (PDT) Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-63b7096e2e4so6000875b3a.2 for ; Wed, 26 Apr 2023 07:44:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1682520281; x=1685112281; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LMx52XrqJI/lkSS1akmRczc5aEbg1BtnIjYD6cH52u8=; b=F91dapaZh/JVWjuQtDJodQztlL98yiEx4kYIDCxP4Mk0I/lkQ2G5L4dBr6bLELESx/ vvHmStLQPZXLg8Ifj2mb3/SVQJ5Y/ZlwxynDVlrhes5pGa97XuaU5Lw8uQ71dccoS4YT SB5JXG7eTFanP0Dzp+JpYeLIwiaFta1xOhPAk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682520281; x=1685112281; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LMx52XrqJI/lkSS1akmRczc5aEbg1BtnIjYD6cH52u8=; b=cmu20uryBVXFwiQXR6dZXaGUmIk3l3IymmqWadRLMvjtPIo3Qt3Y4Kkzy6XmvnW5CB 6Ax58hP7kvjIaHMkxphNiDKuEof5hE3z6EcD9XM+0ZfWhIOtY2uVTZEBfMCMgmm65Vn2 CQ+txyHlP5dySn4fL1ZWoinAe53QThFl9WZl1XbStpKTy3TnMZa/WxG8vZbUweWW83nc AY5bBvmSL9wm5MGsV64meo1/xujGLFuMRgRhcoAgoJFVgwQeY3e8iHOsDPV9e8dnmklO dOF3q6NgEM9ubDS17DUx2m4CETdoz+qGtN0/FyOYX7oXRZhvKTInzNgn7xqIraYCjH0q iRXg== X-Gm-Message-State: AAQBX9cDC/ggjGB1Dp2qONY6O5rynIQWGkPrOaGDyY0CiVOr4sDUK/Xq h5msb91DqqgDWTmGfCoeL05/hg== X-Received: by 2002:a05:6a21:6d96:b0:f4:3934:96b0 with SMTP id wl22-20020a056a216d9600b000f4393496b0mr15771936pzb.37.1682520281201; Wed, 26 Apr 2023 07:44:41 -0700 (PDT) Received: from fshao-glinux.tpe.corp.google.com ([2401:fa00:1:10:dcf6:797f:140d:6d]) by smtp.gmail.com with ESMTPSA id f17-20020a631011000000b00502f20aa4desm8750495pgl.70.2023.04.26.07.44.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 07:44:40 -0700 (PDT) From: Fei Shao To: Jeff LaBundy , Douglas Anderson , Benjamin Tissoires , Rob Herring Cc: linux-mediatek , Fei Shao , Matthias Brugger , Dmitry Torokhov , Krzysztof Kozlowski , devicetree@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/2] dt-bindings: input: goodix: Add "goodix,no-reset-during-suspend" property Date: Wed, 26 Apr 2023 22:44:21 +0800 Message-ID: <20230426144423.2820826-2-fshao@chromium.org> X-Mailer: git-send-email 2.40.1.495.gc816e09b53d-goog In-Reply-To: <20230426144423.2820826-1-fshao@chromium.org> References: <20230426144423.2820826-1-fshao@chromium.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764251597708475110?= X-GMAIL-MSGID: =?utf-8?q?1764251597708475110?= We observed that on Chromebook device Steelix, if Goodix GT7375P touchscreen is powered in suspend (because, for example, it connects to an always-on regulator) and with the reset GPIO asserted, it will introduce about 14mW power leakage. To address that, we add this property to skip reset during suspend. If it's set, the driver will stop asserting the reset GPIO during power-down. Refer to the comments in the driver for details. Signed-off-by: Fei Shao Reviewed-by: Douglas Anderson Reviewed-by: Matthias Brugger Reviewed-by: Jeff LaBundy --- (no changes since v2) Changes in v2: - Use a more accurate property name and with "goodix," prefix. .../devicetree/bindings/input/goodix,gt7375p.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml index ce18d7dadae2..1edad1da1196 100644 --- a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml +++ b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml @@ -43,6 +43,15 @@ properties: itself as long as it allows the main board to make signals compatible with what the touchscreen is expecting for its IO rails. + goodix,no-reset-during-suspend: + description: + Set this to true to enforce the driver to not assert the reset GPIO + during suspend. + Due to potential touchscreen hardware flaw, back-powering could happen in + suspend if the power supply is on and with active-low reset GPIO asserted. + This property is used to avoid the back-powering issue. + type: boolean + required: - compatible - reg From patchwork Wed Apr 26 14:44:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fei Shao X-Patchwork-Id: 87884 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp301881vqo; Wed, 26 Apr 2023 07:55:26 -0700 (PDT) X-Google-Smtp-Source: AKy350YUt9JxKGt9xgI4F7+bG3XoOMT83jdddUPXErNBvNRy21pfzuNJnLzmRbipMvSBjNjl3bbX X-Received: by 2002:a17:90b:3106:b0:247:e5f:ca9 with SMTP id gc6-20020a17090b310600b002470e5f0ca9mr21124675pjb.4.1682520926483; Wed, 26 Apr 2023 07:55:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682520926; cv=none; d=google.com; s=arc-20160816; b=BkMm2RTO8n2wqg07HvCk/JU4+3bt+UhbKy4vCzY95jTmv3gQP8HZlFaD7yVTF1dbNv a/27COjj+Z9BPWbXRq5LkvyfRRlv3zG1O40UT2JT7CN3LspgauNPLG0KasJXkIY4St/f Q/rhR4ncbaml7NrRP6/VPkugqI/KYVdJCbgt6RrC7gNHUEIaxItiIyTJNsPlw5GiVnSa SnbLBsRbdgMuzyl6jZE47MmwqDUmLcNQcJHHrK1gjcqen94zbrkw5eI4kq1m3xrkSCKm EcMbAlh0fT7hMjHrzH4hv5E5kuCLJ/R5B99p2NCPcFzNOwm2j/4XyVT/HZ46dRb48JE0 7NYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=unoMmmw4ERQhjIti7rAorCXdA4tzC1K8iFsMEZhavZ0=; b=0A2qQdhtEVrK4EFalZfJPJh2osot0AFPLgx6Z+LEqpA4GBDy6LGEeBGVMhaixv/Rm4 EkfItV8Ovyq+6Bip6J8z7aINEr0scvSuF8cI0+kwt00u9wQ38YTMRtM94q4drYCq/gFN v0+DEdqWNLYb4zcaXH9PQCuMDs+NeWzgMxd4r8yCAgRGWA53lvVnfQDNW4ntnYHl/YHx G2GlUq5AKInYdbbSU5GM598BieLSfp/wGqZxKN2fcyqJ7QCdDa2kin8aIiRPRFyKEs01 W1SdLl3hqJIZcIUNZxhi2cbLyEjgz/XVF6D8KPzfzxn7cE1gRZW1Fa6u9xP0M0J6/lXb sk4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=XaZLVrt1; 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=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 94-20020a17090a0fe700b002479fe0bab6si18456095pjz.4.2023.04.26.07.55.11; Wed, 26 Apr 2023 07:55:26 -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=@chromium.org header.s=google header.b=XaZLVrt1; 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=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241497AbjDZOow (ORCPT + 99 others); Wed, 26 Apr 2023 10:44:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241511AbjDZOor (ORCPT ); Wed, 26 Apr 2023 10:44:47 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5C237695 for ; Wed, 26 Apr 2023 07:44:45 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-63b52ad6311so8505087b3a.2 for ; Wed, 26 Apr 2023 07:44:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1682520285; x=1685112285; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=unoMmmw4ERQhjIti7rAorCXdA4tzC1K8iFsMEZhavZ0=; b=XaZLVrt1MAcN0Beh1WTI5sVwkDsA+97s0BzKfnIKBZXqCwILv939LL07A9EKds4tZq 8FCdjSIFw0HB45f41bM8shTO1Ui1nC9PjiOX/W1dXmAkhtzf3ayfCNRpOsPX6bFWLOEK A2WO/vb+Yy50KEqx2a6Hj18+F0UfUnYqAMzas= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682520285; x=1685112285; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=unoMmmw4ERQhjIti7rAorCXdA4tzC1K8iFsMEZhavZ0=; b=iGs4WdjMnZD9w/eBHFtq8Gz9gP7ADq3ZnGt76hVohjSEWre/rd55ULaAu+aF5JbNqA GHXDI7DRyQXAZdqL16YSC3t3xSVpn2Ify9iT0upmqmDu+VwmDb96GoUnmIFB3OawjKuq oaoRmDtdDlqCXo6jcJYtY679fL+YWQTxpnkkAzIrJBONaFEf4xBrd5Fjq7RPpsi4aF4a ueZxB/ocd7rGYS3ue1g9QLMqyk9IIBLKxKlhrpNLxW20yo7QRkk207yE/C1e/ncKkGak uhhyYFNAS/lRTBEC9ZvV3iwkLs3WlI7pSpNeurqFdBi5VzniX6zlNM0u+KR1wVB7M573 j32A== X-Gm-Message-State: AAQBX9e64B17R4p6eP/CH9Uyyt47VIkRzL1ryh8vhQT9SJeP6JaisFg5 e5YYskTSNVopU5dOJ8z2ccVjGw== X-Received: by 2002:a05:6a00:1305:b0:63d:a0d:6fa1 with SMTP id j5-20020a056a00130500b0063d0a0d6fa1mr24917705pfu.21.1682520285002; Wed, 26 Apr 2023 07:44:45 -0700 (PDT) Received: from fshao-glinux.tpe.corp.google.com ([2401:fa00:1:10:dcf6:797f:140d:6d]) by smtp.gmail.com with ESMTPSA id f17-20020a631011000000b00502f20aa4desm8750495pgl.70.2023.04.26.07.44.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 07:44:44 -0700 (PDT) From: Fei Shao To: Jeff LaBundy , Douglas Anderson , Benjamin Tissoires , Rob Herring Cc: linux-mediatek , Fei Shao , Dmitry Torokhov , Jiri Kosina , Matthias Kaehlcke , Stephen Kitt , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 2/2] HID: i2c-hid: goodix: Add support for "goodix,no-reset-during-suspend" property Date: Wed, 26 Apr 2023 22:44:22 +0800 Message-ID: <20230426144423.2820826-3-fshao@chromium.org> X-Mailer: git-send-email 2.40.1.495.gc816e09b53d-goog In-Reply-To: <20230426144423.2820826-1-fshao@chromium.org> References: <20230426144423.2820826-1-fshao@chromium.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764251063101232364?= X-GMAIL-MSGID: =?utf-8?q?1764251063101232364?= In the beginning, commit 18eeef46d359 ("HID: i2c-hid: goodix: Tie the reset line to true state of the regulator") introduced a change to tie the reset line of the Goodix touchscreen to the state of the regulator to fix a power leakage issue in suspend. After some time, the change was deemed unnecessary and was reverted in commit 557e05fa9fdd ("HID: i2c-hid: goodix: Stop tying the reset line to the regulator") due to difficulties in managing regulator notifiers for designs like Evoker, which provides a second power rail to touchscreen. However, the revert caused a power regression on another Chromebook device Steelix in the field, which has a dedicated always-on regulator for touchscreen and was covered by the workaround in the first commit. To address both cases, this patch adds the support for the new "goodix,no-reset-during-suspend" property in the driver: - When set to true, the driver does not assert the reset GPIO during power-down. Instead, the GPIO will be asserted during power-up to ensure the touchscreen always has a clean start and consistent behavior after resuming. This is for designs with a dedicated always-on regulator. - When set to false or unset, the driver uses the original control flow and asserts GPIO and disables regulators normally. This is for the two-regulator and shared-regulator designs. Signed-off-by: Fei Shao Reviewed-by: Douglas Anderson Reviewed-by: Jeff LaBundy --- Changes in v3: - In power-down, only skip the GPIO but not the regulator calls if the flag is set Changes in v2: - Do not change the regulator_enable logic during power-up. drivers/hid/i2c-hid/i2c-hid-of-goodix.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/hid/i2c-hid/i2c-hid-of-goodix.c b/drivers/hid/i2c-hid/i2c-hid-of-goodix.c index 0060e3dcd775..3ed365b50432 100644 --- a/drivers/hid/i2c-hid/i2c-hid-of-goodix.c +++ b/drivers/hid/i2c-hid/i2c-hid-of-goodix.c @@ -28,6 +28,7 @@ struct i2c_hid_of_goodix { struct regulator *vdd; struct regulator *vddio; struct gpio_desc *reset_gpio; + bool no_reset_during_suspend; const struct goodix_i2c_hid_timing_data *timings; }; @@ -37,6 +38,14 @@ static int goodix_i2c_hid_power_up(struct i2chid_ops *ops) container_of(ops, struct i2c_hid_of_goodix, ops); int ret; + if (ihid_goodix->no_reset_during_suspend) { + /* + * We assert reset GPIO here (instead of during power-down) to + * ensure the device will have a clean state after powering up, + * just like the normal scenarios will have. + */ + gpiod_set_value_cansleep(ihid_goodix->reset_gpio, 1); + } ret = regulator_enable(ihid_goodix->vdd); if (ret) return ret; @@ -60,7 +69,9 @@ static void goodix_i2c_hid_power_down(struct i2chid_ops *ops) struct i2c_hid_of_goodix *ihid_goodix = container_of(ops, struct i2c_hid_of_goodix, ops); - gpiod_set_value_cansleep(ihid_goodix->reset_gpio, 1); + if (!ihid_goodix->no_reset_during_suspend) + gpiod_set_value_cansleep(ihid_goodix->reset_gpio, 1); + regulator_disable(ihid_goodix->vddio); regulator_disable(ihid_goodix->vdd); } @@ -91,6 +102,9 @@ static int i2c_hid_of_goodix_probe(struct i2c_client *client) if (IS_ERR(ihid_goodix->vddio)) return PTR_ERR(ihid_goodix->vddio); + ihid_goodix->no_reset_during_suspend = + of_property_read_bool(client->dev.of_node, "goodix,no-reset-during-suspend"); + ihid_goodix->timings = device_get_match_data(&client->dev); return i2c_hid_core_probe(client, &ihid_goodix->ops, 0x0001, 0);