of: merge machine_is_compatible()

Merge common code between PowerPC and Microblaze

Signed-off-by: Grant Likely <[email protected]>
Tested-by: Wolfram Sang <[email protected]>
Acked-by: Benjamin Herrenschmidt <[email protected]>
diff --git a/drivers/of/base.c b/drivers/of/base.c
index ec56739..dba995b 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -144,6 +144,27 @@
 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
  *
  *  @device: Node to check for availability