mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/1] common: state: allow to overlay state backend
@ 2018-06-02 22:39 Pascal Vizeli
  0 siblings, 0 replies; only message in thread
From: Pascal Vizeli @ 2018-06-02 22:39 UTC (permalink / raw)
  To: barebox; +Cc: Pascal Vizeli

This allow to use overlay for state backends. I.e. on raspberry you need
use barebox with SDHCI (slow) and after linux boot it will use SDHOST driver.
But the problem now is, that the state is on SDHCI and dt-utils need it on
SDHOST. Actual it is not possible to overwrite this.

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---
 common/state/state.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/common/state/state.c b/common/state/state.c
index 25d950211..e6259043f 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -494,8 +494,17 @@ static int of_state_fixup(struct device_node *root, void *ctx)
 	}
 
 	/* backend phandle */
-	backend_node = of_find_node_by_reproducible_name(root,
-						state->backend_reproducible_name);
+	if (node) {
+		ret = of_property_read_u32(node, "backend", &phandle);
+		if (ret)
+			goto out;
+
+		backend_node = of_find_node_by_phandle_from(phandle, root);
+	} else {
+		backend_node = of_find_node_by_reproducible_name(root,
+					state->backend_reproducible_name);
+	}
+
 	if (!backend_node) {
 		ret = -ENODEV;
 		goto out;
-- 
2.17.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-06-02 22:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-02 22:39 [PATCH 1/1] common: state: allow to overlay state backend Pascal Vizeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox