generic: redefine resource_size_t as phys_addr_t
authorJeremy Fitzhardinge <jeremy@goop.org>
Thu, 11 Sep 2008 08:31:50 +0000 (01:31 -0700)
committerIngo Molnar <mingo@elte.hu>
Sun, 14 Sep 2008 15:24:27 +0000 (17:24 +0200)
There's no good reason why a resource_size_t shouldn't just be a
physical address, so simply redefine it in terms of phys_addr_t.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/powerpc/platforms/Kconfig.cputype
arch/powerpc/sysdev/ppc4xx_pci.c
arch/x86/Kconfig
arch/x86/kernel/e820.c
drivers/pci/setup-bus.c
include/linux/types.h

index 7f65127..be852fd 100644 (file)
@@ -135,7 +135,6 @@ 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 fb368df..e8a76d9 100644 (file)
@@ -41,13 +41,10 @@ extern unsigned long total_memory;
 #define U64_TO_U32_LOW(val)    ((u32)((val) & 0x00000000ffffffffULL))
 #define U64_TO_U32_HIGH(val)   ((u32)((val) >> 32))
 
-#ifdef CONFIG_RESOURCES_64BIT
-#define RES_TO_U32_LOW(val)    U64_TO_U32_LOW(val)
-#define RES_TO_U32_HIGH(val)   U64_TO_U32_HIGH(val)
-#else
-#define RES_TO_U32_LOW(val)    (val)
-#define RES_TO_U32_HIGH(val)   (0)
-#endif
+#define RES_TO_U32_LOW(val)    \
+       ((sizeof(resource_size_t) > sizeof(u32)) ? U64_TO_U32_LOW(val) : (val))
+#define RES_TO_U32_HIGH(val)   \
+       ((sizeof(resource_size_t) > sizeof(u32)) ? U64_TO_U32_HIGH(val) : (0))
 
 static inline int ppc440spe_revA(void)
 {
@@ -145,12 +142,11 @@ static int __init ppc4xx_parse_dma_ranges(struct pci_controller *hose,
 
                /* Use that */
                res->start = pci_addr;
-#ifndef CONFIG_RESOURCES_64BIT
                /* Beware of 32 bits resources */
-               if ((pci_addr + size) > 0x100000000ull)
+               if (sizeof(resource_size_t) == sizeof(u32) &&
+                   (pci_addr + size) > 0x100000000ull)
                        res->end = 0xffffffff;
                else
-#endif
                        res->end = res->start + size - 1;
                break;
        }
index a0ffb51..b4e1875 100644 (file)
@@ -925,7 +925,6 @@ config X86_PAE
        def_bool n
        prompt "PAE (Physical Address Extension) Support"
        depends on X86_32 && !HIGHMEM4G
-       select RESOURCES_64BIT
        help
          PAE is required for NX support, and furthermore enables
          larger swapspace support for non-overcommit purposes. It
index 66e48aa..477f4bb 100644 (file)
@@ -1276,12 +1276,10 @@ void __init e820_reserve_resources(void)
        res = alloc_bootmem_low(sizeof(struct resource) * e820.nr_map);
        for (i = 0; i < e820.nr_map; i++) {
                end = e820.map[i].addr + e820.map[i].size - 1;
-#ifndef CONFIG_RESOURCES_64BIT
-               if (end > 0x100000000ULL) {
+               if (end != (resource_size_t)end) {
                        res++;
                        continue;
                }
-#endif
                res->name = e820_type_to_string(e820.map[i].type);
                res->start = e820.map[i].addr;
                res->end = end;
index 1aad599..f250a90 100644 (file)
@@ -378,11 +378,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long
        align = 0;
        min_align = 0;
        for (order = 0; order <= max_order; order++) {
-#ifdef CONFIG_RESOURCES_64BIT
-               resource_size_t align1 = 1ULL << (order + 20);
-#else
-               resource_size_t align1 = 1U << (order + 20);
-#endif
+               resource_size_t align1 = 1;
+
+               align1 <<= (order + 20);
+
                if (!align)
                        min_align = align1;
                else if (ALIGN(align + min_align, min_align) < align1)
index 022c668..f24f7be 100644 (file)
@@ -191,18 +191,14 @@ typedef __u32 __bitwise __wsum;
 #ifdef __KERNEL__
 typedef unsigned __bitwise__ gfp_t;
 
-#ifdef CONFIG_RESOURCES_64BIT
-typedef u64 resource_size_t;
-#else
-typedef u32 resource_size_t;
-#endif
-
 #ifdef CONFIG_PHYS_ADDR_T_64BIT
 typedef u64 phys_addr_t;
 #else
 typedef u32 phys_addr_t;
 #endif
 
+typedef phys_addr_t resource_size_t;
+
 struct ustat {
        __kernel_daddr_t        f_tfree;
        __kernel_ino_t          f_tinode;