From f717b4c8e7fc871573755a05be96c8ef857eabce Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Wed, 18 Apr 2018 17:54:04 +0800 Subject: [PATCH] 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 Reviewed-by: Simon Glass --- drivers/pinctrl/pinctrl-uclass.c | 6 ++++++ 1 file changed, 6 insertions(+) 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 @@ -198,6 +198,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. -- 2.30.2