of/fdt: Fix ‘of_fdt_match’ defined but not used compiler warning
authorKefeng Wang <wangkefeng.wang@huawei.com>
Sat, 15 Jun 2019 03:03:43 +0000 (11:03 +0800)
committerRob Herring <robh@kernel.org>
Tue, 18 Jun 2019 14:10:43 +0000 (08:10 -0600)
When CONFIG_OF_EARLY_FLATTREE is disabled, there is a compiler
warning,

drivers/of/fdt.c:129:19: warning: ‘of_fdt_match’ defined but not used [-Wunused-function]
 static int __init of_fdt_match(const void *blob, unsigned long node,

Since the only caller of of_fdt_match() is of_flat_dt_match(),
let's move the body of of_fdt_match() into of_flat_dt_match()
and eliminate of_fdt_match().

Meanwhile, move of_fdt_is_compatible() under CONFIG_OF_EARLY_FLATTREE,
as all callers are over there.

Fixes: 9b4d2b635bd0 ("of/fdt: Remove dead code and mark functions with __init")
Cc: Frank Rowand <frowand.list@gmail.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/fdt.c

index 3d36b5afd9bdff1751c18f1766551ddc69353b19..cd17dc62a71980ad7bc163f57b9ca4a640811ee8 100644 (file)
@@ -78,38 +78,6 @@ void __init of_fdt_limit_memory(int limit)
        }
 }
 
-/**
- * of_fdt_is_compatible - Return true if given node from the given blob has
- * compat in its compatible list
- * @blob: A device tree blob
- * @node: node to test
- * @compat: compatible string to compare with compatible list.
- *
- * On match, returns a non-zero value with smaller values returned for more
- * specific compatible values.
- */
-static int of_fdt_is_compatible(const void *blob,
-                     unsigned long node, const char *compat)
-{
-       const char *cp;
-       int cplen;
-       unsigned long l, score = 0;
-
-       cp = fdt_getprop(blob, node, "compatible", &cplen);
-       if (cp == NULL)
-               return 0;
-       while (cplen > 0) {
-               score++;
-               if (of_compat_cmp(cp, compat, strlen(compat)) == 0)
-                       return score;
-               l = strlen(cp) + 1;
-               cp += l;
-               cplen -= l;
-       }
-
-       return 0;
-}
-
 static bool of_fdt_device_is_available(const void *blob, unsigned long node)
 {
        const char *status = fdt_getprop(blob, node, "status", NULL);
@@ -123,27 +91,6 @@ static bool of_fdt_device_is_available(const void *blob, unsigned long node)
        return false;
 }
 
-/**
- * of_fdt_match - Return true if node matches a list of compatible values
- */
-static int __init of_fdt_match(const void *blob, unsigned long node,
-                              const char *const *compat)
-{
-       unsigned int tmp, score = 0;
-
-       if (!compat)
-               return 0;
-
-       while (*compat) {
-               tmp = of_fdt_is_compatible(blob, node, *compat);
-               if (tmp && (score == 0 || (tmp < score)))
-                       score = tmp;
-               compat++;
-       }
-
-       return score;
-}
-
 static void *unflatten_dt_alloc(void **mem, unsigned long size,
                                       unsigned long align)
 {
@@ -764,6 +711,38 @@ const void *__init of_get_flat_dt_prop(unsigned long node, const char *name,
        return fdt_getprop(initial_boot_params, node, name, size);
 }
 
+/**
+ * of_fdt_is_compatible - Return true if given node from the given blob has
+ * compat in its compatible list
+ * @blob: A device tree blob
+ * @node: node to test
+ * @compat: compatible string to compare with compatible list.
+ *
+ * On match, returns a non-zero value with smaller values returned for more
+ * specific compatible values.
+ */
+static int of_fdt_is_compatible(const void *blob,
+                     unsigned long node, const char *compat)
+{
+       const char *cp;
+       int cplen;
+       unsigned long l, score = 0;
+
+       cp = fdt_getprop(blob, node, "compatible", &cplen);
+       if (cp == NULL)
+               return 0;
+       while (cplen > 0) {
+               score++;
+               if (of_compat_cmp(cp, compat, strlen(compat)) == 0)
+                       return score;
+               l = strlen(cp) + 1;
+               cp += l;
+               cplen -= l;
+       }
+
+       return 0;
+}
+
 /**
  * of_flat_dt_is_compatible - Return true if given node has compat in compatible list
  * @node: node to test
@@ -779,7 +758,19 @@ int __init of_flat_dt_is_compatible(unsigned long node, const char *compat)
  */
 static int __init of_flat_dt_match(unsigned long node, const char *const *compat)
 {
-       return of_fdt_match(initial_boot_params, node, compat);
+       unsigned int tmp, score = 0;
+
+       if (!compat)
+               return 0;
+
+       while (*compat) {
+               tmp = of_fdt_is_compatible(initial_boot_params, node, *compat);
+               if (tmp && (score == 0 || (tmp < score)))
+                       score = tmp;
+               compat++;
+       }
+
+       return score;
 }
 
 /**