summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-11-14 12:35:52 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-11-14 12:35:52 +0100
commitf55e379fca456444ade761358e8cce8657ea9672 (patch)
tree5ded95597e4a70f09ab04e55687738d56728e8f9 /drivers
parente5374fa4d443b25fc12a578a978621dcacc380df (diff)
parent63cc1eb8ebbee4b16c659029d263ae791c6eac9c (diff)
downloadbarebox-f55e379fca456444ade761358e8cce8657ea9672.tar.gz
barebox-f55e379fca456444ade761358e8cce8657ea9672.tar.xz
Merge branch 'for-next/state'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/state.c8
-rw-r--r--drivers/of/of_path.c3
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/misc/state.c b/drivers/misc/state.c
index b9eb1b7bb2..b43aee60fe 100644
--- a/drivers/misc/state.c
+++ b/drivers/misc/state.c
@@ -28,8 +28,12 @@ static int state_probe(struct device_d *dev)
bool readonly = false;
state = state_new_from_node(np, NULL, 0, 0, readonly);
- if (IS_ERR(state))
- return PTR_ERR(state);
+ if (IS_ERR(state)) {
+ int ret = PTR_ERR(state);
+ if (ret == -ENODEV)
+ ret = -EPROBE_DEFER;
+ return ret;
+ }
return 0;
}
diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c
index 1f5106df55..946b9c7aa1 100644
--- a/drivers/of/of_path.c
+++ b/drivers/of/of_path.c
@@ -66,6 +66,9 @@ static int __of_find_path(struct device_node *node, const char *part, char **out
return -ENODEV;
}
+ if (!dev->driver)
+ return -ENODEV;
+
device_detect(dev);
if (part)