aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memblock.c
diff options
context:
space:
mode:
authorEmil Medve <Emilian.Medve@freescale.com>2014-04-07 18:37:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-07 19:35:58 -0400
commit136199f0a67cd6bb3f0e8de0ad50f52879f82077 (patch)
treeac5d4244644aabe7435cc8922376ca14e3235b7b /mm/memblock.c
parented6d7c8e578331cad594ee70d60e2e146b5dce7b (diff)
memblock: use for_each_memblock()
This is a small cleanup. Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memblock.c')
-rw-r--r--mm/memblock.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/mm/memblock.c b/mm/memblock.c
index 7fe5354e7552..c5c20c46f97e 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1271,16 +1271,14 @@ phys_addr_t __init_memblock memblock_end_of_DRAM(void)
1271 1271
1272void __init memblock_enforce_memory_limit(phys_addr_t limit) 1272void __init memblock_enforce_memory_limit(phys_addr_t limit)
1273{ 1273{
1274 unsigned long i;
1275 phys_addr_t max_addr = (phys_addr_t)ULLONG_MAX; 1274 phys_addr_t max_addr = (phys_addr_t)ULLONG_MAX;
1275 struct memblock_region *r;
1276 1276
1277 if (!limit) 1277 if (!limit)
1278 return; 1278 return;
1279 1279
1280 /* find out max address */ 1280 /* find out max address */
1281 for (i = 0; i < memblock.memory.cnt; i++) { 1281 for_each_memblock(memory, r) {
1282 struct memblock_region *r = &memblock.memory.regions[i];
1283
1284 if (limit <= r->size) { 1282 if (limit <= r->size) {
1285 max_addr = r->base + limit; 1283 max_addr = r->base + limit;
1286 break; 1284 break;
@@ -1379,13 +1377,12 @@ int __init_memblock memblock_is_region_reserved(phys_addr_t base, phys_addr_t si
1379 1377
1380void __init_memblock memblock_trim_memory(phys_addr_t align) 1378void __init_memblock memblock_trim_memory(phys_addr_t align)
1381{ 1379{
1382 int i;
1383 phys_addr_t start, end, orig_start, orig_end; 1380 phys_addr_t start, end, orig_start, orig_end;
1384 struct memblock_type *mem = &memblock.memory; 1381 struct memblock_region *r;
1385 1382
1386 for (i = 0; i < mem->cnt; i++) { 1383 for_each_memblock(memory, r) {
1387 orig_start = mem->regions[i].base; 1384 orig_start = r->base;
1388 orig_end = mem->regions[i].base + mem->regions[i].size; 1385 orig_end = r->base + r->size;
1389 start = round_up(orig_start, align); 1386 start = round_up(orig_start, align);
1390 end = round_down(orig_end, align); 1387 end = round_down(orig_end, align);
1391 1388
@@ -1393,11 +1390,12 @@ void __init_memblock memblock_trim_memory(phys_addr_t align)
1393 continue; 1390 continue;
1394 1391
1395 if (start < end) { 1392 if (start < end) {
1396 mem->regions[i].base = start; 1393 r->base = start;
1397 mem->regions[i].size = end - start; 1394 r->size = end - start;
1398 } else { 1395 } else {
1399 memblock_remove_region(mem, i); 1396 memblock_remove_region(&memblock.memory,
1400 i--; 1397 r - memblock.memory.regions);
1398 r--;
1401 } 1399 }
1402 } 1400 }
1403} 1401}