[POWERPC] Remove ioremap64 and fixup_bigphys_addr
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sat, 11 Nov 2006 06:25:19 +0000 (17:25 +1100)
committerPaul Mackerras <paulus@samba.org>
Mon, 4 Dec 2006 09:39:04 +0000 (20:39 +1100)
In order to suppose platforms with devices above 4Gb on 32 bits platforms
with a >32 bits physical address space, we used to have a special ioremap64
along with a fixup routine fixup_bigphys_addr.

This shouldn't be necessary anymore as struct resource now supports 64 bits
addresses even on 32 bits archs. This patch enables that option when
CONFIG_PHYS_64BIT is set and removes ioremap64 and fixup_bigphys_addr.

This is a preliminary work for the upcoming merge of 32 and 64 bits io.h

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/Kconfig
arch/powerpc/mm/pgtable_32.c
arch/powerpc/platforms/85xx/misc.c

index 9547aac..b4a3b69 100644 (file)
@@ -247,6 +247,7 @@ config PTE_64BIT
 config PHYS_64BIT
        bool 'Large physical address support' if E500
        depends on 44x || E500
+       select RESOURCES_64BIT
        default y if 44x
        ---help---
          This option enables kernel support for larger than 32-bit physical
index 8fcacb0..7750c44 100644 (file)
@@ -141,28 +141,11 @@ void pte_free(struct page *ptepage)
        __free_page(ptepage);
 }
 
-#ifndef CONFIG_PHYS_64BIT
 void __iomem *
 ioremap(phys_addr_t addr, unsigned long size)
 {
        return __ioremap(addr, size, _PAGE_NO_CACHE);
 }
-#else /* CONFIG_PHYS_64BIT */
-void __iomem *
-ioremap64(unsigned long long addr, unsigned long size)
-{
-       return __ioremap(addr, size, _PAGE_NO_CACHE);
-}
-EXPORT_SYMBOL(ioremap64);
-
-void __iomem *
-ioremap(phys_addr_t addr, unsigned long size)
-{
-       phys_addr_t addr64 = fixup_bigphys_addr(addr, size);
-
-       return ioremap64(addr64, size);
-}
-#endif /* CONFIG_PHYS_64BIT */
 EXPORT_SYMBOL(ioremap);
 
 void __iomem *
index 26c5e82..3e62fcb 100644 (file)
@@ -21,11 +21,3 @@ void mpc85xx_restart(char *cmd)
        local_irq_disable();
        abort();
 }
-
-/* For now this is a pass through */
-phys_addr_t fixup_bigphys_addr(phys_addr_t addr, phys_addr_t size)
-{
-       return addr;
-};
-
-EXPORT_SYMBOL(fixup_bigphys_addr);