diff options
author | Simon Glass <sjg@chromium.org> | 2021-08-07 16:24:01 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2021-09-25 18:46:15 +0300 |
commit | 7de8bd03c37af6120cf5bba9bf1adb492ed56868 (patch) | |
tree | 03d977384b888feedf77e0d274f7682d732d6be9 /drivers/core | |
parent | bb38d77ca779cc8bdad3d4ceb6cecc687f4987c2 (diff) | |
download | u-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.c | 33 |
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); +} |