Re: [PATCH 1/1] dma: pl330: Convert to devm_ioremap_resource()

From: Thierry Reding
Date: Thu Jan 31 2013 - 02:28:23 EST


On Thu, Jan 31, 2013 at 12:37:04PM +0530, Sachin Kamat wrote:
> Use the newly introduced devm_ioremap_resource() instead of
> devm_request_and_ioremap() which provides more consistent error handling.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxx>
> Cc: Vinod Koul <vinod.koul@xxxxxxxxx>
> Cc: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> This change is based against linux-next tree (20130128).
> This change however introduces the followign sparse warning:
> drivers/dma/pl330.c:2883:22: warning: incorrect type in argument 1 (different address spaces)
> drivers/dma/pl330.c:2883:22: expected void const *ptr
> drivers/dma/pl330.c:2883:22: got void [noderef] <asn:2>*base
> drivers/dma/pl330.c:2884:34: warning: incorrect type in argument 1 (different address spaces)
> drivers/dma/pl330.c:2884:34: expected void const *ptr
> drivers/dma/pl330.c:2884:34: got void [noderef] <asn:2>*base

Yes, those are false positives. They can be fixed with the two patches I
posted a few hours ago, starting here:

https://lkml.org/lkml/2013/1/30/455

Note that the first patch is against sparse. The problem, in a nutshell,
is that sparse complains that the pointer address spaces and noderef
attributes differ. In the case of the IS_ERR() function and friends the
attributes aren't relevant because only the pointer value is only used
arithmetically. Unfortunately there is no way you can cast away these
attributes without causing other warnings, so the solution is somewhat
more complex.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature