Messages in this thread | | | Date | Wed, 14 Aug 2013 18:41:09 +0200 | Subject | Re: [PATCH 3/4] pinctrl: Add support for additional dynamic states | From | Linus Walleij <> |
| |
On Tue, Jul 30, 2013 at 12:01 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> I was thinking more about people writing the device trees that define > these states; they need to explicitly make the choice re: overlapping > states or independent states. We should not plan to obsolete any current > usage of overlapping states since that will mean an incompatible change > to the DT ABI (deprecate yes so that no more usage is added, but the > kernel should still support the old way).
This is another reason to not group and encode explicitly the pins that remain unchanged during state transitions.
I prefer that either:
- when we build up the state containers in the subsystem, we identify overlapping pins and encode them in the state container somehow
or:
- when transitioning from state A -> state B we identify ovelapping pins or groups of pins and do not touch them by making calls down to the driver ->free() and ->request() callback pair.
or:
the pinctrl-single.c driver in it's callbacks like ->enable() ->disable(), ->request(), ->free() internally short cuts from its knowledge of such pin shortcuts and no other drivers are affected (nor helped) by this optimization.
Yours, Linus Walleij
| |