devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Tony Lindgren <tony@atomide.com>
Cc: linux-gpio@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	ckeepax@opensource.cirrus.com,
	ckeepax@opensource.wolfsonmicro.com, swarren@nvidia.com,
	andy.shevchenko@gmail.com, alcooperx@gmail.com,
	bcm-kernel-feedback-list@broadcom.com
Subject: Re: [PATCH v2 1/2] pinctrl: Allow a device to indicate when to force a state
Date: Wed, 29 Nov 2017 10:15:41 -0800	[thread overview]
Message-ID: <ff2e6268-4738-4858-5cf0-368a23c81ccc@gmail.com> (raw)
In-Reply-To: <20171129174500.GJ28152@atomide.com>

On 11/29/2017 09:45 AM, Tony Lindgren wrote:
> * Florian Fainelli <f.fainelli@gmail.com> [171129 17:37]:
>> On 11/29/2017 09:01 AM, Tony Lindgren wrote:
>>> * Florian Fainelli <f.fainelli@gmail.com> [171102 23:18]:
>>>> It may happen that a device needs to force applying a state, e.g:
>>>> because it only defines one state of pin states (default) but loses
>>>> power/register contents when entering low power modes. Add a
>>>> pinctrl_dev::flags bitmask to help describe future quirks and define
>>>> PINCTRL_FLG_FORCE_STATE as such a settable flag.
>>>
>>> It makes sense to tag the existing state with the context loss
>>> information as otherwise we'll be duplicating the state in the
>>> pinctrl driver potentially for hundreds of pins.
>>>
>>> Maybe this patch description should clarify that it's the
>>> pinctrl device restoring the pin state, not the pinctrl
>>> consumer devices?
>>>
>>> So maybe just "a pinctrl device needs to force apply a state"
>>> instead of just device above?
>>
>> It's a bit more involved than that, the pinctrl consumer device might
>> want to restore a particular state by calling pinctrl_select_state(),
>> however, because of the (p->state == state)check, the pinctrl provider
>> driver has no chance of making that call do the actual HW programming.
> 
> Hmm but isn't it the pinctrl provider device losing context here?

It is the pinctrl provider indeed.

> I think the restore of the pin state should somehow happen automatically
> by the pinctrl provider driver without a need for the pinctrl consumer
> drivers to do anything.

Correct.

> 
> Or what's the use case for pinctrl consumer driver wanting to store
> a pin?

I actually meant that a consumer driver could aalso call
pinctrl_select_state() in one of its resume callback for instance, but
if the pinctrl provider driver does nothing (or rather the core, on
behalf of the provider), this would be an issue. This was not super
clear, so I will stop using that example from now on :)
-- 
Florian

  reply	other threads:[~2017-11-29 18:15 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-02 23:15 [PATCH v2 0/2] pinctrl: Allow indicating loss of state across suspend/resume Florian Fainelli
2017-11-02 23:15 ` [PATCH v2 1/2] pinctrl: Allow a device to indicate when to force a state Florian Fainelli
     [not found]   ` <20171102231551.16220-2-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-11-29 13:06     ` Linus Walleij
2017-11-29 17:01   ` Tony Lindgren
2017-11-29 17:35     ` Florian Fainelli
2017-11-29 17:45       ` Tony Lindgren
2017-11-29 18:15         ` Florian Fainelli [this message]
2017-11-29 18:27           ` Tony Lindgren
2017-11-02 23:15 ` [PATCH v2 2/2] pinctrl: Allow indicating loss of pin states during low-power Florian Fainelli
2017-11-29 13:01   ` Linus Walleij
     [not found]     ` <CACRpkdZtFRB_iy1bDPZ0wkK0jf7pkTGtbZG4gQUJVR+eiO+dhA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-29 17:02       ` Tony Lindgren
     [not found]         ` <20171129170247.GI28152-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2017-11-29 17:37           ` Florian Fainelli
     [not found]             ` <96cf5d74-3acf-07b9-9ad8-1011cd99a860-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-12-02 12:48               ` Linus Walleij
2017-12-10 23:38                 ` Florian Fainelli
     [not found]                   ` <908c66f9-f9bd-a4df-e241-75595a3a3e27-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-12-20  7:24                     ` Linus Walleij
2017-12-30 19:31                       ` Florian Fainelli
     [not found] ` <20171102231551.16220-1-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-11-03 10:37   ` [PATCH v2 0/2] pinctrl: Allow indicating loss of state across suspend/resume Charles Keepax
2017-11-03 16:11     ` Tony Lindgren
2017-11-03 17:02       ` Florian Fainelli
2017-11-03 17:33         ` Tony Lindgren
2017-11-04  8:37           ` Charles Keepax
     [not found]             ` <20171104083707.gtmnhbrzlqjulwe4-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-11-07 16:00               ` Tony Lindgren
     [not found]           ` <20171103173353.GJ28152-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2017-11-04 12:25             ` Rafael J. Wysocki
2017-11-04 17:19               ` Florian Fainelli
2017-11-07 16:00                 ` Tony Lindgren
2017-11-08  0:23                   ` Rafael J. Wysocki
2017-11-08  0:28                     ` Florian Fainelli
2017-11-08  0:45                       ` Rafael J. Wysocki
2017-11-08  1:04                         ` Tony Lindgren
2017-11-08  1:02                     ` Tony Lindgren
     [not found]     ` <20171103103707.3e5wb3c7foxbuvvg-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-11-03 17:03       ` Florian Fainelli

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=ff2e6268-4738-4858-5cf0-368a23c81ccc@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=alcooperx@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=ckeepax@opensource.wolfsonmicro.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=swarren@nvidia.com \
    --cc=tony@atomide.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;
as well as URLs for NNTP newsgroup(s).