Messages in this thread | | | Date | Mon, 5 Mar 2012 16:03:02 +0800 | From | Dong Aisheng <> | Subject | Re: [PATCH V3 4/7] pinctrl: API changes to support multiple states per device |
| |
On Sat, Mar 03, 2012 at 04:05:47AM +0800, Stephen Warren wrote: > The API model is changed from: > > p = pinctrl_get(dev, "state1"); > pinctrl_enable(p); > ... > pinctrl_disable(p); > pinctrl_put(p); > p = pinctrl_get(dev, "state2"); > pinctrl_enable(p); > ... > pinctrl_disable(p); > pinctrl_put(p); > > to this: > > p = pinctrl_get(dev); > s1 = pinctrl_lookup_state(p, "state1"); > s2 = pinctrl_lookup_state(p, "state2"); > pinctrl_select_state(p, s1); > ... > pinctrl_select_state(p, s2); > ... > pinctrl_put(p); > > This allows devices to directly transition between states without > disabling the pin controller programming and put()/get()ing the > configuration data each time. This model will also better suit pinconf > programming, which doesn't have a concept of "disable". > > The special-case hogging feature of pin controllers is re-written to use > the regular APIs instead of special-case code. Hence, the pinmux-hogs > debugfs file is removed; see the top-level pinctrl-handles files for > equivalent data. > > Signed-off-by: Stephen Warren <swarren@nvidia.com> > --- > v3: Rebased. No logical changes. > v2: Make use of PINCTRL_STATE_DEFAULT, split out some documentation > cleanup into an earlier patch. Various minor fixes. Fixes due to > rebasing on updated earlier patches. Remove usecount field from struct > pinctrl; allow only one concurrent pinctrl_get() per device. > --- Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
I already acked it in v2, since no changes, ack it again. :-)
Regards Dong Aisheng
| |