diff mbox

[v2] fix of_flat_dt_is_compatible to match the full compatible string

Message ID 1279910564-17887-1-git-send-email-stuart.yoder@freescale.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Stuart Yoder July 23, 2010, 6:42 p.m. UTC
From: Stuart Yoder <stuart.yoder@freescale.com>

With the previous string comparison, a device tree
compatible of "foo-bar" would match as compatible
with a driver looking for "foo".

Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
---
 drivers/of/fdt.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Grant Likely July 24, 2010, 7:34 p.m. UTC | #1
"Stuart Yoder" <stuart.yoder@freescale.com> wrote:

>From: Stuart Yoder <stuart.yoder@freescale.com>
>
>With the previous string comparison, a device tree
>compatible of "foo-bar" would match as compatible
>with a driver looking for "foo".
>
>Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>

Hi Stewart. 

Patch looks good.  I'll test it this afternoon.

However, please remember to cc: me and devicetree-discuss if you want patches picked up remotely quickly (I know, I'm slow anyway, but I'm even slower when I don't see something.  I only came across this one by chance.)

g.

>---
> drivers/of/fdt.c |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
>index dee4fb5..28c0c2b 100644
>--- a/drivers/of/fdt.c
>+++ b/drivers/of/fdt.c
>@@ -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 (!strcasecmp(cp, compat))
> 			return 1;
> 		l = strlen(cp) + 1;
> 		cp += l;
>-- 
>1.6.2.5
>
>
>_______________________________________________
>Linuxppc-dev mailing list
>Linuxppc-dev@lists.ozlabs.org
>https://lists.ozlabs.org/listinfo/linuxppc-dev
diff mbox

Patch

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index dee4fb5..28c0c2b 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -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 (!strcasecmp(cp, compat))
 			return 1;
 		l = strlen(cp) + 1;
 		cp += l;