Thread (16 messages) flat view 16 messages, 5 authors, 2018-08-24

Re: DT case sensitivity

From: Rob Herring <robh@kernel.org>
Date: 2018-08-23 11:43:42
Also in: linux-devicetree

On Thu, Aug 23, 2018 at 4:02 AM Grant Likely [off-list ref] wrote:
On 23/08/2018 02:29, Benjamin Herrenschmidt wrote:
quoted
On Wed, 2018-08-22 at 20:26 -0500, Rob Herring wrote:
quoted
On Wed, Aug 22, 2018 at 8:14 PM Benjamin Herrenschmidt
[off-list ref] wrote:
quoted
On Wed, 2018-08-22 at 19:47 -0500, Rob Herring wrote:
quoted
The default DT string handling in the kernel is node names and
compatibles are case insensitive and property names are case sensitive
(Sparc is the the only variation and is opposite). It seems only PPC
(and perhaps only Power Macs?) needs to support case insensitive
comparisons. It was probably a mistake to follow PPC for new arches
and we should have made everything case sensitive from the start. So I
have a few questions for the DT historians. :)
Open Firmware itself is insensitive.
Doesn't it depend on the implementation? Otherwise, how is Sparc different?
Not sure ... Forth itself is insensitive for words but maybe not for
string comparisons.
What problem are you trying to solve?
I'm looking at removing device_node.name and using full_name instead
(which now is only the local node name plus unit-address). This means
replacing of_node_cmp() (and still some strcmp) calls in a lot of
places. I need to use either strncmp or strncasecmp instead.
I would think making everything
case insensitive would be the direction to go if you do anything. Least
possibility of breaking existing platforms in that scenario.
Really? Even if all the "new" arches are effectively case sensitive?
Anything using dtc and libfdt are (and json-schema certainly will be).
But I frequently say the kernel's job is not DT validation, so you
pass crap in, you get undefined results.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help