summaryrefslogtreecommitdiff
path: root/drivers/core
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-09-25 08:55:53 -0600
committerBin Meng <bmeng.cn@gmail.com>2019-10-08 13:57:38 +0800
commitea14778d0680f8a3f262a06ceb52ea17deb6a104 (patch)
treeb2bd1cbbcd766181bccbd79d58bb55133271a9b8 /drivers/core
parentad9504793622c3c745460572b236109e2d69bae4 (diff)
dm: core: Call ofdata_to_platdata() with of-platdata
At present this function is never called when of-platdata is enabled since we never have a device tree. However, this function is responsible for copying over the of-platdata, so we must call it. Otherwise the probe() method would have to be used. Correct this and fix the sandbox serial driver to not read from the device tree and try to write to what is read-only platdata on some platforms. Fixes: 396e343b3d (dm: core: Allow binding a device from a live tree) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'drivers/core')
-rw-r--r--drivers/core/device.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 05dadf98f9..84f0f0fbf0 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -404,7 +404,8 @@ int device_probe(struct udevice *dev)
goto fail;
}
- if (drv->ofdata_to_platdata && dev_has_of_node(dev)) {
+ if (drv->ofdata_to_platdata &&
+ (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
ret = drv->ofdata_to_platdata(dev);
if (ret)
goto fail;