blob: 996ad10740ffe21ba0890b5117a56246c45ea4fb [file] [log] [blame]
Andrew Geissler6454e372020-10-30 15:41:26 -05001From 336d86ebd146905cf4384912f4f27699b6e37c72 Mon Sep 17 00:00:00 2001
2From: Simon Glass <sjg@chromium.org>
3Date: Sun, 29 Dec 2019 21:19:17 -0700
4Subject: [PATCH] dm: core: Move ofdata_to_platdata() call earlier
5
6This method is supposed to extract platform data from the device tree. It
7should be done before the device itself is probed. Move it earlier in the
8device_probe() function.
9
10Upstream-Status: Backport
11
12Signed-off-by: Simon Glass <sjg@chromium.org>
13---
14 drivers/core/device.c | 14 +++++++-------
15 1 file changed, 7 insertions(+), 7 deletions(-)
16
17diff --git a/drivers/core/device.c b/drivers/core/device.c
18index 4e03708..291ff4c 100644
19--- a/drivers/core/device.c
20+++ b/drivers/core/device.c
21@@ -375,6 +375,13 @@ int device_probe(struct udevice *dev)
22 return 0;
23 }
24
25+ if (drv->ofdata_to_platdata &&
26+ (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
27+ ret = drv->ofdata_to_platdata(dev);
28+ if (ret)
29+ goto fail;
30+ }
31+
32 seq = uclass_resolve_seq(dev);
33 if (seq < 0) {
34 ret = seq;
35@@ -411,13 +418,6 @@ int device_probe(struct udevice *dev)
36 goto fail;
37 }
38
39- if (drv->ofdata_to_platdata &&
40- (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
41- ret = drv->ofdata_to_platdata(dev);
42- if (ret)
43- goto fail;
44- }
45-
46 /* Only handle devices that have a valid ofnode */
47 if (dev_of_valid(dev)) {
48 /*
49--
502.7.4
51