2023-03-10 14:50:28

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH] cpuidle: Use of_property_present() for testing DT property presence

It is preferred to use typed property access functions (i.e.
of_property_read_<type> functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Signed-off-by: Rob Herring <[email protected]>
---
drivers/cpuidle/cpuidle-psci-domain.c | 2 +-
drivers/cpuidle/cpuidle-riscv-sbi.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
index 6ad2954948a5..e875ddadc51b 100644
--- a/drivers/cpuidle/cpuidle-psci-domain.c
+++ b/drivers/cpuidle/cpuidle-psci-domain.c
@@ -165,7 +165,7 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev)
* initialize a genpd/genpd-of-provider pair when it's found.
*/
for_each_child_of_node(np, node) {
- if (!of_find_property(node, "#power-domain-cells", NULL))
+ if (!of_property_present(node, "#power-domain-cells"))
continue;

ret = psci_pd_init(node, use_osi);
diff --git a/drivers/cpuidle/cpuidle-riscv-sbi.c b/drivers/cpuidle/cpuidle-riscv-sbi.c
index be383f4b6855..1fab1abc6eb6 100644
--- a/drivers/cpuidle/cpuidle-riscv-sbi.c
+++ b/drivers/cpuidle/cpuidle-riscv-sbi.c
@@ -497,7 +497,7 @@ static int sbi_genpd_probe(struct device_node *np)
* initialize a genpd/genpd-of-provider pair when it's found.
*/
for_each_child_of_node(np, node) {
- if (!of_find_property(node, "#power-domain-cells", NULL))
+ if (!of_property_present(node, "#power-domain-cells"))
continue;

ret = sbi_pd_init(node);
@@ -548,8 +548,8 @@ static int sbi_cpuidle_probe(struct platform_device *pdev)
for_each_possible_cpu(cpu) {
np = of_cpu_device_node_get(cpu);
if (np &&
- of_find_property(np, "power-domains", NULL) &&
- of_find_property(np, "power-domain-names", NULL)) {
+ of_property_present(np, "power-domains") &&
+ of_property_present(np, "power-domain-names")) {
continue;
} else {
sbi_cpuidle_use_osi = false;
--
2.39.2



2023-03-10 17:48:27

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] cpuidle: Use of_property_present() for testing DT property presence

On Fri, 10 Mar 2023 at 15:47, Rob Herring <[email protected]> wrote:
>
> It is preferred to use typed property access functions (i.e.
> of_property_read_<type> functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
>
> Signed-off-by: Rob Herring <[email protected]>

Acked-by: Ulf Hansson <[email protected]>

Rafael, can you please pick this via your tree.

Kind regards
Uffe

> ---
> drivers/cpuidle/cpuidle-psci-domain.c | 2 +-
> drivers/cpuidle/cpuidle-riscv-sbi.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> index 6ad2954948a5..e875ddadc51b 100644
> --- a/drivers/cpuidle/cpuidle-psci-domain.c
> +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> @@ -165,7 +165,7 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev)
> * initialize a genpd/genpd-of-provider pair when it's found.
> */
> for_each_child_of_node(np, node) {
> - if (!of_find_property(node, "#power-domain-cells", NULL))
> + if (!of_property_present(node, "#power-domain-cells"))
> continue;
>
> ret = psci_pd_init(node, use_osi);
> diff --git a/drivers/cpuidle/cpuidle-riscv-sbi.c b/drivers/cpuidle/cpuidle-riscv-sbi.c
> index be383f4b6855..1fab1abc6eb6 100644
> --- a/drivers/cpuidle/cpuidle-riscv-sbi.c
> +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c
> @@ -497,7 +497,7 @@ static int sbi_genpd_probe(struct device_node *np)
> * initialize a genpd/genpd-of-provider pair when it's found.
> */
> for_each_child_of_node(np, node) {
> - if (!of_find_property(node, "#power-domain-cells", NULL))
> + if (!of_property_present(node, "#power-domain-cells"))
> continue;
>
> ret = sbi_pd_init(node);
> @@ -548,8 +548,8 @@ static int sbi_cpuidle_probe(struct platform_device *pdev)
> for_each_possible_cpu(cpu) {
> np = of_cpu_device_node_get(cpu);
> if (np &&
> - of_find_property(np, "power-domains", NULL) &&
> - of_find_property(np, "power-domain-names", NULL)) {
> + of_property_present(np, "power-domains") &&
> + of_property_present(np, "power-domain-names")) {
> continue;
> } else {
> sbi_cpuidle_use_osi = false;
> --
> 2.39.2
>

2023-03-17 04:16:15

by Anup Patel

[permalink] [raw]
Subject: Re: [PATCH] cpuidle: Use of_property_present() for testing DT property presence

On Fri, Mar 10, 2023 at 8:17 PM Rob Herring <[email protected]> wrote:
>
> It is preferred to use typed property access functions (i.e.
> of_property_read_<type> functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
>
> Signed-off-by: Rob Herring <[email protected]>

For cpuidle-riscv-sbi:

Acked-by: Anup Patel <[email protected]>

Thanks,
Anup

> ---
> drivers/cpuidle/cpuidle-psci-domain.c | 2 +-
> drivers/cpuidle/cpuidle-riscv-sbi.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> index 6ad2954948a5..e875ddadc51b 100644
> --- a/drivers/cpuidle/cpuidle-psci-domain.c
> +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> @@ -165,7 +165,7 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev)
> * initialize a genpd/genpd-of-provider pair when it's found.
> */
> for_each_child_of_node(np, node) {
> - if (!of_find_property(node, "#power-domain-cells", NULL))
> + if (!of_property_present(node, "#power-domain-cells"))
> continue;
>
> ret = psci_pd_init(node, use_osi);
> diff --git a/drivers/cpuidle/cpuidle-riscv-sbi.c b/drivers/cpuidle/cpuidle-riscv-sbi.c
> index be383f4b6855..1fab1abc6eb6 100644
> --- a/drivers/cpuidle/cpuidle-riscv-sbi.c
> +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c
> @@ -497,7 +497,7 @@ static int sbi_genpd_probe(struct device_node *np)
> * initialize a genpd/genpd-of-provider pair when it's found.
> */
> for_each_child_of_node(np, node) {
> - if (!of_find_property(node, "#power-domain-cells", NULL))
> + if (!of_property_present(node, "#power-domain-cells"))
> continue;
>
> ret = sbi_pd_init(node);
> @@ -548,8 +548,8 @@ static int sbi_cpuidle_probe(struct platform_device *pdev)
> for_each_possible_cpu(cpu) {
> np = of_cpu_device_node_get(cpu);
> if (np &&
> - of_find_property(np, "power-domains", NULL) &&
> - of_find_property(np, "power-domain-names", NULL)) {
> + of_property_present(np, "power-domains") &&
> + of_property_present(np, "power-domain-names")) {
> continue;
> } else {
> sbi_cpuidle_use_osi = false;
> --
> 2.39.2
>

2023-03-27 17:12:02

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] cpuidle: Use of_property_present() for testing DT property presence

On Fri, Mar 10, 2023 at 6:47 PM Ulf Hansson <[email protected]> wrote:
>
> On Fri, 10 Mar 2023 at 15:47, Rob Herring <[email protected]> wrote:
> >
> > It is preferred to use typed property access functions (i.e.
> > of_property_read_<type> functions) rather than low-level
> > of_get_property/of_find_property functions for reading properties. As
> > part of this, convert of_get_property/of_find_property calls to the
> > recently added of_property_present() helper when we just want to test
> > for presence of a property and nothing more.
> >
> > Signed-off-by: Rob Herring <[email protected]>
>
> Acked-by: Ulf Hansson <[email protected]>
>
> Rafael, can you please pick this via your tree.

Done (queued up for 6.4), thanks!

> > ---
> > drivers/cpuidle/cpuidle-psci-domain.c | 2 +-
> > drivers/cpuidle/cpuidle-riscv-sbi.c | 6 +++---
> > 2 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> > index 6ad2954948a5..e875ddadc51b 100644
> > --- a/drivers/cpuidle/cpuidle-psci-domain.c
> > +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> > @@ -165,7 +165,7 @@ static int psci_cpuidle_domain_probe(struct platform_device *pdev)
> > * initialize a genpd/genpd-of-provider pair when it's found.
> > */
> > for_each_child_of_node(np, node) {
> > - if (!of_find_property(node, "#power-domain-cells", NULL))
> > + if (!of_property_present(node, "#power-domain-cells"))
> > continue;
> >
> > ret = psci_pd_init(node, use_osi);
> > diff --git a/drivers/cpuidle/cpuidle-riscv-sbi.c b/drivers/cpuidle/cpuidle-riscv-sbi.c
> > index be383f4b6855..1fab1abc6eb6 100644
> > --- a/drivers/cpuidle/cpuidle-riscv-sbi.c
> > +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c
> > @@ -497,7 +497,7 @@ static int sbi_genpd_probe(struct device_node *np)
> > * initialize a genpd/genpd-of-provider pair when it's found.
> > */
> > for_each_child_of_node(np, node) {
> > - if (!of_find_property(node, "#power-domain-cells", NULL))
> > + if (!of_property_present(node, "#power-domain-cells"))
> > continue;
> >
> > ret = sbi_pd_init(node);
> > @@ -548,8 +548,8 @@ static int sbi_cpuidle_probe(struct platform_device *pdev)
> > for_each_possible_cpu(cpu) {
> > np = of_cpu_device_node_get(cpu);
> > if (np &&
> > - of_find_property(np, "power-domains", NULL) &&
> > - of_find_property(np, "power-domain-names", NULL)) {
> > + of_property_present(np, "power-domains") &&
> > + of_property_present(np, "power-domain-names")) {
> > continue;
> > } else {
> > sbi_cpuidle_use_osi = false;
> > --
> > 2.39.2
> >

Subject: Re: [PATCH] cpuidle: Use of_property_present() for testing DT property presence

Hello:

This patch was applied to riscv/linux.git (fixes)
by Rafael J. Wysocki <[email protected]>:

On Fri, 10 Mar 2023 08:47:03 -0600 you wrote:
> It is preferred to use typed property access functions (i.e.
> of_property_read_<type> functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
>
> [...]

Here is the summary with links:
- cpuidle: Use of_property_present() for testing DT property presence
https://git.kernel.org/riscv/c/f914bfdd7f84

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html