fdt: Add function to read boolean property
authorGabe Black <gabeblack@chromium.org>
Thu, 25 Oct 2012 16:31:04 +0000 (16:31 +0000)
committerGerald Van Baren <gvb@unssw.com>
Tue, 13 Nov 2012 04:14:57 +0000 (23:14 -0500)
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
include/fdtdec.h
lib/fdtdec.c

index f8a4e94..a37cf54 100644 (file)
@@ -398,6 +398,16 @@ int fdtdec_setup_gpio(struct fdt_gpio_state *gpio);
 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.
index 96f3e7b..da12df2 100644 (file)
@@ -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;