[PATCH] drivers: pinctrl: add active state to core

Tony Lindgren tony at atomide.com
Wed Jun 12 14:33:45 EDT 2013


* Linus Walleij <linus.walleij at linaro.org> [130611 12:59]:
> On Tue, Jun 11, 2013 at 6:33 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> > On 06/11/2013 02:16 AM, Linus Walleij wrote:
> >> From: Linus Walleij <linus.walleij at linaro.org>
> >>
> >> In addition to the recently introduced pinctrl core
> >> control, the PM runtime pin control for the OMAP platforms
> >> require a fourth state in addtition to the default, idle and
> >> sleep states already handled by the core: an explicit "active"
> >> state. Let's introduce this to the core in addition to the
> >> other states already defined.
> >
> > Surely "default" /is/ "active"? That's what it's meant so far.
> 
> I thought so too, until Tony informed us that in the OMAP world
> this state is not always the active one.
> 
> But I don't know the exact reasons for.
> 
> I guess that some "default" states on the OMAP may mean these
> are configured as decoupled, inactive, until explicitly activated
> or something like that.

The main reason is that remuxing all the pins for a device for
PM runtime suspend and resume is not necessary. Most pins are
static and configured once during the consumer driver probe.
And in most cases, remuxing only one pin for the rx line is
needed. This is performance critical as it may need to be done
constantly while entering and exiting idle, and remuxing all the
pins is just a waste of cycles.

Regards,

Tony 



More information about the linux-arm-kernel mailing list