aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-08-17 10:18:21 -0400
committerMark Brown <broonie@linaro.org>2014-08-17 10:34:45 -0400
commite8a70c25b809367fc314743e1ba1dbf0159398a7 (patch)
tree7308ad5e468b4c8d79ade59936545fbab3eee20d
parentd80a12f92466d0bc4fd244c9052a8a88518c868e (diff)
ASoC: samsung idma: Add proper annotation for casting iomem pointers
It is not always possible to interchange iomem pointers with normal pointers, which why we have annotations for iomem pointers and warn when casting them to a normal pointer or vice versa. In this case the casting is fine and unfortunately necessary so add the proper annotations to tell code checkers that it is intentional. This silences the following warnings from sparse: sound/soc/samsung/idma.c:354:20: warning: incorrect type in argument 1 (different address spaces) expected void volatile [noderef] <asn:2>*addr got unsigned char *area sound/soc/samsung/idma.c:372:22: warning: cast removes address space of expression Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--sound/soc/samsung/idma.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c
index db6cefa18017..0e8dd985fcb3 100644
--- a/sound/soc/samsung/idma.c
+++ b/sound/soc/samsung/idma.c
@@ -351,7 +351,7 @@ static void idma_free(struct snd_pcm *pcm)
351 if (!buf->area) 351 if (!buf->area)
352 return; 352 return;
353 353
354 iounmap(buf->area); 354 iounmap((void __iomem *)buf->area);
355 355
356 buf->area = NULL; 356 buf->area = NULL;
357 buf->addr = 0; 357 buf->addr = 0;
@@ -369,7 +369,7 @@ static int preallocate_idma_buffer(struct snd_pcm *pcm, int stream)
369 buf->dev.type = SNDRV_DMA_TYPE_CONTINUOUS; 369 buf->dev.type = SNDRV_DMA_TYPE_CONTINUOUS;
370 buf->addr = idma.lp_tx_addr; 370 buf->addr = idma.lp_tx_addr;
371 buf->bytes = idma_hardware.buffer_bytes_max; 371 buf->bytes = idma_hardware.buffer_bytes_max;
372 buf->area = (unsigned char *)ioremap(buf->addr, buf->bytes); 372 buf->area = (unsigned char * __force)ioremap(buf->addr, buf->bytes);
373 373
374 return 0; 374 return 0;
375} 375}