x86: __iomem annotations
authorThomas Gleixner <tglx@linutronix.de>
Wed, 30 Jan 2008 12:34:05 +0000 (13:34 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:34:05 +0000 (13:34 +0100)
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/ioremap_32.c
arch/x86/mm/ioremap_64.c

index ae7e55c8c647ffdb9d724bc6cf3b5c12d3869133..5273ac4aa96a7e0bfc46a7ae597acb0ee4085603 100644 (file)
@@ -81,7 +81,7 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
         * Don't remap the low PCI/ISA area, it's always mapped..
         */
        if (phys_addr >= ISA_START_ADDRESS && last_addr < ISA_END_ADDRESS)
-               return (void __iomem *) phys_to_virt(phys_addr);
+               return (__force void __iomem *)phys_to_virt(phys_addr);
 
        /*
         * Don't allow anybody to remap normal RAM that we're using..
index bb9246c4a07b1378ace2f5f5cea2cc54d83dfa18..e79d2b353de0e4aaa740e861081cc09eec84f41e 100644 (file)
@@ -70,7 +70,7 @@ static int ioremap_change_attr(unsigned long phys_addr, unsigned long size,
 void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
                        unsigned long flags)
 {
-       void *addr;
+       void __iomem *addr;
        struct vm_struct *area;
        unsigned long offset, last_addr;
        pgprot_t pgprot;
@@ -101,7 +101,7 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
        if (!area)
                return NULL;
        area->phys_addr = phys_addr;
-       addr = area->addr;
+       addr = (void __iomem *) area->addr;
        if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
                               phys_addr, pgprot)) {
                remove_vm_area((void *)(PAGE_MASK & (unsigned long) addr));
@@ -111,7 +111,7 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
                vunmap(addr);
                return NULL;
        }
-       return (__force void __iomem *) (offset + (char *)addr);
+       return (void __iomem *) (offset + (char __iomem *)addr);
 }
 EXPORT_SYMBOL(__ioremap);
 
@@ -152,7 +152,7 @@ void iounmap(volatile void __iomem *addr)
 {
        struct vm_struct *p, *o;
 
-       if (addr <= high_memory)
+       if ((void __force *)addr <= high_memory)
                return;
        if (addr >= phys_to_virt(ISA_START_ADDRESS) &&
            addr < phys_to_virt(ISA_END_ADDRESS))