s390/crash_dump: use for_each_mem_range
authorAlexander Kuleshov <kuleshovmail@gmail.com>
Tue, 15 Sep 2015 18:54:24 +0000 (00:54 +0600)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 14 Oct 2015 12:32:01 +0000 (14:32 +0200)
The <linux/memblock.h> already provides for_each_mem_range() macro that
iterates through memblock areas from type_a and not included in type_b.
We can remove custom for_each_dump_mem_range() macro and use the
for_each_mem_range() instead.

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/kernel/crash_dump.c

index 0c6c01e..171e09b 100644 (file)
@@ -32,16 +32,6 @@ static struct memblock_type oldmem_type = {
        .regions = &oldmem_region,
 };
 
-#define for_each_dump_mem_range(i, nid, p_start, p_end, p_nid)         \
-       for (i = 0, __next_mem_range(&i, nid, MEMBLOCK_NONE,            \
-                                    &memblock.physmem,                 \
-                                    &oldmem_type, p_start,             \
-                                    p_end, p_nid);                     \
-            i != (u64)ULLONG_MAX;                                      \
-            __next_mem_range(&i, nid, MEMBLOCK_NONE, &memblock.physmem,\
-                             &oldmem_type,                             \
-                             p_start, p_end, p_nid))
-
 struct dump_save_areas dump_save_areas;
 
 /*
@@ -515,7 +505,8 @@ static int get_mem_chunk_cnt(void)
        int cnt = 0;
        u64 idx;
 
-       for_each_dump_mem_range(idx, NUMA_NO_NODE, NULL, NULL, NULL)
+       for_each_mem_range(idx, &memblock.physmem, &oldmem_type, NUMA_NO_NODE,
+                          MEMBLOCK_NONE, NULL, NULL, NULL)
                cnt++;
        return cnt;
 }
@@ -528,7 +519,8 @@ static void loads_init(Elf64_Phdr *phdr, u64 loads_offset)
        phys_addr_t start, end;
        u64 idx;
 
-       for_each_dump_mem_range(idx, NUMA_NO_NODE, &start, &end, NULL) {
+       for_each_mem_range(idx, &memblock.physmem, &oldmem_type, NUMA_NO_NODE,
+                          MEMBLOCK_NONE, &start, &end, NULL) {
                phdr->p_filesz = end - start;
                phdr->p_type = PT_LOAD;
                phdr->p_offset = start;