diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-11-14 12:35:52 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-11-14 12:35:52 +0100 |
commit | f55e379fca456444ade761358e8cce8657ea9672 (patch) | |
tree | 5ded95597e4a70f09ab04e55687738d56728e8f9 /drivers | |
parent | e5374fa4d443b25fc12a578a978621dcacc380df (diff) | |
parent | 63cc1eb8ebbee4b16c659029d263ae791c6eac9c (diff) | |
download | barebox-f55e379fca456444ade761358e8cce8657ea9672.tar.gz barebox-f55e379fca456444ade761358e8cce8657ea9672.tar.xz |
Merge branch 'for-next/state'
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/misc/state.c | 8 | ||||
-rw-r--r-- | drivers/of/of_path.c | 3 |
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) |