| From 990221a11227e160afdf238c910ae841e6c2a367 Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Thu, 22 May 2014 23:24:59 -0700 |
| Subject: ASoC: rsnd: DT node clean up by using the of_node_put() |
| |
| Driver needs to call of_node_put() after of_get_chile_by_name() |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Signed-off-by: Mark Brown <broonie@linaro.org> |
| (cherry picked from commit f451e48d8e1cae07d55b4a5b558c008cd4dc9a73) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/sh/rcar/src.c | 7 +++++-- |
| sound/soc/sh/rcar/ssi.c | 7 +++++-- |
| 2 files changed, 10 insertions(+), 4 deletions(-) |
| |
| diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c |
| index e3b078e7c3aa..df5d7f87c66d 100644 |
| --- a/sound/soc/sh/rcar/src.c |
| +++ b/sound/soc/sh/rcar/src.c |
| @@ -598,18 +598,21 @@ static void rsnd_of_parse_src(struct platform_device *pdev, |
| |
| nr = of_get_child_count(src_node); |
| if (!nr) |
| - return; |
| + goto rsnd_of_parse_src_end; |
| |
| src_info = devm_kzalloc(dev, |
| sizeof(struct rsnd_src_platform_info) * nr, |
| GFP_KERNEL); |
| if (!src_info) { |
| dev_err(dev, "src info allocation error\n"); |
| - return; |
| + goto rsnd_of_parse_src_end; |
| } |
| |
| info->src_info = src_info; |
| info->src_info_nr = nr; |
| + |
| +rsnd_of_parse_src_end: |
| + of_node_put(src_node); |
| } |
| |
| int rsnd_src_probe(struct platform_device *pdev, |
| diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c |
| index 36654bd4e428..97bc4707c624 100644 |
| --- a/sound/soc/sh/rcar/ssi.c |
| +++ b/sound/soc/sh/rcar/ssi.c |
| @@ -554,14 +554,14 @@ static void rsnd_of_parse_ssi(struct platform_device *pdev, |
| |
| nr = of_get_child_count(node); |
| if (!nr) |
| - return; |
| + goto rsnd_of_parse_ssi_end; |
| |
| ssi_info = devm_kzalloc(dev, |
| sizeof(struct rsnd_ssi_platform_info) * nr, |
| GFP_KERNEL); |
| if (!ssi_info) { |
| dev_err(dev, "ssi info allocation error\n"); |
| - return; |
| + goto rsnd_of_parse_ssi_end; |
| } |
| |
| info->ssi_info = ssi_info; |
| @@ -584,6 +584,9 @@ static void rsnd_of_parse_ssi(struct platform_device *pdev, |
| */ |
| ssi_info->pio_irq = irq_of_parse_and_map(np, 0); |
| } |
| + |
| +rsnd_of_parse_ssi_end: |
| + of_node_put(node); |
| } |
| |
| int rsnd_ssi_probe(struct platform_device *pdev, |
| -- |
| 2.1.2 |
| |