memblock: Kill MEMBLOCK_ERROR
authorTejun Heo <tj@kernel.org>
Tue, 12 Jul 2011 07:58:09 +0000 (09:58 +0200)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 13 Jul 2011 23:36:01 +0000 (16:36 -0700)
25818f0f28 (memblock: Make MEMBLOCK_ERROR be 0) thankfully made
MEMBLOCK_ERROR 0 and there already are codes which expect error return
to be 0.  There's no point in keeping MEMBLOCK_ERROR around.  End its
misery.

Signed-off-by: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/1310457490-3356-6-git-send-email-tj@kernel.org
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
15 files changed:
arch/x86/kernel/aperture_64.c
arch/x86/kernel/check.c
arch/x86/kernel/e820.c
arch/x86/kernel/setup.c
arch/x86/kernel/trampoline.c
arch/x86/mm/init.c
arch/x86/mm/memblock.c
arch/x86/mm/numa.c
arch/x86/mm/numa_32.c
arch/x86/mm/numa_emulation.c
include/linux/memblock.h
kernel/printk.c
mm/memblock.c
mm/nobootmem.c
mm/page_alloc.c

index 3d2661ca6542f3527fc24b3841e04de8d8437522..56363082bbdf30072369894bc1c4f7798770fa39 100644 (file)
@@ -88,7 +88,7 @@ static u32 __init allocate_aperture(void)
         */
        addr = memblock_find_in_range(GART_MIN_ADDR, GART_MAX_ADDR,
                                      aper_size, aper_size);
