Re: [PATCH 0/4] Removing full paths from DT full_name
From: Rob Herring
Date: Tue Aug 08 2017 - 11:09:19 EST
On Mon, Aug 7, 2017 at 9:21 PM, Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
> Rob Herring <robh@xxxxxxxxxx> writes:
>
>> On Tue, Jul 25, 2017 at 4:44 PM, Rob Herring <robh@xxxxxxxxxx> wrote:
>>> This series is the last steps to remove storing the full path for every
>>> DT node. Instead, we can create full path strings dynamically as needed
>>> with printf %pOF specifiers (commit ce4fecf1fe15). There are a number of
>>> remaining direct users of full_name after this series. I don't believe
>>> there should be any functional impact for those users with the change to
>>> only the node name (+unit-address). The majority are for struct
>>> resource.name. This should only affect /proc/iomem display.
>>>
>>> Patches 1 and 2 can be applied now for 4.14. For patches 3 and 4, my
>>> target is 4.15 after all the dependencies have been merged.
>>>
>>> PPC folks, Please test! The PPC parts are untested. A git branch with
>>> all the dependencies is here[1].
>>
>> PPC folks, any chance to test this?
>
> I got stuck on your %pOF conversion, which broke the vio.c code, because of:
>
> - if (!strcmp(parent_node->full_name, "/ibm,platform-facilities"))
> + if (!strcmp(parent_node->full_name, "ibm,platform-facilities"))
>
> But full_name hasn't been changed yet.
Ah, those lines need to be dropped from the %pOF conversion. I'll send
a new version.
What I was originally considering here was just:
strcmp(kbasename(parent_node->full_name), "ibm,platform-facilities")
That would work for "/foo/ibm,platform-facilities" too, but IMO
validation of the DT is not the kernel's job (if it is, we're doing a
horrible job). But in the end here, I decided to keep the existing
full path matching as patch 1 does.
> But patch 1 here should fix that, so I'll pull it all together and try
> and get it tested.
Thanks.
Rob