diff mbox

[3/3] backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount hack

Message ID 1421243519-6257-4-git-send-email-geert+renesas@glider.be (mailing list archive)
State New, archived
Headers show

Commit Message

Geert Uytterhoeven Jan. 14, 2015, 1:51 p.m. UTC
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: linux-fbdev@vger.kernel.org
---
Compile-tested only
---
 drivers/video/backlight/88pm860x_bl.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Lee Jones Jan. 18, 2015, 12:46 p.m. UTC | #1
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: linux-fbdev@vger.kernel.org
> ---
> 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;
diff mbox

Patch

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;