summaryrefslogtreecommitdiff
path: root/drivers/core
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-08-07 16:24:01 +0300
committerSimon Glass <sjg@chromium.org>2021-09-25 18:46:15 +0300
commit7de8bd03c37af6120cf5bba9bf1adb492ed56868 (patch)
tree03d977384b888feedf77e0d274f7682d732d6be9 /drivers/core
parentbb38d77ca779cc8bdad3d4ceb6cecc687f4987c2 (diff)
downloadu-boot-7de8bd03c37af6120cf5bba9bf1adb492ed56868.tar.xz
treewide: fdt: Move fdt_get_config_... to ofnode_conf_read...
The current API is outdated as it requires a devicetree pointer. Move these functions to use the ofnode API and update this globally. Add some tests while we are here. Correct the call in exynos_dsim_config_parse_dt() which is obviously wrong. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core')
-rw-r--r--drivers/core/ofnode.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 701b23e2c9..08705ef8d9 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -1103,3 +1103,36 @@ int ofnode_set_enabled(ofnode node, bool value)
else
return ofnode_write_string(node, "status", "disabled");
}
+
+bool ofnode_conf_read_bool(const char *prop_name)
+{
+ ofnode node;
+
+ node = ofnode_path("/config");
+ if (!ofnode_valid(node))
+ return false;
+
+ return ofnode_read_bool(node, prop_name);
+}
+
+int ofnode_conf_read_int(const char *prop_name, int default_val)
+{
+ ofnode node;
+
+ node = ofnode_path("/config");
+ if (!ofnode_valid(node))
+ return default_val;
+
+ return ofnode_read_u32_default(node, prop_name, default_val);
+}
+
+const char *ofnode_conf_read_str(const char *prop_name)
+{
+ ofnode node;
+
+ node = ofnode_path("/config");
+ if (!ofnode_valid(node))
+ return NULL;
+
+ return ofnode_read_string(node, prop_name);
+}