[PATCHv5 3/4] omap: iovmm - replace __iounmap with omap_iounmap

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Dec 2 07:32:02 EST 2010


On Mon, Oct 25, 2010 at 02:10:05PM -0500, Fernando Guzman Lugo wrote:
> Omap platform is omap_iounmap function.
> 
> Signed-off-by: Fernando Guzman Lugo <x0095840 at ti.com>
> ---
>  arch/arm/plat-omap/iovmm.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
> index 93a34d9..5489ca9 100644
> --- a/arch/arm/plat-omap/iovmm.c
> +++ b/arch/arm/plat-omap/iovmm.c
> @@ -821,7 +821,7 @@ void iommu_kunmap(struct iommu *obj, u32 da)
>  	struct sg_table *sgt;
>  	typedef void (*func_t)(const void *);
>  
> -	sgt = unmap_vm_area(obj, da, (func_t)__iounmap,
> +	sgt = unmap_vm_area(obj, da, (func_t)omap_iounmap,
>  			    IOVMF_LINEAR | IOVMF_MMIO);
>  	if (!sgt)
>  		dev_dbg(obj->dev, "%s: No sgt\n", __func__);

Err, this is wrong.  Why are you breaking the layer separation and going
for the implementation detail of iounmap()?

plat/io.h:
#define __arch_ioremap(p,s,t)   omap_ioremap(p,s,t)
#define __arch_iounmap(v)       omap_iounmap(v)

void __iomem *omap_ioremap(unsigned long phys, size_t size, unsigned int type);
void omap_iounmap(volatile void __iomem *addr);

asm/io.h:
#define ioremap(cookie,size)            __arch_ioremap((cookie), (size), MT_DEVICE)
#define iounmap(cookie)                 __arch_iounmap(cookie)



More information about the linux-arm-kernel mailing list