diff options
author | Richard Fitzgerald <rf@opensource.cirrus.com> | 2018-02-28 15:53:06 +0000 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2018-03-02 09:41:21 +0100 |
commit | b89405b6102fcc3746f43697b826028caa94c823 (patch) | |
tree | edf3dbab652aad27a849b6b3f12ad4874f55cde1 /include/dt-bindings/gpio | |
parent | 536836d32cbc96af91f15add43f8960ffdac5569 (diff) | |
download | lwn-b89405b6102fcc3746f43697b826028caa94c823.tar.gz lwn-b89405b6102fcc3746f43697b826028caa94c823.zip |
pinctrl: devicetree: Fix dt_to_map_one_config handling of hogs
When dt_to_map_one_config() is called with a pinctrl_dev passed
in, it should only be using this if the node being looked up
is a hog. The code was always using the passed pinctrl_dev
without checking whether the dt node referred to it.
A pin controller can have pinctrl-n dependencies on other pin
controllers in these cases:
- the pin controller hardware is external, for example I2C, so
needs other pin controller(s) to be setup to communicate with
the hardware device.
- it is a child of a composite MFD so its of_node is shared with
the parent MFD and other children of that MFD. Any part of that
MFD could have dependencies on other pin controllers.
Because of this, dt_to_map_one_config() can't assume that if it
has a pinctrl_dev passed in then the node it looks up must be
a hog. It could be a reference to some other pin controller.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/dt-bindings/gpio')
0 files changed, 0 insertions, 0 deletions