From: Krzysztof Kozlowski <krzk@kernel.org>
To: Markus Schneider-Pargmann <msp@baylibre.com>,
Kendall Willis <k-willis@ti.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
s-kochidanadu@ti.com, a-kaur@ti.com, s-tripathi1@ti.com,
vishalm@ti.com, linux-input@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: input: gpio-keys: add pinctrl states
Date: Sun, 20 Sep 2026 12:24:32 +0200 [thread overview]
Message-ID: <dfd82438-1c40-42b7-8a90-bd349a476489@kernel.org> (raw)
In-Reply-To: <DLGUOGCLFAI9.2JSS4DCFRYTNI@baylibre.com>
On 16/09/2026 17:36, Markus Schneider-Pargmann wrote:
> On Wed Sep 16, 2026 at 9:17 AM CEST, Krzysztof Kozlowski wrote:
>> On Tue, Sep 15, 2026 at 12:41:03PM -0500, Kendall Willis wrote:
>>> On 19:07-20260915, Krzysztof Kozlowski wrote:
>>>> On 15/09/2026 19:05, Krzysztof Kozlowski wrote:
>>>>> On 15/09/2026 18:48, Kendall Willis wrote:
>>>>>> On 12:13-20260914, Krzysztof Kozlowski wrote:
>>>>>>> On Sat, Sep 12, 2026 at 04:33:53PM -0500, Kendall Willis wrote:
>>>>>>>> Document pinctrl properties on the gpio-keys device node. By using the
>>>>>>>> wakeup pinctrl state, the pins are able to wakeup the system from a
>>>>>>>> low-power state. The default pinctrl state describes the default pin
>>>>>>>> configuration.
>>>>>>>>
>>>>>>>> Signed-off-by: Kendall Willis <k-willis@ti.com>
>>>>>>>> ---
>>>>>>>> Documentation/devicetree/bindings/input/gpio-keys.yaml | 16 ++++++++++++++++
>>>>>>>> 1 file changed, 16 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/Documentation/devicetree/bindings/input/gpio-keys.yaml b/Documentation/devicetree/bindings/input/gpio-keys.yaml
>>>>>>>> index cc78c2152921308fe0cad3e29ca78a5fad08f066..b554933e93412d8b6c2ec401dc1e1eeff57d4190 100644
>>>>>>>> --- a/Documentation/devicetree/bindings/input/gpio-keys.yaml
>>>>>>>> +++ b/Documentation/devicetree/bindings/input/gpio-keys.yaml
>>>>>>>> @@ -22,6 +22,22 @@ properties:
>>>>>>>>
>>>>>>>> poll-interval: true
>>>>>>>>
>>>>>>>> + pinctrl-0:
>>>>>>>> + description: Default pinctrl state
>>>>>>>> +
>>>>>>>> + pinctrl-1:
>>>>>>>> + description: Wakeup pinctrl state
>>>>>>>> +
>>>>>>>> + pinctrl-names:
>>>>>>>> + description:
>>>>>>>> + When present should contain at least "default" describing the default pin
>>>>>>>> + states. The second state called "wakeup" describes the pins in their
>>>>>>>> + wakeup configuration required to exit sleep states.
>>>>>>>> + minItems: 1
>>>>>>>> + items:
>>>>>>>> + - const: default
>>>>>>>> + - const: wakeup
>>>>>>>
>>>>>>> This will introduce new warnings, which should be being fixed in this
>>>>>>> patchset (e.g. at91-kizbox3-hs.dts).
>>>>>>>
>>>>>>
>>>>>> Will fix the binding to work with current device trees.
>>>>>>
>>>>>>> But nevertheless, isn't second state the sleep state? How can you
>>>>>>> configure pins for the wakeup state - like being in the wakeup? You
>>>>>>> configure the pins for given state, which will be a system suspend, so
>>>>>>> sleep?
>>>>>>>
>>>>>>
>>>>>> The sleep state usually refers to putting the pins in a state to save
>>>>>> power. The wakeup pinctrl state is for putting the pins in a state to
>>>>>> allow wakeup from suspend for that device. Both 'sleep' and 'wakeup'
>>>>>> are for system suspend, but they fill different functions. The CAN
>>>>>> subsystem also uses the 'wakeup' state in addition to the 'sleep' state
>>>>>> [1].
>>>>>
>>>>> So you mean sleep would be a separate state? But then aren't both
>>>>> exactly the same states? IOW, if device is wakeup-source, it will have
>>>>> for "sleep" state pin configuration allowing to wakeup.
>>>
>>> The 'sleep' and 'wakeup' pin states are both used for suspend. They
>>> would just be used separately since only one could be used at a time.
>>> The reason 'wakeup' is separated out is because it is more specific for
>>> allowing wakeup from the device.
>>
>> If they cannot be used together, then it is the same state.
>
> If I understand this patch correctly, 'sleep' is not relevant here.
> But 'sleep' and 'wakeup' serve different purposes and can be
> used/defined together in a single device in the devicetree:
> - 'sleep' describes the pin state during suspend if wakeup is not
> enabled by the user or there is no 'wakeup' pin state defined.
> - 'wakeup' describes the pin state during suspend if wakeup is enabled
> by the user.
> If the user enables wakeup, 'wakeup' is the relevant state and otherwise
> 'sleep'. Which one applieas is a runtime decision of the the user.
>
> I introduced these two states for m_can for that reason. This was
> discussed here:
> https://lore.kernel.org/r/DCD1YPX4T779.ADK4JCGW1MU7@baylibre.com
>
> And then reviewed/applied in v10:
> https://lore.kernel.org/r/175993598226.3512549.5295923279078928995.robh@kernel.org
So we seems to be discussing same issue again, because commit msg lacks
proper explanations.
The problem and difference here is that there is no sleep state.
Best regards,
Krzysztof
next prev parent reply other threads:[~2026-09-20 10:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-12 21:33 [PATCH 0/2] Input: gpio-keys - support wakeup pinctrl state Kendall Willis
2026-09-12 21:33 ` [PATCH 1/2] dt-bindings: input: gpio-keys: add pinctrl states Kendall Willis
2026-09-14 10:13 ` Krzysztof Kozlowski
2026-09-15 16:48 ` Kendall Willis
2026-09-15 17:05 ` Krzysztof Kozlowski
2026-09-15 17:07 ` Krzysztof Kozlowski
2026-09-15 17:41 ` Kendall Willis
2026-09-16 7:17 ` Krzysztof Kozlowski
2026-09-16 15:36 ` Markus Schneider-Pargmann
2026-09-20 10:24 ` Krzysztof Kozlowski [this message]
2026-09-12 21:33 ` [PATCH 2/2] Input: gpio-keys - support wakeup pinctrl state on suspend Kendall Willis
2026-09-14 7:51 ` Markus Schneider-Pargmann
2026-09-15 16:09 ` Kendall Willis
2026-09-14 5:59 ` [PATCH 0/2] Input: gpio-keys - support wakeup pinctrl state Francesco Dolcini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dfd82438-1c40-42b7-8a90-bd349a476489@kernel.org \
--to=krzk@kernel.org \
--cc=a-kaur@ti.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=k-willis@ti.com \
--cc=krzk+dt@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=msp@baylibre.com \
--cc=robh@kernel.org \
--cc=s-kochidanadu@ti.com \
--cc=s-tripathi1@ti.com \
--cc=vishalm@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®