[PATCH 1/2] ASoC: Ux500: Dispose of device nodes correctly
Subsystems:
sound , sound - soc layer / dynamic audio power management (asoc) , the rest
STALE5039d
REVIEWED: 1 (0M)
1 review trailer.
6 messages,
3 authors,
2012-10-25 · open the first message on its own page
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 <redacted>
Cc: Mark Brown <redacted>
Acked-by: Linus Walleij <redacted>
Signed-off-by: Lee Jones <redacted>
---
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
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 <redacted>
Cc: Mark Brown <redacted>
Acked-by: Linus Walleij <redacted>
Signed-off-by: Lee Jones <redacted>
---
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
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.
Acked-by: Ulf Hansson <redacted>
I assume this shall go into 3.7, right?
Kind regards
Ulf Hansson
On 15 October 2012 15:13, Lee Jones [off-list ref] wrote: quoted hunk 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 <redacted>
Cc: Mark Brown <redacted>
Acked-by: Linus Walleij <redacted>
Signed-off-by: Lee Jones <redacted>
---
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
On Wed, Oct 24, 2012 at 11:34:00AM +0200, Ulf Hansson wrote: Acked-by: Ulf Hansson <redacted>
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 >
On 24 October 2012 12:27, Mark Brown
[off-list ref] wrote: On Wed, Oct 24, 2012 at 11:34:00AM +0200, Ulf Hansson wrote: quoted Acked-by: Ulf Hansson <redacted>
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