From patchwork Thu Apr 27 03:56:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fei Shao X-Patchwork-Id: 88101 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp19871vqo; Wed, 26 Apr 2023 21:12:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5xCcIfavbXYx5TOsrR1/zRmIXHDsnNcJxn8xIXRFkY4+yEVCO1MD0w6bx3abU4o/exAzfv X-Received: by 2002:a05:6a20:bea5:b0:f0:6def:6b93 with SMTP id gf37-20020a056a20bea500b000f06def6b93mr91310pzb.56.1682568735404; Wed, 26 Apr 2023 21:12:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682568735; cv=none; d=google.com; s=arc-20160816; b=YG2wbgD7xTXAb7juKJw6iVETNs8BW7x6XH3eWctX4442gydUAQ2sD+kyo7oKsLBDGJ xLhB9q60lksGn/iguEgo8OcmI4OAN+ch4sIhDhgNGy9XCn0doEMuq/ryP0ZdZXMtlMlz WJM9/j44kmxy52ubx+FwG58a24wxEooCPv4sWc1iBuQCe66YR3pD4mnFedorfR3eJGuK jXKVFce+DRkK+medhUGrel0BXXyhRF1yW3S1g3eMX1AAx7V7oy4Y1Ht1o+k04vUePj+1 2sDjte0tqvWW3xsW9juwrDikRn+sWrK0p0XbeRHAMOGKWa6EOdHgloZV7oD/nE3LQGzS yC9A== 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=lhCOIWu5TyYboPWbdE5sGErQUzQeTZ3Ep4X13Ctc3Mc=; b=aZNgBfxDYMxbNcL4KhLYeN/+qx47kABDtvwifVIQHt0h99WhLjGP8eoOZpJ2bQP8yq OfRsV2aDkUZs06PiFjkK51gXBq2N6YpbnTLNFXj68OSZrU2ImcIVlvjFspVN9bLg1+Jx yvaaM/pReMmPX+buBZZUs3DSoRpvujq69XFFDa0NEjiFcoc0kkF21Qr2IrgpPiuIS/bN 0S1Y+fxcBAHyDPpcYClUm328tU9h+iDfumMksWw5S+hZRhFN9k4PiWs5BVchy9krRGFD 8zC6Hp97EwU1QMRGmNnsReBRTG0KuMxpAIqWMZDa8f6K+JwxB1w4Ih0tT/Qk0Z+MMI/h kBCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="THVAPf/s"; 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 pj8-20020a17090b4f4800b002476be78cd2si21234461pjb.121.2023.04.26.21.12.00; Wed, 26 Apr 2023 21:12:15 -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="THVAPf/s"; 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 S242880AbjD0D51 (ORCPT + 99 others); Wed, 26 Apr 2023 23:57:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239857AbjD0D5X (ORCPT ); Wed, 26 Apr 2023 23:57:23 -0400 Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AC0E2686 for ; Wed, 26 Apr 2023 20:57:22 -0700 (PDT) Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-524b02cc166so4591105a12.0 for ; Wed, 26 Apr 2023 20:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1682567842; x=1685159842; 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=lhCOIWu5TyYboPWbdE5sGErQUzQeTZ3Ep4X13Ctc3Mc=; b=THVAPf/sJ9XbPlx4VFMwYf/sH8XzYmCLlTS+GixH/Hf/4I8JFrwhvFayxf7EQzZNqJ Y4ZHKZFprJVzEW9aqzYmfPgJtv4ess0b1n1GXiLiG3x+0+zgeIS/DN8e5O2Tbo93PANk 5WJ6HE3PEoe4UJPHAWj1PnLofqErfs7zGrcc8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682567842; x=1685159842; 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=lhCOIWu5TyYboPWbdE5sGErQUzQeTZ3Ep4X13Ctc3Mc=; b=HDaf6SBCSwXxLzUhf7/jkHCZJ6xu/5FwiJaTzD+lwUG9YqqvTPsMLEq0OXw2Ay+fYi k11dpOlkPEfVEf1u1vxAi1MlUdSPGiR5OnFtlva95tJ/WStDCUpnQgeyTiDClC6ZdkAk eKS081Ixx0h6Q4g/iW9OEnpnGNr05+dV8u8W1d07gBbn85BeQeviBgaqX5+uPpoDYPWj LxsrLojwkL6Egr55OBU/6DgWxUGI1X1DMInobwZnHGdxpyjOVw+mLCakANRbSKs7W9oB ZDSgPBxrqW4vGymMsLFI5iLFAZwKoj41XpJ9ik6AvU34WlGsyz3bENrqxnvkscRAe9/l 6aoA== X-Gm-Message-State: AC+VfDz+lv0D/Gc3LZJhZUUQfnzsT0F6pbFzugJnmJUpVeLO/ZZEJ20I HaYkqhPtYYNGppUMIzDigj0Grg== X-Received: by 2002:a17:90b:204d:b0:247:a272:71be with SMTP id ji13-20020a17090b204d00b00247a27271bemr369502pjb.46.1682567842239; Wed, 26 Apr 2023 20:57:22 -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 u1-20020a17090ae00100b002471f9a010dsm12214092pjy.21.2023.04.26.20.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 20:57:21 -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 v4 1/2] dt-bindings: input: goodix: Add "goodix,no-reset-during-suspend" property Date: Thu, 27 Apr 2023 11:56:55 +0800 Message-ID: <20230427035656.1962698-2-fshao@chromium.org> X-Mailer: git-send-email 2.40.1.495.gc816e09b53d-goog In-Reply-To: <20230427035656.1962698-1-fshao@chromium.org> References: <20230427035656.1962698-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 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?1764301194125684619?= X-GMAIL-MSGID: =?utf-8?q?1764301194125684619?= 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 Acked-by: Rob Herring --- (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 Thu Apr 27 03:56:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fei Shao X-Patchwork-Id: 88102 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp20373vqo; Wed, 26 Apr 2023 21:13:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4RrOoQJqNrcLunn57UBMSpvZUEXlo7xNLGKmqcSwBstl3SRLyQToEO64/kR2Py/z8vYtjz X-Received: by 2002:a05:6a00:842:b0:5a8:8535:18b with SMTP id q2-20020a056a00084200b005a88535018bmr532374pfk.11.1682568828493; Wed, 26 Apr 2023 21:13:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682568828; cv=none; d=google.com; s=arc-20160816; b=cqRw5MeRQr80FW+dQOsUYnB5MD5UBar72gdOgitybxDOBAOtk2uCK1+kSTtzPS0B29 jbeOtROQo4dVTJ4ytT+Byw6zRF5t3evDG/myl3ME40anB7PqCKvuVtkHhR608spYSo8t SkBf5Rfrx5BHFk8Lf2tCzl9Jq6gb3TBg+SidCN/wWG61dkagl+itfsJVi6Cas0Jcc23r Pw6Ocd4m3QdoTR9DcMYBahuI4PyIQpxCOcyC0+w/CeBPjrUBIfkvxiqQaShrncRK5yde Z+wLAwZa1HRq3S8HyIPKRc+wnu/DIj/gC7YeaHLcj9jTsBPg+P5Cgorau//J/zfhvWjZ aAww== 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=2lcib0V3+/ELO569Iy00GQ8fHxNyEHZ4Blfo69bvdqM=; b=0w1SHF/edp9ljgo58pRXffe69EUnQiJUw9jllQdR65L2hR9ZRUxAzXHPJ4mWroYzMe sRp2Atns2IQ6iCFn3do/98wbHUdKIgNwYIpwH9b2C1l8KkvUC3f9SX0QcXNNXdrLcYTI xYrJfBmz2YWosRtc/bX0zJ+GNmaLSNwXcNQ1LAnp+yAz2qEz16D+bIfMgIoDxNqcXWAW Jb9r5OUfOakJJc6WZVgHbrViswI9cTma3Ifp48SQXXqegGCGoI+uo3WL3xDgNi9xy1Zb sEpz/KJlVl+73TgAAIfjYWBoT1Amk3jqVcYWPm1drRaR2ZvuYoKF3x4+yljVWQI94Ziz n7iA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=g9HKfptZ; 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 e11-20020aa7980b000000b0063ca0c271b9si18072497pfl.227.2023.04.26.21.13.35; Wed, 26 Apr 2023 21:13:48 -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=g9HKfptZ; 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 S242914AbjD0D5d (ORCPT + 99 others); Wed, 26 Apr 2023 23:57:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236396AbjD0D52 (ORCPT ); Wed, 26 Apr 2023 23:57:28 -0400 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BB792723 for ; Wed, 26 Apr 2023 20:57:25 -0700 (PDT) Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-2496863c2c7so6688746a91.1 for ; Wed, 26 Apr 2023 20:57:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1682567845; x=1685159845; 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=2lcib0V3+/ELO569Iy00GQ8fHxNyEHZ4Blfo69bvdqM=; b=g9HKfptZk20Ox+mkmRYcscaSTzFpFspwaR35VpaZ4cOjbiahSU4aCyso5kM0SyPoYf VzH873PNU/UK3fVyVxOM3/dTsSb6FlwtpkW8xWnCiE0w6zzSO4aeGwdbqMcNtMvcBQkH hgjQabfDwFB8yagiqZMvfZQRehUsU23zNDQlE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682567845; x=1685159845; 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=2lcib0V3+/ELO569Iy00GQ8fHxNyEHZ4Blfo69bvdqM=; b=XJgd7gR3GisXert2aJ2JffqKIvm7sZuKT+04Upp268l0MioolMKR4USOOAo1XW3JOg 7R1gZE80O2qUpOrSCApf2n/94z0IT1D+upcl2XdItd+5XCIQ2zo9k4+Zm+k9UjccJnTd /Y133A0suyUFFGIj1bi8tiaJOHqT/kKgFjWzqHHRpP2CBkUx974uvnALQnBz19xL5jkH DWRWrxWtbpNz67iqEiUrtUjpNg912mOi0Eq3TUMamfNkG/VIFpNJWc8DUnpZH6UrvDK4 +muFF1o9pkPrXrsDwDYMNBnUolKTKLQXvLLtoUUocVSv3CXwqkvD9BhVhMYRO04o9Kc9 78pw== X-Gm-Message-State: AC+VfDwA+MTa3oZvZcalTcGmQcVzsEmkxFCMux378TkG2wxIeY5phejy MxIRh2+9uf9SDX82qXBhe7ZjZw== X-Received: by 2002:a17:90a:ce8a:b0:24b:fd98:f760 with SMTP id g10-20020a17090ace8a00b0024bfd98f760mr647297pju.0.1682567844860; Wed, 26 Apr 2023 20:57:24 -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 u1-20020a17090ae00100b002471f9a010dsm12214092pjy.21.2023.04.26.20.57.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 20:57:24 -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 v4 2/2] HID: i2c-hid: goodix: Add support for "goodix,no-reset-during-suspend" property Date: Thu, 27 Apr 2023 11:56:56 +0800 Message-ID: <20230427035656.1962698-3-fshao@chromium.org> X-Mailer: git-send-email 2.40.1.495.gc816e09b53d-goog In-Reply-To: <20230427035656.1962698-1-fshao@chromium.org> References: <20230427035656.1962698-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 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?1764301291880106905?= X-GMAIL-MSGID: =?utf-8?q?1764301291880106905?= 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 v4: - Minor coding style improvement 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..db4639db9840 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; + /* + * 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. + */ + if (ihid_goodix->no_reset_during_suspend) + 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);