# \[PATCH 3/3\] backlight: 88pm860x\_bl: Use of\_get\_child\_by\_name() instead of refcount hack

- Subsystems: FRAMEBUFFER LAYER, BACKLIGHT CLASS/SUBSYSTEM, THE REST
- Maintainers: Helge Deller, Lee Jones, Daniel Thompson, Jingoo Han, Linus Torvalds
- List: linux-fbdev
- 2 messages, 2 authors
- Page: https://ratatoskr.run/linux-fbdev/2015/01/4409829/t

## \[PATCH 3/3\] backlight: 88pm860x\_bl: Use of\_get\_child\_by\_name() instead of refcount hack

- From: Geert Uytterhoeven \<geert+renesas@glider.be\>
- Date: 2015-01-14 13:52:02 
- Message: https://ratatoskr.run/linux-fbdev/2015/01/4409829.md

```text
of_find_node_by_name() calls of_node_put() on its "from" parameter.
To counter this, pm860x_backlight_dt_init() calls of_node_get() first.

Use of_get_child_by_name() instead to get rid of the refcount hack.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: <redacted>
---
Compile-tested only
---
 drivers/video/backlight/88pm860x_bl.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/video/backlight/88pm860x_bl.c b/drivers/video/backlight/88pm860x_bl.c
index 9a23698b6fe8398c..2da5862876d1fe78 100644
--- a/drivers/video/backlight/88pm860x_bl.c
+++ b/drivers/video/backlight/88pm860x_bl.c
@@ -168,10 +168,7 @@ static int pm860x_backlight_dt_init(struct platform_device *pdev,
 	struct device_node *nproot, *np;
 	int iset = 0;
 
-	nproot = of_node_get(pdev->dev.parent->of_node);
-	if (!nproot)
-		return -ENODEV;
-	nproot = of_find_node_by_name(nproot, "backlights");
+	nproot = of_get_child_by_name(pdev->dev.parent->of_node, "backlights");
 	if (!nproot) {
 		dev_err(&pdev->dev, "failed to find backlights node\n");
 		return -ENODEV;
-- 
1.9.1

```

## Re: \[PATCH 3/3\] backlight: 88pm860x\_bl: Use of\_get\_child\_by\_name() instead of refcount hack

- From: Lee Jones \<hidden\>
- Date: 2015-01-18 12:46:26 
- Message: https://ratatoskr.run/linux-fbdev/2015/01/4412138.md

```text
On Wed, 14 Jan 2015, Geert Uytterhoeven wrote:

> of_find_node_by_name() calls of_node_put() on its "from" parameter.
> To counter this, pm860x_backlight_dt_init() calls of_node_get() first.
> 
> Use of_get_child_by_name() instead to get rid of the refcount hack.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: <redacted>
> ---
> Compile-tested only
> ---
>  drivers/video/backlight/88pm860x_bl.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)

Looks good, applied, thanks.

> diff --git a/drivers/video/backlight/88pm860x_bl.c b/drivers/video/backlight/88pm860x_bl.c
> index 9a23698b6fe8398c..2da5862876d1fe78 100644
> --- a/drivers/video/backlight/88pm860x_bl.c
> +++ b/drivers/video/backlight/88pm860x_bl.c
> @@ -168,10 +168,7 @@ static int pm860x_backlight_dt_init(struct platform_device *pdev,
>  	struct device_node *nproot, *np;
>  	int iset = 0;
>  
> -	nproot = of_node_get(pdev->dev.parent->of_node);
> -	if (!nproot)
> -		return -ENODEV;
> -	nproot = of_find_node_by_name(nproot, "backlights");
> +	nproot = of_get_child_by_name(pdev->dev.parent->of_node, "backlights");
>  	if (!nproot) {
>  		dev_err(&pdev->dev, "failed to find backlights node\n");
>  		return -ENODEV;

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â”‚ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
```
