Message ID | 20231207111300.80581-2-eichest@gmail.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4704961vqy; Thu, 7 Dec 2023 03:13:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IHChW33+WubVTCRFlR57vEz2Uad7itdmLSrMQ3kT9A8VhGp+QHhpariluFFLUxTylBQrnGe X-Received: by 2002:a05:6a20:b7a4:b0:18f:97c:8271 with SMTP id fh36-20020a056a20b7a400b0018f097c8271mr1631295pzb.123.1701947627460; Thu, 07 Dec 2023 03:13:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701947627; cv=none; d=google.com; s=arc-20160816; b=yPdCqIZb+BIy4HdfhUWvUdBJ/xnvd9y6US3xtkLjiY8q0M1CxQfC62kivszZsd1jSU KeEANtgVvlKH8kDkAcX62YhPpvI7EloyR92D+PjYnYFv0CJxKHBZexczRVVGDCRqjyJF N3jBnLO3LDc36M/Kax1aGthx27V8YNK329tSxXGhPhETTJ9dgeka/l7noLPPD+njbhmX hI24zq2ZfWOx3ci9Iutbp9Ivy7AcUnT81kdbBHgYkrUAIQYxPi8cUOJGHdfUgKfJiNWk lQcsl70chj76/YEvCx121ZmEnd/2ESpFfBKwKnMPB5qoKmcogfIU/Oq7maE2wFEtTiH8 86uA== 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=cd1jhV+Kh/V8UGgnPN8H8ix4gV6UKpJNpQeBveVjzsY=; fh=K6dCBpvs/efb3OgQrs3E7dAoE6b1q+I64nkQ4/o2Nh4=; b=C/p+gL56RcGBYSNNRZGMlAKg+cbEkPJLUCccdzylXjKeAY1c8pmkdHdxbWd6T1JTCS 2c3y52m4LyfuXm5Clm3Ir37DFLCVkbJFKaO5nZpJTb/KYa4EKZaXN/tp+D+Bcr47tbs/ ZgxtxSK9znMQM6rNTkb+7zY19rzpEcVgHO+1KQJ0zViVH9WCJNyXKUaRa6XMOdFhyuD9 Q11wgDBJsGGXdp7OOAZBEAQdQhJx3JebR6M+3XjrS4l+SPC/ZTY1K/gKoA/bJIgVi0no r5K7gUH+JnmYkDiQ3q2pTw2voNWsy6igjDHuaT9HUcQmB0BMnVwVPi/MdTevxc7YWlkB 6ZMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="aIG/xV2A"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id b18-20020a056a000a9200b006cdefbf53besi1090784pfl.104.2023.12.07.03.13.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 03:13:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="aIG/xV2A"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 2188C8043EC4; Thu, 7 Dec 2023 03:13:44 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378893AbjLGLNb (ORCPT <rfc822;pusanteemu@gmail.com> + 99 others); Thu, 7 Dec 2023 06:13:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232388AbjLGLNZ (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 7 Dec 2023 06:13:25 -0500 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D158F10D0; Thu, 7 Dec 2023 03:13:30 -0800 (PST) Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3332fc9b9b2so720452f8f.1; Thu, 07 Dec 2023 03:13:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701947609; x=1702552409; darn=vger.kernel.org; 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=cd1jhV+Kh/V8UGgnPN8H8ix4gV6UKpJNpQeBveVjzsY=; b=aIG/xV2AYhp7Od0dE99nZ9C9ooHTr6NN5Eo0hPCi5tbzTxei6XY/KI0QxNzYiIm3XD kllIo/067+HRjx5tUGy6l3od1wXrUuIBKraiNJi8dFb/f9vXnPzY2SffbWy/gi4T9WPV XilP+LQukW5SR+p1TBHUnOtrL+mwNTYFmbMG8YhJWhIh0rpJ5qIeK5n2WCwhgXLbAgv/ MMZXkrR7iWWkm+XG3B4NrKFtL06PR6uzPacoCQfbGNFtMrvUXHIa8/omAXtBqqT5+4+C lqa62LunzrJgz97CU+OFdZF0KhqBNdJzvU+/Iz0bzBIPogDqmrqlBKv1qII0Y4jNApVZ +ICw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701947609; x=1702552409; 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=cd1jhV+Kh/V8UGgnPN8H8ix4gV6UKpJNpQeBveVjzsY=; b=dZ47I9ub2+te8GHqgfx4Tz9BRljT36bZYnkluc2vI60AzGXKA9sykyPj2TWVHFaJHS 5NqVOCp6xMT2Z9xgCbm0nSXwIekbhqkxCvkUs/bmmcHLg2Y4y0GL+z/9lNHw/RX0/uN9 k5LPXJx4/3A07ot1W5l5VlSwGc5cq66FjV8dZjiXRT0jS12P9BW3vDfpHT3V3mitsyjO 5xuxGC0+LUeYyD0Dg+vjbolKcdtfN9GJ23ZN8bA9s0V84x+jNHzVuwep7fyJI3nTRXeF Vr90HR48pxcpt8xftRZbR0lOKYvcuE44RZzy3P6U5hc0RHiATpo5I+fCIRulLXOdfut5 LGRg== X-Gm-Message-State: AOJu0YzaswXCbQ5n8BHDDR+g43r/YXRX7hDAaM6jjKDgpmr9urerl5CR coyN6guHHhWnQTOtTggDyKk= X-Received: by 2002:a5d:49d0:0:b0:333:4fd1:1c6b with SMTP id t16-20020a5d49d0000000b003334fd11c6bmr713944wrs.84.1701947609065; Thu, 07 Dec 2023 03:13:29 -0800 (PST) Received: from eichest-laptop.toradex.int ([2a02:168:af72:0:5036:93fe:290b:56de]) by smtp.gmail.com with ESMTPSA id b10-20020a5d550a000000b003333541a5bdsm1166096wrv.80.2023.12.07.03.13.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 03:13:28 -0800 (PST) From: Stefan Eichenberger <eichest@gmail.com> To: nick@shmanahar.org, dmitry.torokhov@gmail.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, claudiu.beznea@tuxon.dev, linus.walleij@linaro.org Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Stefan Eichenberger <stefan.eichenberger@toradex.com> Subject: [PATCH v1 1/2] dt-bindings: input: atmel,maxtouch: add poweroff-in-suspend property Date: Thu, 7 Dec 2023 12:12:59 +0100 Message-Id: <20231207111300.80581-2-eichest@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231207111300.80581-1-eichest@gmail.com> References: <20231207111300.80581-1-eichest@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 07 Dec 2023 03:13:44 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784621435469886865 X-GMAIL-MSGID: 1784621435469886865 |
Series |
Add a property to turn off the max touch controller in suspend mode
|
|
Commit Message
Stefan Eichenberger
Dec. 7, 2023, 11:12 a.m. UTC
From: Stefan Eichenberger <stefan.eichenberger@toradex.com> Add a new property to indicate that the device should be powered off in suspend mode. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> --- Documentation/devicetree/bindings/input/atmel,maxtouch.yaml | 6 ++++++ 1 file changed, 6 insertions(+)
Comments
On 07/12/2023 12:12, Stefan Eichenberger wrote: > diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml > index c40799355ed7..047a5101341c 100644 > --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml > +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml > @@ -87,6 +87,12 @@ properties: > - 2 # ATMEL_MXT_WAKEUP_GPIO > default: 0 > > + atmel,poweroff-in-suspend: > + description: | > + When this property is set, all supplies are turned off when the system is > + going to suspend. You described the desired Linux feature or behavior, not the actual hardware. The bindings are about the latter, so instead you need to rephrase the property and its description to match actual hardware capabilities/features/configuration etc. Best regards, Krzysztof
Hi Krzysztof, On Thu, Dec 07, 2023 at 05:59:08PM +0100, Krzysztof Kozlowski wrote: > On 07/12/2023 12:12, Stefan Eichenberger wrote: > > diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml > > index c40799355ed7..047a5101341c 100644 > > --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml > > +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml > > @@ -87,6 +87,12 @@ properties: > > - 2 # ATMEL_MXT_WAKEUP_GPIO > > default: 0 > > > > + atmel,poweroff-in-suspend: > > + description: | > > + When this property is set, all supplies are turned off when the system is > > + going to suspend. > > You described the desired Linux feature or behavior, not the actual > hardware. The bindings are about the latter, so instead you need to > rephrase the property and its description to match actual hardware > capabilities/features/configuration etc. Thanks a lot for the feedback. Would the following be okay as a description? vdda and vdd are switched off in suspend mode. Best regards, Stefan
On 08/12/2023 13:37, Stefan Eichenberger wrote: > Hi Krzysztof, > > On Thu, Dec 07, 2023 at 05:59:08PM +0100, Krzysztof Kozlowski wrote: >> On 07/12/2023 12:12, Stefan Eichenberger wrote: >>> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml >>> index c40799355ed7..047a5101341c 100644 >>> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml >>> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml >>> @@ -87,6 +87,12 @@ properties: >>> - 2 # ATMEL_MXT_WAKEUP_GPIO >>> default: 0 >>> >>> + atmel,poweroff-in-suspend: >>> + description: | >>> + When this property is set, all supplies are turned off when the system is >>> + going to suspend. >> >> You described the desired Linux feature or behavior, not the actual >> hardware. The bindings are about the latter, so instead you need to >> rephrase the property and its description to match actual hardware >> capabilities/features/configuration etc. > > Thanks a lot for the feedback. Would the following be okay as a > description? > > vdda and vdd are switched off in suspend mode. Are switched by who? Linux driver? Then nothing changed... Best regards, Krzysztof
On Thu, Dec 7, 2023 at 12:13 PM Stefan Eichenberger <eichest@gmail.com> wrote: > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > Add a new property to indicate that the device should be powered off in > suspend mode. > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> (...) > + atmel,poweroff-in-suspend: > + description: | > + When this property is set, all supplies are turned off when the system is > + going to suspend. > + type: boolean wakeup-source: type: boolean As Krzysztof says it seems you are describing an operating system feature. I can't help but wonder: shouldn't that pretty much be the default behaviour if wakeup-source is *not* specified? I.e. the property kind of describes !wakeup-source. Yours, Linus Walleij
Hi Krzysztof and Linux, On Fri, Dec 08, 2023 at 01:54:21PM +0100, Linus Walleij wrote: > On Thu, Dec 7, 2023 at 12:13 PM Stefan Eichenberger <eichest@gmail.com> wrote: > > > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > > > Add a new property to indicate that the device should be powered off in > > suspend mode. > > > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> > (...) > > + atmel,poweroff-in-suspend: > > + description: | > > + When this property is set, all supplies are turned off when the system is > > + going to suspend. > > + type: boolean > wakeup-source: > type: boolean > > As Krzysztof says it seems you are describing an operating system feature. > > I can't help but wonder: shouldn't that pretty much be the default behaviour > if wakeup-source is *not* specified? > > I.e. the property kind of describes !wakeup-source. The maxtouch controller has a deep sleep mode which is currently used without powering down vdd and vdda. However, because we have a shared regulator which powers other peripherals that we want to shut down in suspend we need a way to power down vdd and vdda. However, I agree this is not really a feature of the device. The feature would basically be the internal deep sleep mode. I didn't want to change the default behaviour of the driver, so I added this property but maybe I could change it to: atmel,deep-sleep: description: | Use the maxtouch deep-sleep mode instead of powering down vdd and vdda. Or to not change the default behaviour: atmel,no-deep-sleep: description: | Do not use the maxtouch deep-sleep mode but power down vdd and vdda in suspend. As I understand the datasheet even if the maxtouch is using its deep sleep mode it does not act as a wakeup source. It is just faster in waking up because it can keep the configuration in memory. Regards, Stefan
On Fri, Dec 8, 2023 at 2:11 PM Stefan Eichenberger <eichest@gmail.com> wrote: > > I can't help but wonder: shouldn't that pretty much be the default behaviour > > if wakeup-source is *not* specified? > > > > I.e. the property kind of describes !wakeup-source. > > The maxtouch controller has a deep sleep mode which is currently used > without powering down vdd and vdda. However, because we have a shared > regulator which powers other peripherals that we want to shut down in > suspend we need a way to power down vdd and vdda. However, I agree this > is not really a feature of the device. The feature would basically be > the internal deep sleep mode. While it is of no concern to the device tree bindings, Linux regulators are counting meaning that you need to make all peripherals disable their regulators and it will come down. > I didn't want to change the default > behaviour of the driver, so I added this property but maybe I could > change it to: > > atmel,deep-sleep: > description: | > Use the maxtouch deep-sleep mode instead of powering down vdd and > vdda. > > Or to not change the default behaviour: > atmel,no-deep-sleep: > description: | > Do not use the maxtouch deep-sleep mode but power down vdd and vdda > in suspend. > > As I understand the datasheet even if the maxtouch is using its deep > sleep mode it does not act as a wakeup source. Do you mean it can still work as a wakeup source in deep sleep mode? (there is a "not" too much above ...) > It is just faster in > waking up because it can keep the configuration in memory. That sounds like a good reason to have the property, because that means that if you can control the wakeup latency and specify in the binding how much in absolute time units it is affected. I would define it in positive terms instead of reverse "no-deep-sleep" though such as "atmel,fast-wakeup". And: If you disable the regulators it will probably *not* be able to wake the system up, right? And that is just a few lines of code in the driver such as: go_to_sleep(): if (!wakeup_source): disable_regulators() Yours, Linus Walleij
Hi Linus, On Fri, Dec 08, 2023 at 03:23:54PM +0100, Linus Walleij wrote: > On Fri, Dec 8, 2023 at 2:11 PM Stefan Eichenberger <eichest@gmail.com> wrote: > > > > I can't help but wonder: shouldn't that pretty much be the default behaviour > > > if wakeup-source is *not* specified? > > > > > > I.e. the property kind of describes !wakeup-source. > > > > The maxtouch controller has a deep sleep mode which is currently used > > without powering down vdd and vdda. However, because we have a shared > > regulator which powers other peripherals that we want to shut down in > > suspend we need a way to power down vdd and vdda. However, I agree this > > is not really a feature of the device. The feature would basically be > > the internal deep sleep mode. > > While it is of no concern to the device tree bindings, Linux regulators > are counting meaning that you need to make all peripherals disable > their regulators and it will come down. Yes we are working on that one. This is the last driver we need to allow disabling the regulator, afterward it should hoepfully work on our target system. > > > I didn't want to change the default > > behaviour of the driver, so I added this property but maybe I could > > change it to: > > > > atmel,deep-sleep: > > description: | > > Use the maxtouch deep-sleep mode instead of powering down vdd and > > vdda. > > > > Or to not change the default behaviour: > > atmel,no-deep-sleep: > > description: | > > Do not use the maxtouch deep-sleep mode but power down vdd and vdda > > in suspend. > > > > As I understand the datasheet even if the maxtouch is using its deep > > sleep mode it does not act as a wakeup source. > > Do you mean it can still work as a wakeup source in deep sleep mode? > (there is a "not" too much above ...) Sorry for the confusion. As it is configured now, it can not work as wakeup source in deep sleep mode. Touch is completely disabled. > > It is just faster in > > waking up because it can keep the configuration in memory. > > That sounds like a good reason to have the property, because that > means that if you can control the wakeup latency and specify in the binding > how much in absolute time units it is affected. > > I would define it in positive terms instead of reverse "no-deep-sleep" > though such as "atmel,fast-wakeup". > > And: If you disable the regulators it will probably *not* be able to wake the > system up, right? And that is just a few lines of code in the driver such as: > > go_to_sleep(): > if (!wakeup_source): > disable_regulators() So to not change the default behaviour I would have to name it: atmel,slow-wakeup or maybe even full wakeup because it does a wakeup from the disabled state? atmel,full-wakeup Exactly, the added code looks more or less exactly as you wrote. And on resume it does the opposite + configure it: resume(): if (!wakeup_source): enable_regulators() configure_maxtouch() Regards, Stefan
Hi Linus, Krzysztof, On Fri, Dec 08, 2023 at 01:54:21PM +0100, Linus Walleij wrote: > On Thu, Dec 7, 2023 at 12:13 PM Stefan Eichenberger <eichest@gmail.com> wrote: > > > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > > > Add a new property to indicate that the device should be powered off in > > suspend mode. > > > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> > (...) > > + atmel,poweroff-in-suspend: > > + description: | > > + When this property is set, all supplies are turned off when the system is > > + going to suspend. > > + type: boolean > wakeup-source: > type: boolean > > As Krzysztof says it seems you are describing an operating system feature. It appears to be an OS feature, but I would argue that it is also a property of a board. It is tempting to say that if DTS defines supplies for the controller we should use them to power off the controller in suspend, otherwise we should use the deep sleep functionality of the controller. But a mere presence of regulators does not indicate if they can actually be powered off in suspend (i.e. if controllers shares power rails with another device that can be a wakeup source), so we need to have additional hints on how OS should behave on a given device. On top of that we have regulator framework supplying dummy regulators... Thanks.
On Fri, Dec 08, 2023 at 11:37:47PM +0000, Dmitry Torokhov wrote: > Hi Linus, Krzysztof, > > On Fri, Dec 08, 2023 at 01:54:21PM +0100, Linus Walleij wrote: > > On Thu, Dec 7, 2023 at 12:13 PM Stefan Eichenberger <eichest@gmail.com> wrote: > > > > > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > > > > > Add a new property to indicate that the device should be powered off in > > > suspend mode. > > > > > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > (...) > > > + atmel,poweroff-in-suspend: > > > + description: | > > > + When this property is set, all supplies are turned off when the system is > > > + going to suspend. > > > + type: boolean > > wakeup-source: > > type: boolean > > > > As Krzysztof says it seems you are describing an operating system feature. > > It appears to be an OS feature, but I would argue that it is also a > property of a board. It is tempting to say that if DTS defines supplies > for the controller we should use them to power off the controller in > suspend, otherwise we should use the deep sleep functionality of the > controller. But a mere presence of regulators does not indicate if they > can actually be powered off in suspend (i.e. if controllers shares power > rails with another device that can be a wakeup source), so we need to > have additional hints on how OS should behave on a given device. > > On top of that we have regulator framework supplying dummy regulators... Simply rephrasing the property might be sufficient? The current one sounds making policy decisions with the "should be". Reframing the commit message and property description etc in terms of what aspect of the hardware the ability to turn off all supplies in suspend comes from would make it more acceptable. Pretty much answering the question "why can't we try and turn off all supplies on all systems with this device" should get things rolling. Cheers, Conor.
diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml index c40799355ed7..047a5101341c 100644 --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml @@ -87,6 +87,12 @@ properties: - 2 # ATMEL_MXT_WAKEUP_GPIO default: 0 + atmel,poweroff-in-suspend: + description: | + When this property is set, all supplies are turned off when the system is + going to suspend. + type: boolean + wakeup-source: type: boolean