Commit 6e92a5a6 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Ingo Molnar

x86: add sparse annotations to ioremap

arch/x86/mm/ioremap.c:308:11: error: incompatible types in comparison expression (different address spaces)
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 65280e61
...@@ -318,8 +318,8 @@ void iounmap(volatile void __iomem *addr) ...@@ -318,8 +318,8 @@ void iounmap(volatile void __iomem *addr)
* vm_area and by simply returning an address into the kernel mapping * vm_area and by simply returning an address into the kernel mapping
* of ISA space. So handle that here. * of ISA space. So handle that here.
*/ */
if (addr >= phys_to_virt(ISA_START_ADDRESS) && if ((void __force *)addr >= phys_to_virt(ISA_START_ADDRESS) &&
addr < phys_to_virt(ISA_END_ADDRESS)) (void __force *)addr < phys_to_virt(ISA_END_ADDRESS))
return; return;
addr = (volatile void __iomem *) addr = (volatile void __iomem *)
...@@ -332,7 +332,7 @@ void iounmap(volatile void __iomem *addr) ...@@ -332,7 +332,7 @@ void iounmap(volatile void __iomem *addr)
cpa takes care of the direct mappings. */ cpa takes care of the direct mappings. */
read_lock(&vmlist_lock); read_lock(&vmlist_lock);
for (p = vmlist; p; p = p->next) { for (p = vmlist; p; p = p->next) {
if (p->addr == addr) if (p->addr == (void __force *)addr)
break; break;
} }
read_unlock(&vmlist_lock); read_unlock(&vmlist_lock);
...@@ -346,7 +346,7 @@ void iounmap(volatile void __iomem *addr) ...@@ -346,7 +346,7 @@ void iounmap(volatile void __iomem *addr)
free_memtype(p->phys_addr, p->phys_addr + get_vm_area_size(p)); free_memtype(p->phys_addr, p->phys_addr + get_vm_area_size(p));
/* Finally remove it */ /* Finally remove it */
o = remove_vm_area((void *)addr); o = remove_vm_area((void __force *)addr);
BUG_ON(p != o || o == NULL); BUG_ON(p != o || o == NULL);
kfree(p); kfree(p);
} }
...@@ -365,7 +365,7 @@ void *xlate_dev_mem_ptr(unsigned long phys) ...@@ -365,7 +365,7 @@ void *xlate_dev_mem_ptr(unsigned long phys)
if (page_is_ram(start >> PAGE_SHIFT)) if (page_is_ram(start >> PAGE_SHIFT))
return __va(phys); return __va(phys);
addr = (void *)ioremap(start, PAGE_SIZE); addr = (void __force *)ioremap(start, PAGE_SIZE);
if (addr) if (addr)
addr = (void *)((unsigned long)addr | (phys & ~PAGE_MASK)); addr = (void *)((unsigned long)addr | (phys & ~PAGE_MASK));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment