diff options
author | Yinghai Lu <yinghai@kernel.org> | 2012-11-16 22:39:18 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-11-17 14:59:46 -0500 |
commit | b8fd39c036ab982aa087b7ee671f86e2574d31f2 (patch) | |
tree | 59d60b2d8db18f629084e1e33dc4f9fb7be8c2c0 | |
parent | 60a8f428320918458a9a21052777eada68eebfd8 (diff) |
x86, mm: Use clamp_t() in init_range_memory_mapping
save some lines, and make code more readable.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1353123563-3103-42-git-send-email-yinghai@kernel.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
-rw-r--r-- | arch/x86/mm/init.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index 2a27e5ac1e3c..6f85de8a1f28 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c | |||
@@ -357,31 +357,20 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, | |||
357 | * would have hole in the middle or ends, and only ram parts will be mapped. | 357 | * would have hole in the middle or ends, and only ram parts will be mapped. |
358 | */ | 358 | */ |
359 | static unsigned long __init init_range_memory_mapping( | 359 | static unsigned long __init init_range_memory_mapping( |
360 | unsigned long range_start, | 360 | unsigned long r_start, |
361 | unsigned long range_end) | 361 | unsigned long r_end) |
362 | { | 362 | { |
363 | unsigned long start_pfn, end_pfn; | 363 | unsigned long start_pfn, end_pfn; |
364 | unsigned long mapped_ram_size = 0; | 364 | unsigned long mapped_ram_size = 0; |
365 | int i; | 365 | int i; |
366 | 366 | ||
367 | for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) { | 367 | for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) { |
368 | u64 start = (u64)start_pfn << PAGE_SHIFT; | 368 | u64 start = clamp_val(PFN_PHYS(start_pfn), r_start, r_end); |
369 | u64 end = (u64)end_pfn << PAGE_SHIFT; | 369 | u64 end = clamp_val(PFN_PHYS(end_pfn), r_start, r_end); |
370 | 370 | if (start >= end) | |
371 | if (end <= range_start) | ||
372 | continue; | ||
373 | |||
374 | if (start < range_start) | ||
375 | start = range_start; | ||
376 | |||
377 | if (start >= range_end) | ||
378 | continue; | 371 | continue; |
379 | 372 | ||
380 | if (end > range_end) | ||
381 | end = range_end; | ||
382 | |||
383 | init_memory_mapping(start, end); | 373 | init_memory_mapping(start, end); |
384 | |||
385 | mapped_ram_size += end - start; | 374 | mapped_ram_size += end - start; |
386 | } | 375 | } |
387 | 376 | ||