linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly
@ 2012-10-15 13:13 Lee Jones
  2012-10-15 13:13 ` [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error Lee Jones
  2012-10-16  5:14 ` [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly Mark Brown
  0 siblings, 2 replies; 6+ messages in thread
From: Lee Jones @ 2012-10-15 13:13 UTC (permalink / raw)
  To: linux-arm-kernel

When of_parse_phandle() is used to find a device node, its
reference count is incremented by the helper. Once we're
finished with them, it's our responsibly to ensure they
are freed in the correct manor.

Cc: alsa-devel at alsa-project.org
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 sound/soc/ux500/mop500.c |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/sound/soc/ux500/mop500.c b/sound/soc/ux500/mop500.c
index 6f67e6b..651a52a 100644
--- a/sound/soc/ux500/mop500.c
+++ b/sound/soc/ux500/mop500.c
@@ -57,6 +57,20 @@ static struct snd_soc_card mop500_card = {
 	.num_links = ARRAY_SIZE(mop500_dai_links),
 };
 
+static void mop500_of_node_put(void)
+{
+	int i;
+
+	for (i = 0; i < 2; i++) {
+		if (mop500_dai_links[i].cpu_of_node)
+			of_node_put((struct device_node *)
+				mop500_dai_links[i].cpu_of_node);
+		if (mop500_dai_links[i].codec_of_node)
+			of_node_put((struct device_node *)
+				mop500_dai_links[i].codec_of_node);
+	}
+}
+
 static int __devinit mop500_of_probe(struct platform_device *pdev,
 				struct device_node *np)
 {
@@ -69,6 +83,7 @@ static int __devinit mop500_of_probe(struct platform_device *pdev,
 
 	if (!(msp_np[0] && msp_np[1] && codec_np)) {
 		dev_err(&pdev->dev, "Phandle missing or invalid\n");
+		mop500_of_node_put();
 		return -EINVAL;
 	}
 
@@ -83,6 +98,7 @@ static int __devinit mop500_of_probe(struct platform_device *pdev,
 
 	return 0;
 }
+
 static int __devinit mop500_probe(struct platform_device *pdev)
 {
 	struct device_node *np = pdev->dev.of_node;
@@ -128,6 +144,7 @@ static int __devexit mop500_remove(struct platform_device *pdev)
 
 	snd_soc_unregister_card(mop500_card);
 	mop500_ab8500_remove(mop500_card);
+	mop500_of_node_put();
 
 	return 0;
 }
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error
  2012-10-15 13:13 [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly Lee Jones
@ 2012-10-15 13:13 ` Lee Jones
  2012-10-24  9:34   ` Ulf Hansson
  2012-10-16  5:14 ` [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly Mark Brown
  1 sibling, 1 reply; 6+ messages in thread
From: Lee Jones @ 2012-10-15 13:13 UTC (permalink / raw)
  To: linux-arm-kernel

Some ux500_msp_i2s patches clashed with:

b18e93a493626c1446f9788ebd5844d008bbf71c
ASoC: ux500_msp_i2s: better use devm functions and fix error return code

... leaving the driver uncompilable. This patch fixes the
issues encountered.

Cc: alsa-devel at alsa-project.org
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 sound/soc/ux500/ux500_msp_i2s.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
index b7c996e..a26c6bf 100644
--- a/sound/soc/ux500/ux500_msp_i2s.c
+++ b/sound/soc/ux500/ux500_msp_i2s.c
@@ -18,6 +18,7 @@
 #include <linux/pinctrl/consumer.h>
 #include <linux/delay.h>
 #include <linux/slab.h>
+#include <linux/io.h>
 #include <linux/of.h>
 
 #include <mach/hardware.h>
@@ -697,14 +698,11 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
 			platform_data = devm_kzalloc(&pdev->dev,
 				sizeof(struct msp_i2s_platform_data), GFP_KERNEL);
 			if (!platform_data)
-				ret = -ENOMEM;
+				return -ENOMEM;
 		}
 	} else
 		if (!platform_data)
-			ret = -EINVAL;
-
-	if (ret)
-		goto err_res;
+			return -EINVAL;
 
 	dev_dbg(&pdev->dev, "%s: Enter (name: %s, id: %d).\n", __func__,
 		pdev->name, platform_data->id);
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly
  2012-10-15 13:13 [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly Lee Jones
  2012-10-15 13:13 ` [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error Lee Jones
@ 2012-10-16  5:14 ` Mark Brown
  1 sibling, 0 replies; 6+ messages in thread
From: Mark Brown @ 2012-10-16  5:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 15, 2012 at 02:13:25PM +0100, Lee Jones wrote:
> When of_parse_phandle() is used to find a device node, its
> reference count is incremented by the helper. Once we're
> finished with them, it's our responsibly to ensure they
> are freed in the correct manor.

Applied both, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error
  2012-10-15 13:13 ` [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error Lee Jones
@ 2012-10-24  9:34   ` Ulf Hansson
  2012-10-24 10:27     ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Ulf Hansson @ 2012-10-24  9:34 UTC (permalink / raw)
  To: linux-arm-kernel

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>

I assume this shall go into 3.7, right?

Kind regards
Ulf Hansson

On 15 October 2012 15:13, Lee Jones <lee.jones@linaro.org> wrote:
> Some ux500_msp_i2s patches clashed with:
>
> b18e93a493626c1446f9788ebd5844d008bbf71c
> ASoC: ux500_msp_i2s: better use devm functions and fix error return code
>
> ... leaving the driver uncompilable. This patch fixes the
> issues encountered.
>
> Cc: alsa-devel at alsa-project.org
> Cc: Liam Girdwood <lrg@ti.com>
> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  sound/soc/ux500/ux500_msp_i2s.c |    8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
> index b7c996e..a26c6bf 100644
> --- a/sound/soc/ux500/ux500_msp_i2s.c
> +++ b/sound/soc/ux500/ux500_msp_i2s.c
> @@ -18,6 +18,7 @@
>  #include <linux/pinctrl/consumer.h>
>  #include <linux/delay.h>
>  #include <linux/slab.h>
> +#include <linux/io.h>
>  #include <linux/of.h>
>
>  #include <mach/hardware.h>
> @@ -697,14 +698,11 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
>                         platform_data = devm_kzalloc(&pdev->dev,
>                                 sizeof(struct msp_i2s_platform_data), GFP_KERNEL);
>                         if (!platform_data)
> -                               ret = -ENOMEM;
> +                               return -ENOMEM;
>                 }
>         } else
>                 if (!platform_data)
> -                       ret = -EINVAL;
> -
> -       if (ret)
> -               goto err_res;
> +                       return -EINVAL;
>
>         dev_dbg(&pdev->dev, "%s: Enter (name: %s, id: %d).\n", __func__,
>                 pdev->name, platform_data->id);
> --
> 1.7.9.5
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error
  2012-10-24  9:34   ` Ulf Hansson
@ 2012-10-24 10:27     ` Mark Brown
  2012-10-25  9:33       ` Ulf Hansson
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2012-10-24 10:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Oct 24, 2012 at 11:34:00AM +0200, Ulf Hansson wrote:
> Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
> 
> I assume this shall go into 3.7, right?
> 
> Kind regards
> Ulf Hansson

You may recall that only yesterday I reminded you not to top post...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121024/82c742ad/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error
  2012-10-24 10:27     ` Mark Brown
@ 2012-10-25  9:33       ` Ulf Hansson
  0 siblings, 0 replies; 6+ messages in thread
From: Ulf Hansson @ 2012-10-25  9:33 UTC (permalink / raw)
  To: linux-arm-kernel

On 24 October 2012 12:27, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Wed, Oct 24, 2012 at 11:34:00AM +0200, Ulf Hansson wrote:
>> Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
>>
>> I assume this shall go into 3.7, right?
>>
>> Kind regards
>> Ulf Hansson
>
> You may recall that only yesterday I reminded you not to top post...

Sorry, I have a short memory. :-) I will try to improve.

Kind regards
Ulf Hansson

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-10-25  9:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-15 13:13 [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly Lee Jones
2012-10-15 13:13 ` [PATCH 2/2] ASoC: ux500_msp_i2s: Fix devm_* and return code merge error Lee Jones
2012-10-24  9:34   ` Ulf Hansson
2012-10-24 10:27     ` Mark Brown
2012-10-25  9:33       ` Ulf Hansson
2012-10-16  5:14 ` [PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).