dm: core: device: set pinctrl state for pinctrl device
authorPeng Fan <van.freenix@gmail.com>
Sat, 12 Mar 2016 05:17:38 +0000 (13:17 +0800)
committerSimon Glass <sjg@chromium.org>
Thu, 14 Apr 2016 17:51:39 +0000 (11:51 -0600)
commitc3ab985362188ba24847be2dc61dcdcf7b4ce049
tree9ea63ed8e5b3bc243f4b5816fbab6eb35ccd543c
parentff6552e8cc13c9b2283002144e297d63b30ac400
dm: core: device: set pinctrl state for pinctrl device

We may have pinmux settings for pinctrl device, like the following
example:
"
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
imx6ul-evk {
pinctrl_hog_1: hoggrp-1 {
fsl,pins = <
MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */
MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */
MX6UL_PAD_GPIO1_IO09__GPIO1_IO09        0x17059 /* SD1 RESET */
MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x80000000
>;
};
[......]
};
"

We should not only select pinctrl state for non pinctrl devices, we
need also to handle pin mux settings such as pinctrl_log for pinctrl
devices.

So at the end of probing process of pinctrl device, select the default
state of pinctrl device.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
drivers/core/device.c