of/flattree: fix of_flat_dt_is_compatible() to match the full compatible string
authorStuart Yoder <stuart.yoder@freescale.com>
Fri, 23 Jul 2010 18:42:44 +0000 (13:42 -0500)
committerGrant Likely <grant.likely@secretlab.ca>
Sat, 24 Jul 2010 22:51:51 +0000 (16:51 -0600)
With the current string comparison, a device tree compatible of "foo-bar"
would match as compatible with a driver looking for "foo".  This patch
fixes the function to use the of_compat_cmp() macro so that it does the
right thing on all platforms (If sparc ever uses this code, it will still
want the strncasecmp() behaviour).

Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/of/fdt.c

index d61fda8..dc876cb 100644 (file)
@@ -169,7 +169,7 @@ int __init of_flat_dt_is_compatible(unsigned long node, const char *compat)
        if (cp == NULL)
                return 0;
        while (cplen > 0) {
-               if (strncasecmp(cp, compat, strlen(compat)) == 0)
+               if (of_compat_cmp(cp, compat, strlen(compat)) == 0)
                        return 1;
                l = strlen(cp) + 1;
                cp += l;