RE: [PATCH 1/3] string: add match_string_nocase() for case-insensitive match
From: Soha Jin
Date: Sun Oct 09 2022 - 23:03:27 EST
Hi Greg,
> On Mon, Oct 10, 2022 at 12:21:53AM +0800, Soha Jin wrote:
> > Sometimes we want to make a case-insensitive comparison with strings,
> > like checking compatible devices in fwnode properties, so this commit
> > abstracts match_string to __match_string with a compare function. The
> > original match_string will call __match_string with strcmp, and the
> > new match_string_nocase will call it with strcasecmp.
>
> Wait, no, fwnode properties are case sensitive, why are you allowing that to
> be changed? That sounds like broken firmware to me, right?
>
I am writing regarding the compatibility. In `of_device_is_compatible`, it
uses `of_compat_cmp` which calls `strcasecmp` to match compatible property.
As the `fwnode_is_compatible` should be the replacement of the OF way, I
think we should make the fwnode way and the OF way the same, i.e. either
both case-insensitive or case-sensitive, to keep the consistency. I am
afraid that make `of_compat_cmp` case-sensitive may break a great many of
devices, that is why I am doing this.
Regards,
Soha