* [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register()
2013-11-24 13:20 [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Lars-Peter Clausen
@ 2013-11-24 13:20 ` Lars-Peter Clausen
2013-11-25 10:36 ` Bo Shen
2013-11-24 13:20 ` [PATCH 3/6] ASoC: ep93xx: " Lars-Peter Clausen
` (4 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-24 13:20 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Timur Tabi, H Hartley Sweeten, Lars-Peter Clausen,
Bo Shen, Markus Pargmann, Shawn Guo
Makes the code shorter.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
sound/soc/atmel/atmel-pcm-dma.c | 8 +-------
sound/soc/atmel/atmel-pcm.h | 4 ----
sound/soc/atmel/atmel_ssc_dai.c | 4 +---
3 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/sound/soc/atmel/atmel-pcm-dma.c b/sound/soc/atmel/atmel-pcm-dma.c
index 06082e5..7dbc0e9 100644
--- a/sound/soc/atmel/atmel-pcm-dma.c
+++ b/sound/soc/atmel/atmel-pcm-dma.c
@@ -129,17 +129,11 @@ static const struct snd_dmaengine_pcm_config atmel_dmaengine_pcm_config = {
int atmel_pcm_dma_platform_register(struct device *dev)
{
- return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
+ return devm_snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
}
EXPORT_SYMBOL(atmel_pcm_dma_platform_register);
-void atmel_pcm_dma_platform_unregister(struct device *dev)
-{
- snd_dmaengine_pcm_unregister(dev);
-}
-EXPORT_SYMBOL(atmel_pcm_dma_platform_unregister);
-
MODULE_AUTHOR("Bo Shen <voice.shen@atmel.com>");
MODULE_DESCRIPTION("Atmel DMA based PCM module");
MODULE_LICENSE("GPL");
diff --git a/sound/soc/atmel/atmel-pcm.h b/sound/soc/atmel/atmel-pcm.h
index 12ae814..bb71069 100644
--- a/sound/soc/atmel/atmel-pcm.h
+++ b/sound/soc/atmel/atmel-pcm.h
@@ -105,15 +105,11 @@ static inline void atmel_pcm_pdc_platform_unregister(struct device *dev)
#if defined(CONFIG_SND_ATMEL_SOC_DMA) || \
defined(CONFIG_SND_ATMEL_SOC_DMA_MODULE)
int atmel_pcm_dma_platform_register(struct device *dev);
-void atmel_pcm_dma_platform_unregister(struct device *dev);
#else
static inline int atmel_pcm_dma_platform_register(struct device *dev)
{
return 0;
}
-static inline void atmel_pcm_dma_platform_unregister(struct device *dev)
-{
-}
#endif
#endif /* _ATMEL_PCM_H */
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c
index 8697ced..13aaa7d 100644
--- a/sound/soc/atmel/atmel_ssc_dai.c
+++ b/sound/soc/atmel/atmel_ssc_dai.c
@@ -792,9 +792,7 @@ static void asoc_ssc_exit(struct device *dev)
struct platform_device *pdev = to_platform_device(dev);
struct ssc_device *ssc = platform_get_drvdata(pdev);
- if (ssc->pdata->use_dma)
- atmel_pcm_dma_platform_unregister(dev);
- else
+ if (!ssc->pdata->use_dma)
atmel_pcm_pdc_platform_unregister(dev);
snd_soc_unregister_component(dev);
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register()
2013-11-24 13:20 ` [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register() Lars-Peter Clausen
@ 2013-11-25 10:36 ` Bo Shen
2013-11-25 10:41 ` Lars-Peter Clausen
0 siblings, 1 reply; 14+ messages in thread
From: Bo Shen @ 2013-11-25 10:36 UTC (permalink / raw)
To: Lars-Peter Clausen
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Mark Brown, Bo Shen, Markus Pargmann, Shawn Guo
Hi Lars-Perter,
On 11/24/2013 09:20 PM, Lars-Peter Clausen wrote:
> Makes the code shorter.
>
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> ---
> sound/soc/atmel/atmel-pcm-dma.c | 8 +-------
> sound/soc/atmel/atmel-pcm.h | 4 ----
> sound/soc/atmel/atmel_ssc_dai.c | 4 +---
> 3 files changed, 2 insertions(+), 14 deletions(-)
Tested on at91sam9n12ek board, it will cause oops at the second time
load the driver module (insmod --> rmmod --> insmod: oops).
Some log information as following:
---8>---
Unable to handle kernel paging request at virtual address bf000190
pgd = c77c0000
[bf000190] *pgd=27457811, *pte=00000000, *ppte=00000000
Internal error: Oops: 7 [#1] ARM
Modules linked in: snd_atmel_soc_wm8904(+) snd_soc_wm8904
snd_soc_atmel_ssc_dai snd_soc_atmel_pcm_dma [last unloaded:
snd_soc_atmel_pcm_dma]
CPU: 0 PID: 574 Comm: insmod Not tainted 3.13.0-rc1+ #65
task: c774d800 ti: c754e000 task.ti: c754e000
PC is at dmaengine_pcm_new+0x28/0x1a0
LR is at soc_new_pcm+0x2ec/0x394
pc : [<c02b5dcc>] lr : [<c02b4cb4>] psr: a0000013
sp : c754fc88 ip : 00000000 fp : c77682ec
r10: c7768220 r9 : c77682e0 r8 : 00000000
r7 : c77682ec r6 : 00000001 r5 : 00000001 r4 : c7685810
r3 : bf000180 r2 : c7467010 r1 : c7777020 r0 : c7685810
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005317f Table: 277c0000 DAC: 00000015
Process insmod (pid: 574, stack limit = 0xc754e1c0)
Stack: (0xc754fc88 to 0xc7550000)
......
[<c02b5dcc>] (dmaengine_pcm_new+0x28/0x1a0) from [<c02b4cb4>]
(soc_new_pcm+0x2ec/0x394)
[<c02b4cb4>] (soc_new_pcm+0x2ec/0x394) from [<c02abfe8>]
(snd_soc_register_card+0xadc/0x1180)
[<c02abfe8>] (snd_soc_register_card+0xadc/0x1180) from [<bf02d24c>]
(atmel_asoc_wm8904_probe+0x18c/0x214 [snd_atmel_soc_wm8904])
[<bf02d24c>] (atmel_asoc_wm8904_probe+0x18c/0x214
[snd_atmel_soc_wm8904]) from [<c01dedcc>] (platform_drv_probe+0x18/0x48)
[<c01dedcc>] (platform_drv_probe+0x18/0x48) from [<c01dda6c>]
(driver_probe_device+0xac/0x1f4)
[<c01dda6c>] (driver_probe_device+0xac/0x1f4) from [<c01ddc1c>]
(__driver_attach+0x68/0x88)
[<c01ddc1c>] (__driver_attach+0x68/0x88) from [<c01dc4bc>]
(bus_for_each_dev+0x54/0x8c)
[<c01dc4bc>] (bus_for_each_dev+0x54/0x8c) from [<c01dd2d8>]
(bus_add_driver+0xc8/0x1c4)
[<c01dd2d8>] (bus_add_driver+0xc8/0x1c4) from [<c01de228>]
(driver_register+0x9c/0xe0)
[<c01de228>] (driver_register+0x9c/0xe0) from [<c0008910>]
(do_one_initcall+0xa8/0x15c)
[<c0008910>] (do_one_initcall+0xa8/0x15c) from [<c004d8fc>]
(load_module+0x1724/0x19d8)
[<c004d8fc>] (load_module+0x1724/0x19d8) from [<c004dc70>]
(SyS_init_module+0xc0/0xd8)
[<c004dc70>] (SyS_init_module+0xc0/0xd8) from [<c00094a0>]
(ret_fast_syscall+0x0/0x2c)
Code: e1a04000 e24b900c e58d200c 0a000004 (e5938010)
---[ end trace 484369a6aa2ca38d ]---
Segmentation fault
---<8---
> diff --git a/sound/soc/atmel/atmel-pcm-dma.c b/sound/soc/atmel/atmel-pcm-dma.c
> index 06082e5..7dbc0e9 100644
> --- a/sound/soc/atmel/atmel-pcm-dma.c
> +++ b/sound/soc/atmel/atmel-pcm-dma.c
> @@ -129,17 +129,11 @@ static const struct snd_dmaengine_pcm_config atmel_dmaengine_pcm_config = {
>
> int atmel_pcm_dma_platform_register(struct device *dev)
> {
> - return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
> + return devm_snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
> SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
> }
> EXPORT_SYMBOL(atmel_pcm_dma_platform_register);
>
> -void atmel_pcm_dma_platform_unregister(struct device *dev)
> -{
> - snd_dmaengine_pcm_unregister(dev);
> -}
> -EXPORT_SYMBOL(atmel_pcm_dma_platform_unregister);
> -
> MODULE_AUTHOR("Bo Shen <voice.shen@atmel.com>");
> MODULE_DESCRIPTION("Atmel DMA based PCM module");
> MODULE_LICENSE("GPL");
> diff --git a/sound/soc/atmel/atmel-pcm.h b/sound/soc/atmel/atmel-pcm.h
> index 12ae814..bb71069 100644
> --- a/sound/soc/atmel/atmel-pcm.h
> +++ b/sound/soc/atmel/atmel-pcm.h
> @@ -105,15 +105,11 @@ static inline void atmel_pcm_pdc_platform_unregister(struct device *dev)
> #if defined(CONFIG_SND_ATMEL_SOC_DMA) || \
> defined(CONFIG_SND_ATMEL_SOC_DMA_MODULE)
> int atmel_pcm_dma_platform_register(struct device *dev);
> -void atmel_pcm_dma_platform_unregister(struct device *dev);
> #else
> static inline int atmel_pcm_dma_platform_register(struct device *dev)
> {
> return 0;
> }
> -static inline void atmel_pcm_dma_platform_unregister(struct device *dev)
> -{
> -}
> #endif
>
> #endif /* _ATMEL_PCM_H */
> diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c
> index 8697ced..13aaa7d 100644
> --- a/sound/soc/atmel/atmel_ssc_dai.c
> +++ b/sound/soc/atmel/atmel_ssc_dai.c
> @@ -792,9 +792,7 @@ static void asoc_ssc_exit(struct device *dev)
> struct platform_device *pdev = to_platform_device(dev);
> struct ssc_device *ssc = platform_get_drvdata(pdev);
>
> - if (ssc->pdata->use_dma)
> - atmel_pcm_dma_platform_unregister(dev);
> - else
> + if (!ssc->pdata->use_dma)
> atmel_pcm_pdc_platform_unregister(dev);
>
> snd_soc_unregister_component(dev);
>
Best Regards,
Bo Shen
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register()
2013-11-25 10:36 ` Bo Shen
@ 2013-11-25 10:41 ` Lars-Peter Clausen
2013-11-25 11:18 ` Lars-Peter Clausen
0 siblings, 1 reply; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-25 10:41 UTC (permalink / raw)
To: Bo Shen
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Mark Brown, Markus Pargmann, Shawn Guo
On 11/25/2013 11:36 AM, Bo Shen wrote:
> Hi Lars-Perter,
>
> On 11/24/2013 09:20 PM, Lars-Peter Clausen wrote:
>> Makes the code shorter.
>>
>> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
>> ---
>> sound/soc/atmel/atmel-pcm-dma.c | 8 +-------
>> sound/soc/atmel/atmel-pcm.h | 4 ----
>> sound/soc/atmel/atmel_ssc_dai.c | 4 +---
>> 3 files changed, 2 insertions(+), 14 deletions(-)
>
> Tested on at91sam9n12ek board, it will cause oops at the second time load
> the driver module (insmod --> rmmod --> insmod: oops).
Does it work without the patch?
>
> Some log information as following:
> ---8>---
> Unable to handle kernel paging request at virtual address bf000190
> pgd = c77c0000
> [bf000190] *pgd=27457811, *pte=00000000, *ppte=00000000
> Internal error: Oops: 7 [#1] ARM
> Modules linked in: snd_atmel_soc_wm8904(+) snd_soc_wm8904
> snd_soc_atmel_ssc_dai snd_soc_atmel_pcm_dma [last unloaded:
> snd_soc_atmel_pcm_dma]
> CPU: 0 PID: 574 Comm: insmod Not tainted 3.13.0-rc1+ #65
> task: c774d800 ti: c754e000 task.ti: c754e000
> PC is at dmaengine_pcm_new+0x28/0x1a0
> LR is at soc_new_pcm+0x2ec/0x394
> pc : [<c02b5dcc>] lr : [<c02b4cb4>] psr: a0000013
> sp : c754fc88 ip : 00000000 fp : c77682ec
> r10: c7768220 r9 : c77682e0 r8 : 00000000
> r7 : c77682ec r6 : 00000001 r5 : 00000001 r4 : c7685810
> r3 : bf000180 r2 : c7467010 r1 : c7777020 r0 : c7685810
> Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
> Control: 0005317f Table: 277c0000 DAC: 00000015
> Process insmod (pid: 574, stack limit = 0xc754e1c0)
> Stack: (0xc754fc88 to 0xc7550000)
> ......
> [<c02b5dcc>] (dmaengine_pcm_new+0x28/0x1a0) from [<c02b4cb4>]
> (soc_new_pcm+0x2ec/0x394)
> [<c02b4cb4>] (soc_new_pcm+0x2ec/0x394) from [<c02abfe8>]
> (snd_soc_register_card+0xadc/0x1180)
> [<c02abfe8>] (snd_soc_register_card+0xadc/0x1180) from [<bf02d24c>]
> (atmel_asoc_wm8904_probe+0x18c/0x214 [snd_atmel_soc_wm8904])
> [<bf02d24c>] (atmel_asoc_wm8904_probe+0x18c/0x214 [snd_atmel_soc_wm8904])
> from [<c01dedcc>] (platform_drv_probe+0x18/0x48)
> [<c01dedcc>] (platform_drv_probe+0x18/0x48) from [<c01dda6c>]
> (driver_probe_device+0xac/0x1f4)
> [<c01dda6c>] (driver_probe_device+0xac/0x1f4) from [<c01ddc1c>]
> (__driver_attach+0x68/0x88)
> [<c01ddc1c>] (__driver_attach+0x68/0x88) from [<c01dc4bc>]
> (bus_for_each_dev+0x54/0x8c)
> [<c01dc4bc>] (bus_for_each_dev+0x54/0x8c) from [<c01dd2d8>]
> (bus_add_driver+0xc8/0x1c4)
> [<c01dd2d8>] (bus_add_driver+0xc8/0x1c4) from [<c01de228>]
> (driver_register+0x9c/0xe0)
> [<c01de228>] (driver_register+0x9c/0xe0) from [<c0008910>]
> (do_one_initcall+0xa8/0x15c)
> [<c0008910>] (do_one_initcall+0xa8/0x15c) from [<c004d8fc>]
> (load_module+0x1724/0x19d8)
> [<c004d8fc>] (load_module+0x1724/0x19d8) from [<c004dc70>]
> (SyS_init_module+0xc0/0xd8)
> [<c004dc70>] (SyS_init_module+0xc0/0xd8) from [<c00094a0>]
> (ret_fast_syscall+0x0/0x2c)
> Code: e1a04000 e24b900c e58d200c 0a000004 (e5938010)
> ---[ end trace 484369a6aa2ca38d ]---
> Segmentation fault
> ---<8---
>
>> diff --git a/sound/soc/atmel/atmel-pcm-dma.c
>> b/sound/soc/atmel/atmel-pcm-dma.c
>> index 06082e5..7dbc0e9 100644
>> --- a/sound/soc/atmel/atmel-pcm-dma.c
>> +++ b/sound/soc/atmel/atmel-pcm-dma.c
>> @@ -129,17 +129,11 @@ static const struct snd_dmaengine_pcm_config
>> atmel_dmaengine_pcm_config = {
>>
>> int atmel_pcm_dma_platform_register(struct device *dev)
>> {
>> - return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
>> + return devm_snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
>> SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
>> }
>> EXPORT_SYMBOL(atmel_pcm_dma_platform_register);
>>
>> -void atmel_pcm_dma_platform_unregister(struct device *dev)
>> -{
>> - snd_dmaengine_pcm_unregister(dev);
>> -}
>> -EXPORT_SYMBOL(atmel_pcm_dma_platform_unregister);
>> -
>> MODULE_AUTHOR("Bo Shen <voice.shen@atmel.com>");
>> MODULE_DESCRIPTION("Atmel DMA based PCM module");
>> MODULE_LICENSE("GPL");
>> diff --git a/sound/soc/atmel/atmel-pcm.h b/sound/soc/atmel/atmel-pcm.h
>> index 12ae814..bb71069 100644
>> --- a/sound/soc/atmel/atmel-pcm.h
>> +++ b/sound/soc/atmel/atmel-pcm.h
>> @@ -105,15 +105,11 @@ static inline void
>> atmel_pcm_pdc_platform_unregister(struct device *dev)
>> #if defined(CONFIG_SND_ATMEL_SOC_DMA) || \
>> defined(CONFIG_SND_ATMEL_SOC_DMA_MODULE)
>> int atmel_pcm_dma_platform_register(struct device *dev);
>> -void atmel_pcm_dma_platform_unregister(struct device *dev);
>> #else
>> static inline int atmel_pcm_dma_platform_register(struct device *dev)
>> {
>> return 0;
>> }
>> -static inline void atmel_pcm_dma_platform_unregister(struct device *dev)
>> -{
>> -}
>> #endif
>>
>> #endif /* _ATMEL_PCM_H */
>> diff --git a/sound/soc/atmel/atmel_ssc_dai.c
>> b/sound/soc/atmel/atmel_ssc_dai.c
>> index 8697ced..13aaa7d 100644
>> --- a/sound/soc/atmel/atmel_ssc_dai.c
>> +++ b/sound/soc/atmel/atmel_ssc_dai.c
>> @@ -792,9 +792,7 @@ static void asoc_ssc_exit(struct device *dev)
>> struct platform_device *pdev = to_platform_device(dev);
>> struct ssc_device *ssc = platform_get_drvdata(pdev);
>>
>> - if (ssc->pdata->use_dma)
>> - atmel_pcm_dma_platform_unregister(dev);
>> - else
>> + if (!ssc->pdata->use_dma)
>> atmel_pcm_pdc_platform_unregister(dev);
>>
>> snd_soc_unregister_component(dev);
>>
>
> Best Regards,
> Bo Shen
>
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register()
2013-11-25 10:41 ` Lars-Peter Clausen
@ 2013-11-25 11:18 ` Lars-Peter Clausen
0 siblings, 0 replies; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-25 11:18 UTC (permalink / raw)
To: Bo Shen
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Mark Brown, Markus Pargmann, Shawn Guo
On 11/25/2013 11:41 AM, Lars-Peter Clausen wrote:
> On 11/25/2013 11:36 AM, Bo Shen wrote:
>> Hi Lars-Perter,
>>
>> On 11/24/2013 09:20 PM, Lars-Peter Clausen wrote:
>>> Makes the code shorter.
>>>
>>> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
>>> ---
>>> sound/soc/atmel/atmel-pcm-dma.c | 8 +-------
>>> sound/soc/atmel/atmel-pcm.h | 4 ----
>>> sound/soc/atmel/atmel_ssc_dai.c | 4 +---
>>> 3 files changed, 2 insertions(+), 14 deletions(-)
>>
>> Tested on at91sam9n12ek board, it will cause oops at the second time load
>> the driver module (insmod --> rmmod --> insmod: oops).
>
> Does it work without the patch?
>
Ok, I see atmel is special. asoc_ssc_init() and asoc_ssc_exit() are not
called from the drivers probe or remove function, so we can't use the
resource managed version here. Thanks for testing.
- Lars
>>
>> Some log information as following:
>> ---8>---
>> Unable to handle kernel paging request at virtual address bf000190
>> pgd = c77c0000
>> [bf000190] *pgd=27457811, *pte=00000000, *ppte=00000000
>> Internal error: Oops: 7 [#1] ARM
>> Modules linked in: snd_atmel_soc_wm8904(+) snd_soc_wm8904
>> snd_soc_atmel_ssc_dai snd_soc_atmel_pcm_dma [last unloaded:
>> snd_soc_atmel_pcm_dma]
>> CPU: 0 PID: 574 Comm: insmod Not tainted 3.13.0-rc1+ #65
>> task: c774d800 ti: c754e000 task.ti: c754e000
>> PC is at dmaengine_pcm_new+0x28/0x1a0
>> LR is at soc_new_pcm+0x2ec/0x394
>> pc : [<c02b5dcc>] lr : [<c02b4cb4>] psr: a0000013
>> sp : c754fc88 ip : 00000000 fp : c77682ec
>> r10: c7768220 r9 : c77682e0 r8 : 00000000
>> r7 : c77682ec r6 : 00000001 r5 : 00000001 r4 : c7685810
>> r3 : bf000180 r2 : c7467010 r1 : c7777020 r0 : c7685810
>> Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
>> Control: 0005317f Table: 277c0000 DAC: 00000015
>> Process insmod (pid: 574, stack limit = 0xc754e1c0)
>> Stack: (0xc754fc88 to 0xc7550000)
>> ......
>> [<c02b5dcc>] (dmaengine_pcm_new+0x28/0x1a0) from [<c02b4cb4>]
>> (soc_new_pcm+0x2ec/0x394)
>> [<c02b4cb4>] (soc_new_pcm+0x2ec/0x394) from [<c02abfe8>]
>> (snd_soc_register_card+0xadc/0x1180)
>> [<c02abfe8>] (snd_soc_register_card+0xadc/0x1180) from [<bf02d24c>]
>> (atmel_asoc_wm8904_probe+0x18c/0x214 [snd_atmel_soc_wm8904])
>> [<bf02d24c>] (atmel_asoc_wm8904_probe+0x18c/0x214 [snd_atmel_soc_wm8904])
>> from [<c01dedcc>] (platform_drv_probe+0x18/0x48)
>> [<c01dedcc>] (platform_drv_probe+0x18/0x48) from [<c01dda6c>]
>> (driver_probe_device+0xac/0x1f4)
>> [<c01dda6c>] (driver_probe_device+0xac/0x1f4) from [<c01ddc1c>]
>> (__driver_attach+0x68/0x88)
>> [<c01ddc1c>] (__driver_attach+0x68/0x88) from [<c01dc4bc>]
>> (bus_for_each_dev+0x54/0x8c)
>> [<c01dc4bc>] (bus_for_each_dev+0x54/0x8c) from [<c01dd2d8>]
>> (bus_add_driver+0xc8/0x1c4)
>> [<c01dd2d8>] (bus_add_driver+0xc8/0x1c4) from [<c01de228>]
>> (driver_register+0x9c/0xe0)
>> [<c01de228>] (driver_register+0x9c/0xe0) from [<c0008910>]
>> (do_one_initcall+0xa8/0x15c)
>> [<c0008910>] (do_one_initcall+0xa8/0x15c) from [<c004d8fc>]
>> (load_module+0x1724/0x19d8)
>> [<c004d8fc>] (load_module+0x1724/0x19d8) from [<c004dc70>]
>> (SyS_init_module+0xc0/0xd8)
>> [<c004dc70>] (SyS_init_module+0xc0/0xd8) from [<c00094a0>]
>> (ret_fast_syscall+0x0/0x2c)
>> Code: e1a04000 e24b900c e58d200c 0a000004 (e5938010)
>> ---[ end trace 484369a6aa2ca38d ]---
>> Segmentation fault
>> ---<8---
>>
>>> diff --git a/sound/soc/atmel/atmel-pcm-dma.c
>>> b/sound/soc/atmel/atmel-pcm-dma.c
>>> index 06082e5..7dbc0e9 100644
>>> --- a/sound/soc/atmel/atmel-pcm-dma.c
>>> +++ b/sound/soc/atmel/atmel-pcm-dma.c
>>> @@ -129,17 +129,11 @@ static const struct snd_dmaengine_pcm_config
>>> atmel_dmaengine_pcm_config = {
>>>
>>> int atmel_pcm_dma_platform_register(struct device *dev)
>>> {
>>> - return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
>>> + return devm_snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
>>> SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
>>> }
>>> EXPORT_SYMBOL(atmel_pcm_dma_platform_register);
>>>
>>> -void atmel_pcm_dma_platform_unregister(struct device *dev)
>>> -{
>>> - snd_dmaengine_pcm_unregister(dev);
>>> -}
>>> -EXPORT_SYMBOL(atmel_pcm_dma_platform_unregister);
>>> -
>>> MODULE_AUTHOR("Bo Shen <voice.shen@atmel.com>");
>>> MODULE_DESCRIPTION("Atmel DMA based PCM module");
>>> MODULE_LICENSE("GPL");
>>> diff --git a/sound/soc/atmel/atmel-pcm.h b/sound/soc/atmel/atmel-pcm.h
>>> index 12ae814..bb71069 100644
>>> --- a/sound/soc/atmel/atmel-pcm.h
>>> +++ b/sound/soc/atmel/atmel-pcm.h
>>> @@ -105,15 +105,11 @@ static inline void
>>> atmel_pcm_pdc_platform_unregister(struct device *dev)
>>> #if defined(CONFIG_SND_ATMEL_SOC_DMA) || \
>>> defined(CONFIG_SND_ATMEL_SOC_DMA_MODULE)
>>> int atmel_pcm_dma_platform_register(struct device *dev);
>>> -void atmel_pcm_dma_platform_unregister(struct device *dev);
>>> #else
>>> static inline int atmel_pcm_dma_platform_register(struct device *dev)
>>> {
>>> return 0;
>>> }
>>> -static inline void atmel_pcm_dma_platform_unregister(struct device *dev)
>>> -{
>>> -}
>>> #endif
>>>
>>> #endif /* _ATMEL_PCM_H */
>>> diff --git a/sound/soc/atmel/atmel_ssc_dai.c
>>> b/sound/soc/atmel/atmel_ssc_dai.c
>>> index 8697ced..13aaa7d 100644
>>> --- a/sound/soc/atmel/atmel_ssc_dai.c
>>> +++ b/sound/soc/atmel/atmel_ssc_dai.c
>>> @@ -792,9 +792,7 @@ static void asoc_ssc_exit(struct device *dev)
>>> struct platform_device *pdev = to_platform_device(dev);
>>> struct ssc_device *ssc = platform_get_drvdata(pdev);
>>>
>>> - if (ssc->pdata->use_dma)
>>> - atmel_pcm_dma_platform_unregister(dev);
>>> - else
>>> + if (!ssc->pdata->use_dma)
>>> atmel_pcm_pdc_platform_unregister(dev);
>>>
>>> snd_soc_unregister_component(dev);
>>>
>>
>> Best Regards,
>> Bo Shen
>>
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 3/6] ASoC: ep93xx: Use devm_snd_dmaengine_pcm_register()
2013-11-24 13:20 [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Lars-Peter Clausen
2013-11-24 13:20 ` [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register() Lars-Peter Clausen
@ 2013-11-24 13:20 ` Lars-Peter Clausen
2013-11-24 13:21 ` [PATCH 4/6] ASoC: fsl: " Lars-Peter Clausen
` (3 subsequent siblings)
5 siblings, 0 replies; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-24 13:20 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Timur Tabi, H Hartley Sweeten, Lars-Peter Clausen,
Bo Shen, Markus Pargmann, Shawn Guo
Makes the code slightly shorter.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
sound/soc/cirrus/ep93xx-pcm.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/sound/soc/cirrus/ep93xx-pcm.c b/sound/soc/cirrus/ep93xx-pcm.c
index cfe517e..fdb8b8f 100644
--- a/sound/soc/cirrus/ep93xx-pcm.c
+++ b/sound/soc/cirrus/ep93xx-pcm.c
@@ -78,19 +78,13 @@ static const struct snd_dmaengine_pcm_config ep93xx_dmaengine_pcm_config = {
static int ep93xx_soc_platform_probe(struct platform_device *pdev)
{
- return snd_dmaengine_pcm_register(&pdev->dev,
+ return devm_snd_dmaengine_pcm_register(&pdev->dev,
&ep93xx_dmaengine_pcm_config,
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
SND_DMAENGINE_PCM_FLAG_NO_DT |
SND_DMAENGINE_PCM_FLAG_COMPAT);
}
-static int ep93xx_soc_platform_remove(struct platform_device *pdev)
-{
- snd_dmaengine_pcm_unregister(&pdev->dev);
- return 0;
-}
-
static struct platform_driver ep93xx_pcm_driver = {
.driver = {
.name = "ep93xx-pcm-audio",
@@ -98,7 +92,6 @@ static struct platform_driver ep93xx_pcm_driver = {
},
.probe = ep93xx_soc_platform_probe,
- .remove = ep93xx_soc_platform_remove,
};
module_platform_driver(ep93xx_pcm_driver);
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH 4/6] ASoC: fsl: Use devm_snd_dmaengine_pcm_register()
2013-11-24 13:20 [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Lars-Peter Clausen
2013-11-24 13:20 ` [PATCH 2/6] ASoC: atmel: Use devm_snd_dmaengine_pcm_register() Lars-Peter Clausen
2013-11-24 13:20 ` [PATCH 3/6] ASoC: ep93xx: " Lars-Peter Clausen
@ 2013-11-24 13:21 ` Lars-Peter Clausen
2013-11-24 13:21 ` [PATCH 5/6] ASoC: spear: Use devm_snd_dmaengine_pcm_register Lars-Peter Clausen
` (2 subsequent siblings)
5 siblings, 0 replies; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-24 13:21 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Timur Tabi, H Hartley Sweeten, Lars-Peter Clausen,
Bo Shen, Markus Pargmann, Shawn Guo
Makes the code shorter.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
sound/soc/fsl/fsl_spdif.c | 8 --------
sound/soc/fsl/fsl_ssi.c | 4 ----
sound/soc/fsl/imx-pcm-dma.c | 9 ++-------
sound/soc/fsl/imx-pcm.h | 5 -----
sound/soc/fsl/imx-ssi.c | 3 ---
5 files changed, 2 insertions(+), 27 deletions(-)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c
index 55193a5..4d075f1 100644
--- a/sound/soc/fsl/fsl_spdif.c
+++ b/sound/soc/fsl/fsl_spdif.c
@@ -1181,13 +1181,6 @@ static int fsl_spdif_probe(struct platform_device *pdev)
return ret;
}
-static int fsl_spdif_remove(struct platform_device *pdev)
-{
- imx_pcm_dma_exit(pdev);
-
- return 0;
-}
-
static const struct of_device_id fsl_spdif_dt_ids[] = {
{ .compatible = "fsl,imx35-spdif", },
{}
@@ -1201,7 +1194,6 @@ static struct platform_driver fsl_spdif_driver = {
.of_match_table = fsl_spdif_dt_ids,
},
.probe = fsl_spdif_probe,
- .remove = fsl_spdif_remove,
};
module_platform_driver(fsl_spdif_driver);
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index fb8f52a..3df0318 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -1109,8 +1109,6 @@ done:
return 0;
error_dai:
- if (ssi_private->ssi_on_imx)
- imx_pcm_dma_exit(pdev);
snd_soc_unregister_component(&pdev->dev);
error_dev:
@@ -1132,8 +1130,6 @@ static int fsl_ssi_remove(struct platform_device *pdev)
if (!ssi_private->new_binding)
platform_device_unregister(ssi_private->pdev);
- if (ssi_private->ssi_on_imx)
- imx_pcm_dma_exit(pdev);
snd_soc_unregister_component(&pdev->dev);
device_remove_file(&pdev->dev, &ssi_private->dev_attr);
if (ssi_private->ssi_on_imx)
diff --git a/sound/soc/fsl/imx-pcm-dma.c b/sound/soc/fsl/imx-pcm-dma.c
index aee2307..c5e47f8 100644
--- a/sound/soc/fsl/imx-pcm-dma.c
+++ b/sound/soc/fsl/imx-pcm-dma.c
@@ -61,16 +61,11 @@ static const struct snd_dmaengine_pcm_config imx_dmaengine_pcm_config = {
int imx_pcm_dma_init(struct platform_device *pdev)
{
- return snd_dmaengine_pcm_register(&pdev->dev, &imx_dmaengine_pcm_config,
+ return devm_snd_dmaengine_pcm_register(&pdev->dev,
+ &imx_dmaengine_pcm_config,
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
SND_DMAENGINE_PCM_FLAG_COMPAT);
}
EXPORT_SYMBOL_GPL(imx_pcm_dma_init);
-void imx_pcm_dma_exit(struct platform_device *pdev)
-{
- snd_dmaengine_pcm_unregister(&pdev->dev);
-}
-EXPORT_SYMBOL_GPL(imx_pcm_dma_exit);
-
MODULE_LICENSE("GPL");
diff --git a/sound/soc/fsl/imx-pcm.h b/sound/soc/fsl/imx-pcm.h
index 5d5b733..c79cb27 100644
--- a/sound/soc/fsl/imx-pcm.h
+++ b/sound/soc/fsl/imx-pcm.h
@@ -40,16 +40,11 @@ struct imx_pcm_fiq_params {
#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_DMA)
int imx_pcm_dma_init(struct platform_device *pdev);
-void imx_pcm_dma_exit(struct platform_device *pdev);
#else
static inline int imx_pcm_dma_init(struct platform_device *pdev)
{
return -ENODEV;
}
-
-static inline void imx_pcm_dma_exit(struct platform_device *pdev)
-{
-}
#endif
#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_FIQ)
diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c
index f5f248c..cc7376f 100644
--- a/sound/soc/fsl/imx-ssi.c
+++ b/sound/soc/fsl/imx-ssi.c
@@ -624,9 +624,6 @@ static int imx_ssi_remove(struct platform_device *pdev)
{
struct imx_ssi *ssi = platform_get_drvdata(pdev);
- if (!ssi->dma_init)
- imx_pcm_dma_exit(pdev);
-
if (!ssi->fiq_init)
imx_pcm_fiq_exit(pdev);
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH 5/6] ASoC: spear: Use devm_snd_dmaengine_pcm_register
2013-11-24 13:20 [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Lars-Peter Clausen
` (2 preceding siblings ...)
2013-11-24 13:21 ` [PATCH 4/6] ASoC: fsl: " Lars-Peter Clausen
@ 2013-11-24 13:21 ` Lars-Peter Clausen
2013-11-25 4:14 ` Rajeev kumar
2013-11-24 13:21 ` [PATCH 6/6] ASoC: mxs: Use devm_snd_dmaengine_pcm_register() Lars-Peter Clausen
2013-11-25 17:19 ` [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Mark Brown
5 siblings, 1 reply; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-24 13:21 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Timur Tabi, H Hartley Sweeten, Lars-Peter Clausen,
Bo Shen, Markus Pargmann, Shawn Guo
Makes the code slightly shorter.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
sound/soc/spear/spear_pcm.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/sound/soc/spear/spear_pcm.c b/sound/soc/spear/spear_pcm.c
index 4707f2b..9a02141 100644
--- a/sound/soc/spear/spear_pcm.c
+++ b/sound/soc/spear/spear_pcm.c
@@ -49,18 +49,12 @@ static const struct snd_dmaengine_pcm_config spear_dmaengine_pcm_config = {
static int spear_soc_platform_probe(struct platform_device *pdev)
{
- return snd_dmaengine_pcm_register(&pdev->dev,
+ return devm_snd_dmaengine_pcm_register(&pdev->dev,
&spear_dmaengine_pcm_config,
SND_DMAENGINE_PCM_FLAG_NO_DT |
SND_DMAENGINE_PCM_FLAG_COMPAT);
}
-static int spear_soc_platform_remove(struct platform_device *pdev)
-{
- snd_dmaengine_pcm_unregister(&pdev->dev);
- return 0;
-}
-
static struct platform_driver spear_pcm_driver = {
.driver = {
.name = "spear-pcm-audio",
@@ -68,7 +62,6 @@ static struct platform_driver spear_pcm_driver = {
},
.probe = spear_soc_platform_probe,
- .remove = spear_soc_platform_remove,
};
module_platform_driver(spear_pcm_driver);
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 5/6] ASoC: spear: Use devm_snd_dmaengine_pcm_register
2013-11-24 13:21 ` [PATCH 5/6] ASoC: spear: Use devm_snd_dmaengine_pcm_register Lars-Peter Clausen
@ 2013-11-25 4:14 ` Rajeev kumar
0 siblings, 0 replies; 14+ messages in thread
From: Rajeev kumar @ 2013-11-25 4:14 UTC (permalink / raw)
To: Lars-Peter Clausen
Cc: Fabio Estevam, alsa-devel@alsa-project.org, Ryan Mallon,
Nicolas Ferre, Timur Tabi, Liam Girdwood, H Hartley Sweeten,
Mark Brown, Bo Shen, Markus Pargmann, Shawn Guo
On 11/24/2013 6:51 PM, Lars-Peter Clausen wrote:
> snd_dmaengine_pcm_register(&pdev->dev,
> &spear_dmaengine_pcm_config,
> SND_DMAENGINE_PCM_FLAG_NO_DT |
> SND_DMAENGINE_PCM_FLAG_COMPAT);
> }
>
> -static int spear_soc_platform_remove(struct platform_device *pdev)
> -{
> - snd_dmaengine_pcm_unregister(&pdev->dev);
> - return 0;
> -}
Acked-by: Rajeev Kumar <rajeev-dlh.kumar@st.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 6/6] ASoC: mxs: Use devm_snd_dmaengine_pcm_register()
2013-11-24 13:20 [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Lars-Peter Clausen
` (3 preceding siblings ...)
2013-11-24 13:21 ` [PATCH 5/6] ASoC: spear: Use devm_snd_dmaengine_pcm_register Lars-Peter Clausen
@ 2013-11-24 13:21 ` Lars-Peter Clausen
2013-11-25 17:19 ` [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Mark Brown
5 siblings, 0 replies; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-24 13:21 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Timur Tabi, H Hartley Sweeten, Lars-Peter Clausen,
Bo Shen, Markus Pargmann, Shawn Guo
Makes the code shorter.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
sound/soc/mxs/mxs-pcm.c | 8 +-------
sound/soc/mxs/mxs-pcm.h | 1 -
sound/soc/mxs/mxs-saif.c | 8 --------
3 files changed, 1 insertion(+), 16 deletions(-)
diff --git a/sound/soc/mxs/mxs-pcm.c b/sound/soc/mxs/mxs-pcm.c
index b16abbb..04a6b0d 100644
--- a/sound/soc/mxs/mxs-pcm.c
+++ b/sound/soc/mxs/mxs-pcm.c
@@ -56,16 +56,10 @@ static const struct snd_dmaengine_pcm_config mxs_dmaengine_pcm_config = {
int mxs_pcm_platform_register(struct device *dev)
{
- return snd_dmaengine_pcm_register(dev, &mxs_dmaengine_pcm_config,
+ return devm_snd_dmaengine_pcm_register(dev, &mxs_dmaengine_pcm_config,
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX);
}
EXPORT_SYMBOL_GPL(mxs_pcm_platform_register);
-void mxs_pcm_platform_unregister(struct device *dev)
-{
- snd_dmaengine_pcm_unregister(dev);
-}
-EXPORT_SYMBOL_GPL(mxs_pcm_platform_unregister);
-
MODULE_LICENSE("GPL");
diff --git a/sound/soc/mxs/mxs-pcm.h b/sound/soc/mxs/mxs-pcm.h
index bc685b6..035ea04 100644
--- a/sound/soc/mxs/mxs-pcm.h
+++ b/sound/soc/mxs/mxs-pcm.h
@@ -20,6 +20,5 @@
#define _MXS_PCM_H
int mxs_pcm_platform_register(struct device *dev);
-void mxs_pcm_platform_unregister(struct device *dev);
#endif
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c
index 54e622a..92db74d 100644
--- a/sound/soc/mxs/mxs-saif.c
+++ b/sound/soc/mxs/mxs-saif.c
@@ -804,13 +804,6 @@ static int mxs_saif_probe(struct platform_device *pdev)
return 0;
}
-static int mxs_saif_remove(struct platform_device *pdev)
-{
- mxs_pcm_platform_unregister(&pdev->dev);
-
- return 0;
-}
-
static const struct of_device_id mxs_saif_dt_ids[] = {
{ .compatible = "fsl,imx28-saif", },
{ /* sentinel */ }
@@ -819,7 +812,6 @@ MODULE_DEVICE_TABLE(of, mxs_saif_dt_ids);
static struct platform_driver mxs_saif_driver = {
.probe = mxs_saif_probe,
- .remove = mxs_saif_remove,
.driver = {
.name = "mxs-saif",
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register()
2013-11-24 13:20 [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Lars-Peter Clausen
` (4 preceding siblings ...)
2013-11-24 13:21 ` [PATCH 6/6] ASoC: mxs: Use devm_snd_dmaengine_pcm_register() Lars-Peter Clausen
@ 2013-11-25 17:19 ` Mark Brown
2013-11-25 17:42 ` Lars-Peter Clausen
5 siblings, 1 reply; 14+ messages in thread
From: Mark Brown @ 2013-11-25 17:19 UTC (permalink / raw)
To: Lars-Peter Clausen
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Bo Shen, Markus Pargmann, Shawn Guo
[-- Attachment #1.1: Type: text/plain, Size: 282 bytes --]
On Sun, Nov 24, 2013 at 02:20:57PM +0100, Lars-Peter Clausen wrote:
> ---
> include/sound/dmaengine_pcm.h | 4 ++++
> sound/soc/soc-generic-dmaengine-pcm.c | 36 +++++++++++++++++++++++++++++++++++
Please put the code in soc-devres.c. Otherwise this looks good, thanks!
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register()
2013-11-25 17:19 ` [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register() Mark Brown
@ 2013-11-25 17:42 ` Lars-Peter Clausen
2013-11-25 18:23 ` Mark Brown
0 siblings, 1 reply; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-25 17:42 UTC (permalink / raw)
To: Mark Brown
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Bo Shen, Markus Pargmann, Shawn Guo
On 11/25/2013 06:19 PM, Mark Brown wrote:
> On Sun, Nov 24, 2013 at 02:20:57PM +0100, Lars-Peter Clausen wrote:
>
>> ---
>> include/sound/dmaengine_pcm.h | 4 ++++
>> sound/soc/soc-generic-dmaengine-pcm.c | 36 +++++++++++++++++++++++++++++++++++
>
> Please put the code in soc-devres.c. Otherwise this looks good, thanks!
>
I didn't put it there because it has a dependency on
SND_SOC_GENERIC_DMAENGINE_PCM. Sothe options were to either add ifdefery to
soc-devres.c or to put the managed function in soc-generic-dmaengine-pcm.c.
- Lars
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register()
2013-11-25 17:42 ` Lars-Peter Clausen
@ 2013-11-25 18:23 ` Mark Brown
2013-11-25 19:31 ` Lars-Peter Clausen
0 siblings, 1 reply; 14+ messages in thread
From: Mark Brown @ 2013-11-25 18:23 UTC (permalink / raw)
To: Lars-Peter Clausen
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Bo Shen, Markus Pargmann, Shawn Guo
[-- Attachment #1.1: Type: text/plain, Size: 386 bytes --]
On Mon, Nov 25, 2013 at 06:42:56PM +0100, Lars-Peter Clausen wrote:
> I didn't put it there because it has a dependency on
> SND_SOC_GENERIC_DMAENGINE_PCM. Sothe options were to either add
> ifdefery to soc-devres.c or to put the managed function in
> soc-generic-dmaengine-pcm.c.
Hrm, OK though I'd probably have gone with the ifdefs on this one. I'll
wait for more testing anyway.
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] ASoC: Add resource managed snd_dmaengine_pcm_register()
2013-11-25 18:23 ` Mark Brown
@ 2013-11-25 19:31 ` Lars-Peter Clausen
0 siblings, 0 replies; 14+ messages in thread
From: Lars-Peter Clausen @ 2013-11-25 19:31 UTC (permalink / raw)
To: Mark Brown
Cc: Fabio Estevam, alsa-devel, Rajeev Kumar, Ryan Mallon,
Nicolas Ferre, Liam Girdwood, Timur Tabi, H Hartley Sweeten,
Bo Shen, Markus Pargmann, Shawn Guo
On 11/25/2013 07:23 PM, Mark Brown wrote:
> On Mon, Nov 25, 2013 at 06:42:56PM +0100, Lars-Peter Clausen wrote:
>
>> I didn't put it there because it has a dependency on
>> SND_SOC_GENERIC_DMAENGINE_PCM. Sothe options were to either add
>> ifdefery to soc-devres.c or to put the managed function in
>> soc-generic-dmaengine-pcm.c.
>
> Hrm, OK though I'd probably have gone with the ifdefs on this one. I'll
> wait for more testing anyway.
>
I'll change it for v2, no problem.
^ permalink raw reply [flat|nested] 14+ messages in thread