summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/fdtdec.h10
-rw-r--r--lib/fdtdec.c14
2 files changed, 24 insertions, 0 deletions
diff --git a/include/fdtdec.h b/include/fdtdec.h
index f8a4e94..a37cf54 100644
--- a/include/fdtdec.h
+++ b/include/fdtdec.h
@@ -399,6 +399,16 @@ int fdtdec_get_config_int(const void *blob, const char *prop_name,
int default_val);
/**
+ * Look in the FDT for a config item with the given name
+ * and return whether it exists.
+ *
+ * @param blob FDT blob
+ * @param prop_name property name to look up
+ * @return 1, if it exists, or 0 if not
+ */
+int fdtdec_get_config_bool(const void *blob, const char *prop_name);
+
+/**
* Look in the FDT for a config item with the given name and return its value
* as a string.
*
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 96f3e7b..da12df2 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -524,6 +524,20 @@ int fdtdec_get_config_int(const void *blob, const char *prop_name,
return fdtdec_get_int(blob, config_node, prop_name, default_val);
}
+int fdtdec_get_config_bool(const void *blob, const char *prop_name)
+{
+ int config_node;
+ const void *prop;
+
+ debug("%s: %s\n", __func__, prop_name);
+ config_node = fdt_path_offset(blob, "/config");
+ if (config_node < 0)
+ return 0;
+ prop = fdt_get_property(blob, config_node, prop_name, NULL);
+
+ return prop != NULL;
+}
+
char *fdtdec_get_config_string(const void *blob, const char *prop_name)
{
const char *nodep;