All of lore.kernel.org
 help / color / mirror / Atom feed
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] pinctrl: document the pinctrl PM states
Date: Wed, 19 Jun 2013 14:06:22 -0600	[thread overview]
Message-ID: <51C20F3E.5060302@wwwdotorg.org> (raw)
In-Reply-To: <20130617180212.GU20992@atomide.com>

On 06/17/2013 12:02 PM, Tony Lindgren wrote:
> * Linus Walleij <linus.walleij@linaro.org> [130617 09:11]:
>> On Mon, Jun 17, 2013 at 9:20 AM, Tony Lindgren <tony@atomide.com> wrote:
>>
>>> First, I think the concept of remuxing (or even checking) _all_ the pins
>>> for a consumer device is wrong on most if not all hardware. For past 10
>>> years I have not seen a case where _all_ the pins for a device would need
>>> to be remuxed for any reason.
>>
>> We may be talking past each other here. On the ux500 we use a lot
>> of runtime pincontrol, but none of this is *remuxing*.
>>
>> We are only *reconfiguring*.
> 
> Hmm routing the signal to a different device is certainly
> remuxing but yeah configuring pulls etc does not change the
> mux.
>  
>> Now I know that Haojian only recently added pin config to the
>> pinctrl-single.c driver so maybe you have mostly seen muxing
>> in your driver so far, so you view of the world is a bit different.
>>
>> On the Nomadik pin controller we do mostly hogged muxing
>> at boot time, but a lot of runtime reconfiguration. So our
>> needs are very different.
>>
>> Bear in mind that struct pinctl * forks effects in two paths,
>> one is muxing the other is config, like pull-ups etc.
> 
> I also thought the plan was to merge pinmux and pinconf and
> do things based the named modes?

Yes, pinctrl_select_state() simply applies a certain named state. A
named state can include values for both mux settings and pin
configuration values. So, everything is unified under this top-level
API. There's certainly no need (nor allowance for really) drivers to be
touching and pin_config API directly.

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren@wwwdotorg.org>
To: Tony Lindgren <tony@atomide.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Linus Walleij <linus.walleij@stericsson.com>,
	Stephen Warren <swarren@nvidia.com>,
	Kevin Hilman <khilman@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Ulf Hansson <ulf.hansson@linaro.org>
Subject: Re: [PATCH] pinctrl: document the pinctrl PM states
Date: Wed, 19 Jun 2013 14:06:22 -0600	[thread overview]
Message-ID: <51C20F3E.5060302@wwwdotorg.org> (raw)
In-Reply-To: <20130617180212.GU20992@atomide.com>

On 06/17/2013 12:02 PM, Tony Lindgren wrote:
> * Linus Walleij <linus.walleij@linaro.org> [130617 09:11]:
>> On Mon, Jun 17, 2013 at 9:20 AM, Tony Lindgren <tony@atomide.com> wrote:
>>
>>> First, I think the concept of remuxing (or even checking) _all_ the pins
>>> for a consumer device is wrong on most if not all hardware. For past 10
>>> years I have not seen a case where _all_ the pins for a device would need
>>> to be remuxed for any reason.
>>
>> We may be talking past each other here. On the ux500 we use a lot
>> of runtime pincontrol, but none of this is *remuxing*.
>>
>> We are only *reconfiguring*.
> 
> Hmm routing the signal to a different device is certainly
> remuxing but yeah configuring pulls etc does not change the
> mux.
>  
>> Now I know that Haojian only recently added pin config to the
>> pinctrl-single.c driver so maybe you have mostly seen muxing
>> in your driver so far, so you view of the world is a bit different.
>>
>> On the Nomadik pin controller we do mostly hogged muxing
>> at boot time, but a lot of runtime reconfiguration. So our
>> needs are very different.
>>
>> Bear in mind that struct pinctl * forks effects in two paths,
>> one is muxing the other is config, like pull-ups etc.
> 
> I also thought the plan was to merge pinmux and pinconf and
> do things based the named modes?

Yes, pinctrl_select_state() simply applies a certain named state. A
named state can include values for both mux settings and pin
configuration values. So, everything is unified under this top-level
API. There's certainly no need (nor allowance for really) drivers to be
touching and pin_config API directly.

  reply	other threads:[~2013-06-19 20:06 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-11 19:59 [PATCH] pinctrl: document the pinctrl PM states Linus Walleij
2013-06-11 19:59 ` Linus Walleij
2013-06-12 18:37 ` Tony Lindgren
2013-06-12 18:37   ` Tony Lindgren
2013-06-13 19:39 ` Stephen Warren
2013-06-13 19:39   ` Stephen Warren
2013-06-13 20:34   ` Linus Walleij
2013-06-13 20:34     ` Linus Walleij
2013-06-14 15:43     ` Stephen Warren
2013-06-14 15:43       ` Stephen Warren
2013-06-16 10:17       ` Linus Walleij
2013-06-16 10:17         ` Linus Walleij
2013-06-17  7:20       ` Tony Lindgren
2013-06-17  7:20         ` Tony Lindgren
2013-06-17 15:56         ` Linus Walleij
2013-06-17 15:56           ` Linus Walleij
2013-06-17 18:06           ` Tony Lindgren
2013-06-17 18:06             ` Tony Lindgren
2013-06-17 18:15           ` Rohit Vaswani
2013-06-17 18:15             ` Rohit Vaswani
2013-06-17 16:05         ` Linus Walleij
2013-06-17 16:05           ` Linus Walleij
2013-06-17 18:02           ` Tony Lindgren
2013-06-17 18:02             ` Tony Lindgren
2013-06-19 20:06             ` Stephen Warren [this message]
2013-06-19 20:06               ` Stephen Warren
2013-06-24 12:37             ` Linus Walleij
2013-06-24 12:37               ` Linus Walleij
2013-06-25  7:31               ` Tony Lindgren
2013-06-25  7:31                 ` Tony Lindgren
2013-06-19 20:02         ` Stephen Warren
2013-06-19 20:02           ` Stephen Warren
2013-06-20  6:38           ` Tony Lindgren
2013-06-20  6:38             ` Tony Lindgren
2013-06-20 19:26             ` Stephen Warren
2013-06-20 19:26               ` Stephen Warren
2013-06-21  6:25               ` Tony Lindgren
2013-06-21  6:25                 ` Tony Lindgren
2013-06-21 19:12                 ` Stephen Warren
2013-06-21 19:12                   ` Stephen Warren
2013-06-24 10:10                   ` Tony Lindgren
2013-06-24 10:10                     ` Tony Lindgren
2013-06-24 18:09                     ` Stephen Warren
2013-06-24 18:09                       ` Stephen Warren
2013-06-25  7:38                       ` Tony Lindgren
2013-06-25  7:38                         ` Tony Lindgren

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=51C20F3E.5060302@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.