2020-05-12 15:51:17

by Qi Zheng

[permalink] [raw]
Subject: [PATCH] of/fdt: Remove redundant kbasename function call

For version 1 to 3 of the device tree, this is the node full
path as a zero terminated string, starting with "/". The
following equation will not hold, since the node name has
been processed in the fdt_get_name().

*pathp == '/'

For version 16 and later, this is the node unit name only
(or an empty string for the root node). So the above
equation will still not hold.

So the kbasename() is redundant, just remove it.

Signed-off-by: Qi Zheng <[email protected]>
---
drivers/of/fdt.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 8a8e07a8f03d..ea31b2ae8474 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -643,8 +643,6 @@ int __init of_scan_flat_dt(int (*it)(unsigned long node,
offset = fdt_next_node(blob, offset, &depth)) {

pathp = fdt_get_name(blob, offset, NULL);
- if (*pathp == '/')
- pathp = kbasename(pathp);
rc = it(offset, pathp, depth, data);
}
return rc;
--
2.25.1


2020-05-13 13:49:20

by Qi Zheng

[permalink] [raw]
Subject: Re: [PATCH] of/fdt: Remove redundant kbasename function call

On 2020/5/12 下午11:49, Qi Zheng wrote:
> For version 1 to 3 of the device tree, this is the node full
> path as a zero terminated string, starting with "/". The
> following equation will not hold, since the node name has
> been processed in the fdt_get_name().
>
> *pathp == '/'
>
> For version 16 and later, this is the node unit name only
> (or an empty string for the root node). So the above
> equation will still not hold.
>
> So the kbasename() is redundant, just remove it.
>
> Signed-off-by: Qi Zheng <[email protected]>
> ---
> drivers/of/fdt.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 8a8e07a8f03d..ea31b2ae8474 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -643,8 +643,6 @@ int __init of_scan_flat_dt(int (*it)(unsigned long node,
> offset = fdt_next_node(blob, offset, &depth)) {
>
> pathp = fdt_get_name(blob, offset, NULL);
> - if (*pathp == '/')
> - pathp = kbasename(pathp);
> rc = it(offset, pathp, depth, data);
> }
> return rc;
>

add Rob Herring <[email protected]>.

2020-05-27 19:23:39

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] of/fdt: Remove redundant kbasename function call

On Tue, May 12, 2020 at 11:49:09PM +0800, Qi Zheng wrote:
> For version 1 to 3 of the device tree, this is the node full
> path as a zero terminated string, starting with "/". The
> following equation will not hold, since the node name has
> been processed in the fdt_get_name().
>
> *pathp == '/'
>
> For version 16 and later, this is the node unit name only
> (or an empty string for the root node). So the above
> equation will still not hold.
>
> So the kbasename() is redundant, just remove it.

There's 2 occurrences of this. Can you remove the other one too.

Rob

2020-05-28 12:40:35

by Qi Zheng

[permalink] [raw]
Subject: Re: [PATCH] of/fdt: Remove redundant kbasename function call

Hi Rob,

Thanks for your review.
I will send you a patch of v2 later.

Yours,
Qi Zheng

On 2020/5/28 上午2:27, Rob Herring wrote:
> On Tue, May 12, 2020 at 11:49:09PM +0800, Qi Zheng wrote:
>> For version 1 to 3 of the device tree, this is the node full
>> path as a zero terminated string, starting with "/". The
>> following equation will not hold, since the node name has
>> been processed in the fdt_get_name().
>>
>> *pathp == '/'
>>
>> For version 16 and later, this is the node unit name only
>> (or an empty string for the root node). So the above
>> equation will still not hold.
>>
>> So the kbasename() is redundant, just remove it.
>
> There's 2 occurrences of this. Can you remove the other one too.
>
> Rob
>