[alsa-devel] [PATCH] ASoC: Fix __iomem annotation for IDMA registers
We always store the register address as __iomem but pass it around as a plain void * which upsets sparse.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/samsung/i2s.c | 2 +- sound/soc/samsung/idma.c | 2 +- sound/soc/samsung/idma.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index fb80f28..5de500c 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c @@ -881,7 +881,7 @@ static int samsung_i2s_dai_probe(struct snd_soc_dai *dai) writel(CON_RSTCLR, i2s->addr + I2SCON);
if (i2s->quirks & QUIRK_SEC_DAI) - idma_reg_addr_init((void *)i2s->addr, + idma_reg_addr_init(i2s->addr, i2s->sec_dai->idma_playback.dma_addr);
probe_exit: diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c index 6ca3d8c..baf97eb 100644 --- a/sound/soc/samsung/idma.c +++ b/sound/soc/samsung/idma.c @@ -403,7 +403,7 @@ static int idma_new(struct snd_soc_pcm_runtime *rtd) return ret; }
-void idma_reg_addr_init(void *regs, dma_addr_t addr) +void idma_reg_addr_init(void __iomem *regs, dma_addr_t addr) { spin_lock_init(&idma.lock); idma.regs = regs; diff --git a/sound/soc/samsung/idma.h b/sound/soc/samsung/idma.h index 4827321..8644946 100644 --- a/sound/soc/samsung/idma.h +++ b/sound/soc/samsung/idma.h @@ -14,7 +14,7 @@ #ifndef __SND_SOC_SAMSUNG_IDMA_H_ #define __SND_SOC_SAMSUNG_IDMA_H_
-extern void idma_reg_addr_init(void *regs, dma_addr_t addr); +extern void idma_reg_addr_init(void __iomem *regs, dma_addr_t addr);
/* dma_state */ #define LPAM_DMA_STOP 0
On Mon, Nov 28, 2011 at 06:36 AM , Mark Brown wrote:
We always store the register address as __iomem but pass it around as a plain void * which upsets sparse.
Acked-by: Sangbeom Kim sbkim73@samsung.com
Thanks, Sangbeom
participants (2)
-
Mark Brown
-
Sangbeom Kim