-       if (addr == MEMBLOCK_ERROR || addr + aper_size > GART_MAX_ADDR) {
+       if (!addr || addr + aper_size > GART_MAX_ADDR) {
                printk(KERN_ERR
                        "Cannot allocate aperture memory hole (%lx,%uK)\n",
                                addr, aper_size>>10);
index 452932d3473077cabf505d00f96073319c93b983..95680fc4df5c186ad53bfabe3f41273a055fc4b3 100644 (file)
@@ -86,7 +86,7 @@ void __init setup_bios_corruption_check(void)
                u64 size;
                addr = memblock_x86_find_in_range_size(addr, &size, PAGE_SIZE);
 
-               if (addr == MEMBLOCK_ERROR)
+               if (!addr)
                        break;
 
                if (addr >= corruption_check_size)
index 3e2ef842531649de082d64298c6cb1044446c1bf..0f9ff58d06d7e9e9aab84fafcccd12cc19adba61 100644 (file)
@@ -745,7 +745,7 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align)
 
        for (start = startt; ; start += size) {
                start = memblock_x86_find_in_range_size(start, &size, align);
-               if (start == MEMBLOCK_ERROR)
+               if (!start)
                        return 0;
                if (size >= sizet)
                        break;
index afaf38447ef5fc42c53e78168492fa9eb89a032b..31ffe20d5d278e1f65bbdc4a51d57086cdafa1a4 100644 (file)
@@ -331,7 +331,7 @@ static void __init relocate_initrd(void)
        ramdisk_here = memblock_find_in_range(0, end_of_lowmem, area_size,
                                         PAGE_SIZE);
 
-       if (ramdisk_here == MEMBLOCK_ERROR)
+       if (!ramdisk_here)
                panic("Cannot find place for new RAMDISK of size %lld\n",
                         ramdisk_size);
 
@@ -554,7 +554,7 @@ static void __init reserve_crashkernel(void)
                crash_base = memblock_find_in_range(alignment,
                               CRASH_KERNEL_ADDR_MAX, crash_size, alignment);
 
-               if (crash_base == MEMBLOCK_ERROR) {
+               if (!crash_base) {
                        pr_info("crashkernel reservation failed - No suitable area found.\n");
                        return;
                }
index a91ae7709b49ea17628aff1fc253899b4c9e4efa..a1f13ddb06e05619d6ea0f4fd96e82d269823f0e 100644 (file)
@@ -14,7 +14,7 @@ void __init setup_trampolines(void)
 
        /* Has to be in very low memory so we can execute real-mode AP code. */
        mem = memblock_find_in_range(0, 1<<20, size, PAGE_SIZE);
-       if (mem == MEMBLOCK_ERROR)
+       if (!mem)
                panic("Cannot allocate trampoline\n");
 
        x86_trampoline_base = __va(mem);
index 30326443ab81d9189224cf0c373ded68da51332d..13cf05a61605716e4d2bb9606a379a0ccf6c8720 100644 (file)
@@ -68,7 +68,7 @@ static void __init find_early_table_space(unsigned long end, int use_pse,
 #endif
 
        base = memblock_find_in_range(start, good_end, tables, PAGE_SIZE);
-       if (base == MEMBLOCK_ERROR)
+       if (!base)
                panic("Cannot find space for the kernel page tables");
 
        pgt_buf_start = base >> PAGE_SHIFT;
index 992da5ec5a64d69ddc3381d9e8508e4d6061d4ef..e126117d1b03b2e1eb62ad46ae3b83112b7242db 100644 (file)
@@ -66,7 +66,7 @@ u64 __init memblock_x86_find_in_range_size(u64 start, u64 *sizep, u64 align)
                        return addr;
        }
 
-       return MEMBLOCK_ERROR;
+       return 0;
 }
 
 static __init struct range *find_range_array(int count)
@@ -78,7 +78,7 @@ static __init struct range *find_range_array(int count)
        end = memblock.current_limit;
 
        mem = memblock_find_in_range(0, end, size, sizeof(struct range));
-       if (mem == MEMBLOCK_ERROR)
+       if (!mem)
                panic("can not find more space for range array");
 
        /*
@@ -274,7 +274,7 @@ u64 __init memblock_x86_find_in_range_node(int nid, u64 start, u64 end, u64 size
 {
        u64 addr;
        addr = find_memory_core_early(nid, size, align, start, end);
-       if (addr != MEMBLOCK_ERROR)
+       if (addr)
                return addr;
 
        /* Fallback, should already have start end within node range */
index fbeaaf416610d29ef824db47bd6a3f19756de188..fa1015de5cc0e7c49968dee2edcc07a41d959176 100644 (file)
@@ -226,10 +226,10 @@ static void __init setup_node_data(int nid, u64 start, u64 end)
        } else {
                nd_pa = memblock_x86_find_in_range_node(nid, nd_low, nd_high,
                                                nd_size, SMP_CACHE_BYTES);
-               if (nd_pa == MEMBLOCK_ERROR)
+               if (!nd_pa)
                        nd_pa = memblock_find_in_range(nd_low, nd_high,
                                                nd_size, SMP_CACHE_BYTES);
-               if (nd_pa == MEMBLOCK_ERROR) {
+               if (!nd_pa) {
                        pr_err("Cannot find %zu bytes in node %d\n",
                               nd_size, nid);
                        return;
@@ -395,7 +395,7 @@ static int __init numa_alloc_distance(void)
 
        phys = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
                                      size, PAGE_SIZE);
-       if (phys == MEMBLOCK_ERROR) {
+       if (!phys) {
                pr_warning("NUMA: Warning: can't allocate distance table!\n");
                /* don't retry until explicitly reset */
                numa_distance = (void *)1LU;
index 3adebe7e536ace0a7c729c87fa04e8617e3f8a72..58878b536ef2ac67fb1cc224e2650f34b5e4f45d 100644 (file)
@@ -199,7 +199,7 @@ void __init init_alloc_remap(int nid, u64 start, u64 end)
 
        /* allocate node memory and the lowmem remap area */
        node_pa = memblock_find_in_range(start, end, size, LARGE_PAGE_BYTES);
-       if (node_pa == MEMBLOCK_ERROR) {
+       if (!node_pa) {
                pr_warning("remap_alloc: failed to allocate %lu bytes for node %d\n",
                           size, nid);
                return;
@@ -209,7 +209,7 @@ void __init init_alloc_remap(int nid, u64 start, u64 end)
        remap_pa = memblock_find_in_range(min_low_pfn << PAGE_SHIFT,
                                          max_low_pfn << PAGE_SHIFT,
                                          size, LARGE_PAGE_BYTES);
-       if (remap_pa == MEMBLOCK_ERROR) {
+       if (!remap_pa) {
                pr_warning("remap_alloc: failed to allocate %lu bytes remap area for node %d\n",
                           size, nid);
                memblock_x86_free_range(node_pa, node_pa + size);
index d0ed086b6247d35fb986d98dfe35a1711d901876..e3d471c20cdca1d859d3d64979d4373709f24317 100644 (file)
@@ -351,7 +351,7 @@ void __init numa_emulation(struct numa_meminfo *numa_meminfo, int numa_dist_cnt)
 
                phys = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
                                              phys_size, PAGE_SIZE);
-               if (phys == MEMBLOCK_ERROR) {
+               if (!phys) {
                        pr_warning("NUMA: Warning: can't allocate copy of distance table, disabling emulation\n");
                        goto no_emu;
                }
index 7525e38c434d64fa690c454922d99df75d75c983..d235ec5fe6783e459c5cd0f26db38f8aa4bf3999 100644 (file)
@@ -2,8 +2,6 @@
 #define _LINUX_MEMBLOCK_H
 #ifdef __KERNEL__
 
-#define MEMBLOCK_ERROR 0
-
 #ifdef CONFIG_HAVE_MEMBLOCK
 /*
  * Logical memory blocks.
@@ -164,7 +162,7 @@ static inline unsigned long memblock_region_reserved_end_pfn(const struct memblo
 #else
 static inline phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align)
 {
-       return MEMBLOCK_ERROR;
+       return 0;
 }
 
 #endif /* CONFIG_HAVE_MEMBLOCK */
index 35185392173f5af5fc39fff30cadc115b92114e8..b1d5a6174d652f580935178217c8b078f2fc4f3e 100644 (file)
@@ -199,7 +199,7 @@ void __init setup_log_buf(int early)
                unsigned long mem;
 
                mem = memblock_alloc(new_log_buf_len, PAGE_SIZE);
-               if (mem == MEMBLOCK_ERROR)
+               if (!mem)
                        return;
                new_log_buf = __va(mem);
        } else {
index 9882a88d4a10422ecefb94c08a2532bc43dfb697..19699366134651ae917cb6c048dd342938f697b6 100644 (file)
@@ -74,7 +74,7 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_
 
        /* In case, huge size is requested */
        if (end < size)
-               return MEMBLOCK_ERROR;
+               return 0;
 
        base = round_down(end - size, align);
 
@@ -94,7 +94,7 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_
                base = round_down(res_base - size, align);
        }
 
-       return MEMBLOCK_ERROR;
+       return 0;
 }
 
 static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size,
@@ -126,10 +126,10 @@ static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size,
                if (bottom >= top)
                        continue;
                found = memblock_find_region(bottom, top, size, align);
-               if (found != MEMBLOCK_ERROR)
+               if (found)
                        return found;
        }
-       return MEMBLOCK_ERROR;
+       return 0;
 }
 
 /*
@@ -214,10 +214,10 @@ static int __init_memblock memblock_double_array(struct memblock_type *type)
         */
        if (use_slab) {
                new_array = kmalloc(new_size, GFP_KERNEL);
-               addr = new_array == NULL ? MEMBLOCK_ERROR : __pa(new_array);
+               addr = new_array ? __pa(new_array) : 0;
        } else
                addr = memblock_find_base(new_size, sizeof(phys_addr_t), 0, MEMBLOCK_ALLOC_ACCESSIBLE);
-       if (addr == MEMBLOCK_ERROR) {
+       if (!addr) {
                pr_err("memblock: Failed to double %s array from %ld to %ld entries !\n",
                       memblock_type_name(type), type->max, type->max * 2);
                return -1;
@@ -478,8 +478,7 @@ phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, ph
        size = round_up(size, align);
 
        found = memblock_find_base(size, align, 0, max_addr);
-       if (found != MEMBLOCK_ERROR &&
-           !memblock_add_region(&memblock.reserved, found, size))
+       if (found && !memblock_add_region(&memblock.reserved, found, size))
                return found;
 
        return 0;
@@ -559,14 +558,14 @@ static phys_addr_t __init memblock_alloc_nid_region(struct memblock_region *mp,
                this_end = memblock_nid_range(start, end, &this_nid);
                if (this_nid == nid) {
                        phys_addr_t ret = memblock_find_region(start, this_end, size, align);
-                       if (ret != MEMBLOCK_ERROR &&
+                       if (ret &&
                            !memblock_add_region(&memblock.reserved, ret, size))
                                return ret;
                }
                start = this_end;
        }
 
-       return MEMBLOCK_ERROR;
+       return 0;
 }
 
 phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
@@ -588,7 +587,7 @@ phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int n
        for (i = 0; i < mem->cnt; i++) {
                phys_addr_t ret = memblock_alloc_nid_region(&mem->regions[i],
                                               size, align, nid);
-               if (ret != MEMBLOCK_ERROR)
+               if (ret)
                        return ret;
        }
 
index 6e93dc7f25863628b576539648dfe0c7ba8d3f10..5b0eb06ecb4e424dbdf48916dfadd8dad2dcc688 100644 (file)
@@ -43,7 +43,7 @@ static void * __init __alloc_memory_core_early(int nid, u64 size, u64 align,
 
        addr = find_memory_core_early(nid, size, align, goal, limit);
 
-       if (addr == MEMBLOCK_ERROR)
+       if (!addr)
                return NULL;
 
        ptr = phys_to_virt(addr);
index b6da6ed818a8fffd8f7f26bca1a0ab09028965ff..c7f0e5be4a31d022fa0ddbcd2d6429d6856170b8 100644 (file)
@@ -3878,13 +3878,13 @@ u64 __init find_memory_core_early(int nid, u64 size, u64 align,
 
                addr = memblock_find_in_range(final_start, final_end, size, align);
 
-               if (addr == MEMBLOCK_ERROR)
+               if (!addr)
                        continue;
 
                return addr;
        }
 
-       return MEMBLOCK_ERROR;
+       return 0;
 }
 #endif