mips: Use of_property_read_bool() for boolean properties

Message ID 20230310144656.1540950-1-robh@kernel.org
State New
Headers
Series mips: Use of_property_read_bool() for boolean properties |

Commit Message

Rob Herring March 10, 2023, 2:46 p.m. UTC
  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.
Convert reading boolean properties to to of_property_read_bool().

Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/mips/pci/pci-lantiq.c | 2 +-
 arch/mips/pci/pci-rt3883.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Philippe Mathieu-Daudé March 13, 2023, 8:25 a.m. UTC | #1
Hi Rob,

On 10/3/23 15:46, Rob Herring 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.
> Convert reading boolean properties to to of_property_read_bool().
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>   arch/mips/pci/pci-lantiq.c | 2 +-
>   arch/mips/pci/pci-rt3883.c | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
> index d967e4c0cf24..79e29bf42a24 100644
> --- a/arch/mips/pci/pci-lantiq.c
> +++ b/arch/mips/pci/pci-lantiq.c
> @@ -118,7 +118,7 @@ static int ltq_pci_startup(struct platform_device *pdev)
>   
>   	/* and enable the clocks */
>   	clk_enable(clk_pci);
> -	if (of_find_property(node, "lantiq,external-clock", NULL))
> +	if (of_property_read_bool(node, "lantiq,external-clock"))

Just curious, is this property correct? I can't find it and wonder if
this is dead code (always disabling the clock)... I'm probably missing
something obvious :/

>   		clk_enable(clk_external);
>   	else
>   		clk_disable(clk_external);
  
Jonas Gorski March 13, 2023, 10:59 a.m. UTC | #2
Hi,

On Mon, 13 Mar 2023 at 09:31, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Hi Rob,
>
> On 10/3/23 15:46, Rob Herring 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.
> > Convert reading boolean properties to to of_property_read_bool().
> >
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> >   arch/mips/pci/pci-lantiq.c | 2 +-
> >   arch/mips/pci/pci-rt3883.c | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
> > index d967e4c0cf24..79e29bf42a24 100644
> > --- a/arch/mips/pci/pci-lantiq.c
> > +++ b/arch/mips/pci/pci-lantiq.c
> > @@ -118,7 +118,7 @@ static int ltq_pci_startup(struct platform_device *pdev)
> >
> >       /* and enable the clocks */
> >       clk_enable(clk_pci);
> > -     if (of_find_property(node, "lantiq,external-clock", NULL))
> > +     if (of_property_read_bool(node, "lantiq,external-clock"))
>
> Just curious, is this property correct? I can't find it and wonder if
> this is dead code (always disabling the clock)... I'm probably missing
> something obvious :/
>
> >               clk_enable(clk_external);
> >       else
> >               clk_disable(clk_external);

The (whole) binding does seem to be undocumented, at least a quick
grep didn't find anything for "lantiq,pci-xway" in bindings :-/

The property itself is used in OpenWrt though, e.g.
https://github.com/openwrt/openwrt/blob/master/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts#L209

Regards
Jonas
  
Rob Herring March 14, 2023, 3:20 p.m. UTC | #3
On Mon, Mar 13, 2023 at 3:25 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Hi Rob,
>
> On 10/3/23 15:46, Rob Herring 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.
> > Convert reading boolean properties to to of_property_read_bool().
> >
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> >   arch/mips/pci/pci-lantiq.c | 2 +-
> >   arch/mips/pci/pci-rt3883.c | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
> > index d967e4c0cf24..79e29bf42a24 100644
> > --- a/arch/mips/pci/pci-lantiq.c
> > +++ b/arch/mips/pci/pci-lantiq.c
> > @@ -118,7 +118,7 @@ static int ltq_pci_startup(struct platform_device *pdev)
> >
> >       /* and enable the clocks */
> >       clk_enable(clk_pci);
> > -     if (of_find_property(node, "lantiq,external-clock", NULL))
> > +     if (of_property_read_bool(node, "lantiq,external-clock"))
>
> Just curious, is this property correct?

Shrug. I can only tell from how it is used here and because we have
other similar properties used to select a clock.

> I can't find it and wonder if
> this is dead code (always disabling the clock)... I'm probably missing
> something obvious :/

If you don't use the external clock, then you disable it. Seems sensible to me.

>
> >               clk_enable(clk_external);
> >       else
> >               clk_disable(clk_external);
>
  
Thomas Bogendoerfer March 14, 2023, 4:18 p.m. UTC | #4
On Fri, Mar 10, 2023 at 08:46:56AM -0600, Rob Herring 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.
> Convert reading boolean properties to to of_property_read_bool().
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  arch/mips/pci/pci-lantiq.c | 2 +-
>  arch/mips/pci/pci-rt3883.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

applied to mips-next.

Thomas.
  

Patch

diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
index d967e4c0cf24..79e29bf42a24 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -118,7 +118,7 @@  static int ltq_pci_startup(struct platform_device *pdev)
 
 	/* and enable the clocks */
 	clk_enable(clk_pci);
-	if (of_find_property(node, "lantiq,external-clock", NULL))
+	if (of_property_read_bool(node, "lantiq,external-clock"))
 		clk_enable(clk_external);
 	else
 		clk_disable(clk_external);
diff --git a/arch/mips/pci/pci-rt3883.c b/arch/mips/pci/pci-rt3883.c
index d59888aaed81..4ac68a534e4f 100644
--- a/arch/mips/pci/pci-rt3883.c
+++ b/arch/mips/pci/pci-rt3883.c
@@ -419,7 +419,7 @@  static int rt3883_pci_probe(struct platform_device *pdev)
 
 	/* find the interrupt controller child node */
 	for_each_child_of_node(np, child) {
-		if (of_get_property(child, "interrupt-controller", NULL)) {
+		if (of_property_read_bool(child, "interrupt-controller")) {
 			rpc->intc_of_node = child;
 			break;
 		}