summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl-uclass.c
diff options
context:
space:
mode:
authorUrja Rannikko <urjaman@gmail.com>2019-03-22 19:14:33 +0000
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2019-05-01 00:00:05 +0200
commit63402831e0b68ded49c054989fffdfd88b98953b (patch)
tree2b5d36237dd5471bfe0063404726b2baf3e7ea7c /drivers/pinctrl/pinctrl-uclass.c
parented9c9059f22f2ee1ada4dbc4603f3688bd70e37c (diff)
downloadu-boot-63402831e0b68ded49c054989fffdfd88b98953b.tar.gz
u-boot-63402831e0b68ded49c054989fffdfd88b98953b.tar.xz
u-boot-63402831e0b68ded49c054989fffdfd88b98953b.zip
pinctrl: exit pinconfig_post_bind if there are no subnodes
This fixes RK3288 SPL hanging or hitting this assert: drivers/core/ofnode.c:183: ofnode_first_subnode: Assertion `ofnode_valid(node)' failed. Signed-off-by: Urja Rannikko <urjaman@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Diffstat (limited to 'drivers/pinctrl/pinctrl-uclass.c')
-rw-r--r--drivers/pinctrl/pinctrl-uclass.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
index 0e6c559d5e..f01bc77a57 100644
--- a/drivers/pinctrl/pinctrl-uclass.c
+++ b/drivers/pinctrl/pinctrl-uclass.c
@@ -116,6 +116,9 @@ static int pinconfig_post_bind(struct udevice *dev)
ofnode node;
int ret;
+ if (!dev_of_valid(dev))
+ return 0;
+
dev_for_each_subnode(node, dev) {
if (pre_reloc_only &&
!ofnode_pre_reloc(node))