summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl-uclass.c
diff options
context:
space:
mode:
authorKever Yang <kever.yang@rock-chips.com>2018-04-18 17:54:04 +0800
committerSimon Glass <sjg@chromium.org>2018-05-16 00:25:19 -0600
commitf717b4c8e7fc871573755a05be96c8ef857eabce (patch)
tree2512b24c8c7b9ae1bcd23c17f2908afd8d0ba7c4 /drivers/pinctrl/pinctrl-uclass.c
parent409fc029c407291ac8c8d7fefa051a73912dc657 (diff)
downloadu-boot-f717b4c8e7fc871573755a05be96c8ef857eabce.tar.gz
u-boot-f717b4c8e7fc871573755a05be96c8ef857eabce.tar.xz
u-boot-f717b4c8e7fc871573755a05be96c8ef857eabce.zip
pinctrl: do not set_state for device without valid ofnode
Not all the udevice have a available DT node, eg. rksdmmc@ff500000.blk which add by mmc_bind(), these device do not have/need set pinctrl state. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-uclass.c')
-rw-r--r--drivers/pinctrl/pinctrl-uclass.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
index d7e38ae729..c38bb212ed 100644
--- a/drivers/pinctrl/pinctrl-uclass.c
+++ b/drivers/pinctrl/pinctrl-uclass.c
@@ -199,6 +199,12 @@ static int pinctrl_select_state_simple(struct udevice *dev)
int pinctrl_select_state(struct udevice *dev, const char *statename)
{
/*
+ * Some device which is logical like mmc.blk, do not have
+ * a valid ofnode.
+ */
+ if (!ofnode_valid(dev->node))
+ return 0;
+ /*
* Try full-implemented pinctrl first.
* If it fails or is not implemented, try simple one.
*/