* [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio
@ 2010-11-29 9:38 Axel Lin
2010-11-29 9:39 ` [PATCH 1/5] ASoC: Fix compile error for nuc900-ac97.c Axel Lin
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Axel Lin @ 2010-11-29 9:38 UTC (permalink / raw)
To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Wan ZongShun, alsa-devel
This serial fixes compile error and missing spin_unlock_irqrestore for NUC900 SoC audio.
Regards,
Axel
Axel Lin (5):
ASoC: Fix compile error for nuc900-ac97.c
ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove
ASoC: Fix compile error for nuc900-pcm.c
ASoC: Fix missing spin_unlock_irqrestore
ASoC: Remove unneeded !! operations while checking return value of
nuc900_checkready
sound/soc/nuc900/nuc900-ac97.c | 15 +++++++--------
sound/soc/nuc900/nuc900-audio.h | 2 ++
sound/soc/nuc900/nuc900-pcm.c | 11 ++++++-----
3 files changed, 15 insertions(+), 13 deletions(-)
--
1.7.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/5] ASoC: Fix compile error for nuc900-ac97.c
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
@ 2010-11-29 9:39 ` Axel Lin
2010-11-29 9:40 ` [PATCH 2/5] ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove Axel Lin
` (4 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Axel Lin @ 2010-11-29 9:39 UTC (permalink / raw)
To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Wan ZongShun, alsa-devel
Fix below compile error by add a missing ';'.
CC sound/soc/nuc900/nuc900-ac97.o
sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type
sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type
sound/soc/nuc900/nuc900-ac97.c:318: error: expected ',' or ';' before 'static'
sound/soc/nuc900/nuc900-ac97.c:405: error: 'nuc900_ac97_drvprobe' undeclared here (not in a function)
make[3]: *** [sound/soc/nuc900/nuc900-ac97.o] Error 1
make[2]: *** [sound/soc/nuc900] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2
Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
sound/soc/nuc900/nuc900-ac97.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c
index e00e39d..4f056b4 100644
--- a/sound/soc/nuc900/nuc900-ac97.c
+++ b/sound/soc/nuc900/nuc900-ac97.c
@@ -313,7 +313,7 @@ static struct snd_soc_dai_driver nuc900_ac97_dai = {
.channels_max = 2,
},
.ops = &nuc900_ac97_dai_ops,
-}
+};
static int __devinit nuc900_ac97_drvprobe(struct platform_device *pdev)
{
--
1.7.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/5] ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
2010-11-29 9:39 ` [PATCH 1/5] ASoC: Fix compile error for nuc900-ac97.c Axel Lin
@ 2010-11-29 9:40 ` Axel Lin
2010-11-29 9:40 ` [PATCH 3/5] ASoC: Fix compile error for nuc900-pcm.c Axel Lin
` (3 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Axel Lin @ 2010-11-29 9:40 UTC (permalink / raw)
To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Wan ZongShun, alsa-devel
This patch fixes below compile warning:
CC sound/soc/nuc900/nuc900-ac97.o
sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type
sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type
Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
sound/soc/nuc900/nuc900-ac97.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c
index 4f056b4..3d9d8b1 100644
--- a/sound/soc/nuc900/nuc900-ac97.c
+++ b/sound/soc/nuc900/nuc900-ac97.c
@@ -263,8 +263,7 @@ static int nuc900_ac97_trigger(struct snd_pcm_substream *substream,
return ret;
}
-static int nuc900_ac97_probe(struct platform_device *pdev,
- struct snd_soc_dai *dai)
+static int nuc900_ac97_probe(struct snd_soc_dai *dai)
{
struct nuc900_audio *nuc900_audio = nuc900_ac97_data;
unsigned long val;
@@ -284,12 +283,12 @@ static int nuc900_ac97_probe(struct platform_device *pdev,
return 0;
}
-static void nuc900_ac97_remove(struct platform_device *pdev,
- struct snd_soc_dai *dai)
+static int nuc900_ac97_remove(struct snd_soc_dai *dai)
{
struct nuc900_audio *nuc900_audio = nuc900_ac97_data;
clk_disable(nuc900_audio->clk);
+ return 0;
}
static struct snd_soc_dai_ops nuc900_ac97_dai_ops = {
--
1.7.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/5] ASoC: Fix compile error for nuc900-pcm.c
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
2010-11-29 9:39 ` [PATCH 1/5] ASoC: Fix compile error for nuc900-ac97.c Axel Lin
2010-11-29 9:40 ` [PATCH 2/5] ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove Axel Lin
@ 2010-11-29 9:40 ` Axel Lin
2010-11-29 9:42 ` [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore Axel Lin
` (2 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Axel Lin @ 2010-11-29 9:40 UTC (permalink / raw)
To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Wan ZongShun, alsa-devel
This patch fixes below error:
CC sound/soc/nuc900/nuc900-pcm.o
sound/soc/nuc900/nuc900-pcm.c: In function 'nuc900_dma_open':
sound/soc/nuc900/nuc900-pcm.c:267: error: 'nuc900_ac97_data' undeclared (first use in this function)
sound/soc/nuc900/nuc900-pcm.c:267: error: (Each undeclared identifier is reported only once
sound/soc/nuc900/nuc900-pcm.c:267: error: for each function it appears in.)
sound/soc/nuc900/nuc900-pcm.c: At top level:
sound/soc/nuc900/nuc900-pcm.c:337: error: expected ',' or ';' before 'static'
sound/soc/nuc900/nuc900-pcm.c:354: error: 'nuc900_soc_platform_probe' undeclared here (not in a function)
make[3]: *** [sound/soc/nuc900/nuc900-pcm.o] Error 1
make[2]: *** [sound/soc/nuc900] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2
Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
sound/soc/nuc900/nuc900-audio.h | 2 ++
sound/soc/nuc900/nuc900-pcm.c | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/sound/soc/nuc900/nuc900-audio.h b/sound/soc/nuc900/nuc900-audio.h
index aeed8ea..59f7e8e 100644
--- a/sound/soc/nuc900/nuc900-audio.h
+++ b/sound/soc/nuc900/nuc900-audio.h
@@ -110,4 +110,6 @@ struct nuc900_audio {
};
+extern struct nuc900_audio *nuc900_ac97_data;
+
#endif /*end _NUC900_AUDIO_H */
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index 195d1ac..2245f8b 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -332,7 +332,7 @@ static struct snd_soc_platform_driver nuc900_soc_platform = {
.ops = &nuc900_dma_ops,
.pcm_new = nuc900_dma_new,
.pcm_free = nuc900_dma_free_dma_buffers,
-}
+};
static int __devinit nuc900_soc_platform_probe(struct platform_device *pdev)
{
--
1.7.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
` (2 preceding siblings ...)
2010-11-29 9:40 ` [PATCH 3/5] ASoC: Fix compile error for nuc900-pcm.c Axel Lin
@ 2010-11-29 9:42 ` Axel Lin
2010-11-29 11:47 ` Mark Brown
2010-11-29 9:43 ` [PATCH 5/5] ASoC: Remove unneeded !! operations while checking return value of nuc900_checkready Axel Lin
2010-11-29 11:18 ` [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Liam Girdwood
5 siblings, 1 reply; 12+ messages in thread
From: Axel Lin @ 2010-11-29 9:42 UTC (permalink / raw)
To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Wan ZongShun, alsa-devel
In nuc900_dma_hw_params(), if snd_pcm_lib_malloc_pages failed
it returns without calling spin_unlock_irqrestore().
Since snd_pcm_lib_malloc_pages() does not touch struct nuc900_audio,
we don't need to hold the lock while calling snd_pcm_lib_malloc_pages().
Fix it by moving spin_lock_irqsave() down to after snd_pcm_lib_malloc_pages().
In nuc900_dma_prepare(), spin_unlock_irqrestore() is missing in the error path.
Fix it by removing the return in default case.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
hi ZongShun,
I don't have this hardware handy, could you help to test this patch
if you think this patch is ok.
Regards,
Axel
sound/soc/nuc900/nuc900-pcm.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index 2245f8b..8263f56 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -50,12 +50,12 @@ static int nuc900_dma_hw_params(struct snd_pcm_substream *substream,
unsigned long flags;
int ret = 0;
- spin_lock_irqsave(&nuc900_audio->lock, flags);
-
ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
if (ret < 0)
return ret;
+ spin_lock_irqsave(&nuc900_audio->lock, flags);
+
nuc900_audio->substream = substream;
nuc900_audio->dma_addr[substream->stream] = runtime->dma_addr;
nuc900_audio->buffersize[substream->stream] =
@@ -169,6 +169,7 @@ static int nuc900_dma_prepare(struct snd_pcm_substream *substream)
struct snd_pcm_runtime *runtime = substream->runtime;
struct nuc900_audio *nuc900_audio = runtime->private_data;
unsigned long flags, val;
+ int ret = 0;
spin_lock_irqsave(&nuc900_audio->lock, flags);
@@ -197,10 +198,10 @@ static int nuc900_dma_prepare(struct snd_pcm_substream *substream)
AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val);
break;
default:
- return -EINVAL;
+ ret = -EINVAL;
}
spin_unlock_irqrestore(&nuc900_audio->lock, flags);
- return 0;
+ return ret;
}
static int nuc900_dma_trigger(struct snd_pcm_substream *substream, int cmd)
--
1.7.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/5] ASoC: Remove unneeded !! operations while checking return value of nuc900_checkready
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
` (3 preceding siblings ...)
2010-11-29 9:42 ` [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore Axel Lin
@ 2010-11-29 9:43 ` Axel Lin
2010-11-29 11:18 ` [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Liam Girdwood
5 siblings, 0 replies; 12+ messages in thread
From: Axel Lin @ 2010-11-29 9:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Wan ZongShun, alsa-devel
I think this unneededd !! operations just reduce the readability.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
sound/soc/nuc900/nuc900-ac97.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c
index 3d9d8b1..dac6732 100644
--- a/sound/soc/nuc900/nuc900-ac97.c
+++ b/sound/soc/nuc900/nuc900-ac97.c
@@ -49,7 +49,7 @@ static unsigned short nuc900_ac97_read(struct snd_ac97 *ac97,
mutex_lock(&ac97_mutex);
val = nuc900_checkready();
- if (!!val) {
+ if (val) {
dev_err(nuc900_audio->dev, "AC97 codec is not ready\n");
goto out;
}
@@ -102,7 +102,7 @@ static void nuc900_ac97_write(struct snd_ac97 *ac97, unsigned short reg,
mutex_lock(&ac97_mutex);
tmp = nuc900_checkready();
- if (!!tmp)
+ if (tmp)
dev_err(nuc900_audio->dev, "AC97 codec is not ready\n");
/* clear the R_WB bit and write register index */
@@ -149,7 +149,7 @@ static void nuc900_ac97_warm_reset(struct snd_ac97 *ac97)
udelay(100);
val = nuc900_checkready();
- if (!!val)
+ if (val)
dev_err(nuc900_audio->dev, "AC97 codec is not ready\n");
mutex_unlock(&ac97_mutex);
--
1.7.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
` (4 preceding siblings ...)
2010-11-29 9:43 ` [PATCH 5/5] ASoC: Remove unneeded !! operations while checking return value of nuc900_checkready Axel Lin
@ 2010-11-29 11:18 ` Liam Girdwood
5 siblings, 0 replies; 12+ messages in thread
From: Liam Girdwood @ 2010-11-29 11:18 UTC (permalink / raw)
To: Axel Lin; +Cc: linux-kernel, Mark Brown, Wan ZongShun, alsa-devel
On Mon, 2010-11-29 at 17:38 +0800, Axel Lin wrote:
> This serial fixes compile error and missing spin_unlock_irqrestore for NUC900 SoC audio.
>
> Regards,
> Axel
>
> Axel Lin (5):
> ASoC: Fix compile error for nuc900-ac97.c
> ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove
> ASoC: Fix compile error for nuc900-pcm.c
> ASoC: Fix missing spin_unlock_irqrestore
> ASoC: Remove unneeded !! operations while checking return value of
> nuc900_checkready
>
> sound/soc/nuc900/nuc900-ac97.c | 15 +++++++--------
> sound/soc/nuc900/nuc900-audio.h | 2 ++
> sound/soc/nuc900/nuc900-pcm.c | 11 ++++++-----
> 3 files changed, 15 insertions(+), 13 deletions(-)
>
All
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
--
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore
2010-11-29 9:42 ` [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore Axel Lin
@ 2010-11-29 11:47 ` Mark Brown
0 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2010-11-29 11:47 UTC (permalink / raw)
To: Axel Lin; +Cc: alsa-devel, linux-kernel, Wan ZongShun, Liam Girdwood
On Mon, Nov 29, 2010 at 05:42:47PM +0800, Axel Lin wrote:
> I don't have this hardware handy, could you help to test this patch
> if you think this patch is ok.
I've applied everything except this one - Wan, can you let us know how
the testing goes please?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore
@ 2010-11-29 11:47 ` Mark Brown
0 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2010-11-29 11:47 UTC (permalink / raw)
To: Axel Lin; +Cc: linux-kernel, Liam Girdwood, Wan ZongShun, alsa-devel
On Mon, Nov 29, 2010 at 05:42:47PM +0800, Axel Lin wrote:
> I don't have this hardware handy, could you help to test this patch
> if you think this patch is ok.
I've applied everything except this one - Wan, can you let us know how
the testing goes please?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore
2010-11-29 11:47 ` Mark Brown
(?)
@ 2010-11-30 1:36 ` Wan ZongShun
2010-11-30 11:13 ` Mark Brown
-1 siblings, 1 reply; 12+ messages in thread
From: Wan ZongShun @ 2010-11-30 1:36 UTC (permalink / raw)
To: Mark Brown; +Cc: Axel Lin, linux-kernel, Liam Girdwood, alsa-devel
2010/11/29 Mark Brown <broonie@opensource.wolfsonmicro.com>:
> On Mon, Nov 29, 2010 at 05:42:47PM +0800, Axel Lin wrote:
>
>> I don't have this hardware handy, could you help to test this patch
>> if you think this patch is ok.
>
> I've applied everything except this one - Wan, can you let us know how
> the testing goes please?
>
Hi all,
I have tested it.
Thanks!
Acked-by: Wan ZongShun <mcuos.com@gmail.com>
--
*linux-arm-kernel mailing list
mail addr:linux-arm-kernel@lists.infradead.org
you can subscribe by:
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
* linux-arm-NUC900 mailing list
mail addr:NUC900@googlegroups.com
main web: https://groups.google.com/group/NUC900
you can subscribe it by sending me mail:
mcuos.com@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore
2010-11-30 1:36 ` Wan ZongShun
@ 2010-11-30 11:13 ` Mark Brown
0 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2010-11-30 11:13 UTC (permalink / raw)
To: Wan ZongShun; +Cc: Axel Lin, linux-kernel, alsa-devel, Liam Girdwood
On Tue, Nov 30, 2010 at 09:36:29AM +0800, Wan ZongShun wrote:
> I have tested it.
> Thanks!
> Acked-by: Wan ZongShun <mcuos.com@gmail.com>
Excellent, applied now - thanks to both of you!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore
@ 2010-11-30 11:13 ` Mark Brown
0 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2010-11-30 11:13 UTC (permalink / raw)
To: Wan ZongShun; +Cc: Axel Lin, linux-kernel, Liam Girdwood, alsa-devel
On Tue, Nov 30, 2010 at 09:36:29AM +0800, Wan ZongShun wrote:
> I have tested it.
> Thanks!
> Acked-by: Wan ZongShun <mcuos.com@gmail.com>
Excellent, applied now - thanks to both of you!
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-11-30 11:14 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-29 9:38 [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Axel Lin
2010-11-29 9:39 ` [PATCH 1/5] ASoC: Fix compile error for nuc900-ac97.c Axel Lin
2010-11-29 9:40 ` [PATCH 2/5] ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove Axel Lin
2010-11-29 9:40 ` [PATCH 3/5] ASoC: Fix compile error for nuc900-pcm.c Axel Lin
2010-11-29 9:42 ` [RFC][PATCH 4/5] ASoC: Fix missing spin_unlock_irqrestore Axel Lin
2010-11-29 11:47 ` Mark Brown
2010-11-29 11:47 ` Mark Brown
2010-11-30 1:36 ` Wan ZongShun
2010-11-30 11:13 ` Mark Brown
2010-11-30 11:13 ` Mark Brown
2010-11-29 9:43 ` [PATCH 5/5] ASoC: Remove unneeded !! operations while checking return value of nuc900_checkready Axel Lin
2010-11-29 11:18 ` [PATCH 0/5] Fix compile error and missing spin_unlock_irqrestore for NUC900 SoC audio Liam Girdwood
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.