* [PATCH] fix of_flat_dt_is_compatible to match the full compatible string
@ 2010-07-22 23:28 Stuart Yoder
2010-07-23 2:45 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 3+ messages in thread
From: Stuart Yoder @ 2010-07-22 23:28 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Stuart Yoder
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(-)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index dee4fb5..f5239c0 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 (!strcmp(cp, compat))
return 1;
l = strlen(cp) + 1;
cp += l;
--
1.6.2.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] fix of_flat_dt_is_compatible to match the full compatible string
2010-07-22 23:28 [PATCH] fix of_flat_dt_is_compatible to match the full compatible string Stuart Yoder
@ 2010-07-23 2:45 ` Benjamin Herrenschmidt
2010-07-24 22:00 ` Grant Likely
0 siblings, 1 reply; 3+ messages in thread
From: Benjamin Herrenschmidt @ 2010-07-23 2:45 UTC (permalink / raw)
To: Stuart Yoder; +Cc: linuxppc-dev
On Thu, 2010-07-22 at 18:28 -0500, Stuart Yoder 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>
Beware you are doing two changes in one here and only documenting one...
You also removed the case insenstivity.
Now, those things are supposed to be case sensitive afaik, but we have
enough legacy HW with more/less crap DTs and I'd be careful with
changing that without a good reason (ie, it breaks not to do it ?).
No objection with fixing the partial match tho.
Cheers,
Ben.
> ---
> 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..f5239c0 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 (!strcmp(cp, compat))
> return 1;
> l = strlen(cp) + 1;
> cp += l;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix of_flat_dt_is_compatible to match the full compatible string
2010-07-23 2:45 ` Benjamin Herrenschmidt
@ 2010-07-24 22:00 ` Grant Likely
0 siblings, 0 replies; 3+ messages in thread
From: Grant Likely @ 2010-07-24 22:00 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, Stuart Yoder
On Thu, Jul 22, 2010 at 8:45 PM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Thu, 2010-07-22 at 18:28 -0500, Stuart Yoder 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>
>
> Beware you are doing two changes in one here and only documenting one...
>
> You also removed the case insenstivity.
>
> Now, those things are supposed to be case sensitive afaik, but we have
> enough legacy HW with more/less crap DTs and I'd be careful with
> changing that without a good reason (ie, it breaks not to do it ?).
>
> No objection with fixing the partial match tho.
On that note, for completeness, this code should be using the
of_compat_cmp() to match up with other code. If SPARC ever uses this
code, which davem said he might tp support kexec, then this macro will
be important. I'll change it when I pick up the patch.
g.
>
> Cheers,
> Ben.
>
>> ---
>> =A0drivers/of/fdt.c | =A0 =A02 +-
>> =A01 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
>> index dee4fb5..f5239c0 100644
>> --- a/drivers/of/fdt.c
>> +++ b/drivers/of/fdt.c
>> @@ -169,7 +169,7 @@ int __init of_flat_dt_is_compatible(unsigned long no=
de, const char *compat)
>> =A0 =A0 =A0 if (cp =3D=3D NULL)
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 return 0;
>> =A0 =A0 =A0 while (cplen > 0) {
>> - =A0 =A0 =A0 =A0 =A0 =A0 if (strncasecmp(cp, compat, strlen(compat)) =
=3D=3D 0)
>> + =A0 =A0 =A0 =A0 =A0 =A0 if (!strcmp(cp, compat))
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return 1;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 l =3D strlen(cp) + 1;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 cp +=3D l;
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-07-24 22:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-22 23:28 [PATCH] fix of_flat_dt_is_compatible to match the full compatible string Stuart Yoder
2010-07-23 2:45 ` Benjamin Herrenschmidt
2010-07-24 22:00 ` Grant Likely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).