of: merge machine_is_compatible()
[firefly-linux-kernel-4.4.55.git] / drivers / of / base.c
index ec56739eb247c3961e48fb9946b4041037ca3c56..dba995b70b847ed2962c99b7c55804c19f73136d 100644 (file)
@@ -143,6 +143,27 @@ int of_device_is_compatible(const struct device_node *device,
 }
 EXPORT_SYMBOL(of_device_is_compatible);
 
+/**
+ * machine_is_compatible - Test root of device tree for a given compatible value
+ * @compat: compatible string to look for in root node's compatible property.
+ *
+ * Returns true if the root node has the given value in its
+ * compatible property.
+ */
+int machine_is_compatible(const char *compat)
+{
+       struct device_node *root;
+       int rc = 0;
+
+       root = of_find_node_by_path("/");
+       if (root) {
+               rc = of_device_is_compatible(root, compat);
+               of_node_put(root);
+       }
+       return rc;
+}
+EXPORT_SYMBOL(machine_is_compatible);
+
 /**
  *  of_device_is_available - check if a device is available for use
  *