summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Rapoport <rppt@linux.ibm.com>2019-03-12 02:30:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-03-12 13:04:02 -0400
commitfe145124dbe53c86bf32b941b2f2f88f891d985d (patch)
treedf349702489f4c9d283599e78df81ba9c6afb55c
parent26fb3dae0a1ec78bdde4b5b72e0e709503e8c596 (diff)
memblock: remove memblock_{set,clear}_region_flags
The memblock API provides dedicated helpers to set or clear a flag on a memory region, e.g. memblock_{mark,clear}_hotplug(). The memblock_{set,clear}_region_flags() functions are used only by the memblock internal function that adjusts the region flags. Drop these functions and use open-coded implementation instead. Link: http://lkml.kernel.org/r/1549455025-17706-2-git-send-email-rppt@linux.ibm.com Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/memblock.h12
-rw-r--r--mm/memblock.c9
2 files changed, 6 insertions, 15 deletions
diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index db69ad97aa2e..294d5d80e150 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -273,18 +273,6 @@ void __next_mem_pfn_range(int *idx, int nid, unsigned long *out_start_pfn,
273 for_each_mem_range_rev(i, &memblock.memory, &memblock.reserved, \ 273 for_each_mem_range_rev(i, &memblock.memory, &memblock.reserved, \
274 nid, flags, p_start, p_end, p_nid) 274 nid, flags, p_start, p_end, p_nid)
275 275
276static inline void memblock_set_region_flags(struct memblock_region *r,
277 enum memblock_flags flags)
278{
279 r->flags |= flags;
280}
281
282static inline void memblock_clear_region_flags(struct memblock_region *r,
283 enum memblock_flags flags)
284{
285 r->flags &= ~flags;
286}
287
288#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP 276#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
289int memblock_set_node(phys_addr_t base, phys_addr_t size, 277int memblock_set_node(phys_addr_t base, phys_addr_t size,
290 struct memblock_type *type, int nid); 278 struct memblock_type *type, int nid);
diff --git a/mm/memblock.c b/mm/memblock.c
index 0ab30d0185bc..068e147695ee 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -858,11 +858,14 @@ static int __init_memblock memblock_setclr_flag(phys_addr_t base,
858 if (ret) 858 if (ret)
859 return ret; 859 return ret;
860 860
861 for (i = start_rgn; i < end_rgn; i++) 861 for (i = start_rgn; i < end_rgn; i++) {
862 struct memblock_region *r = &type->regions[i];
863
862 if (set) 864 if (set)
863 memblock_set_region_flags(&type->regions[i], flag); 865 r->flags |= flag;
864 else 866 else
865 memblock_clear_region_flags(&type->regions[i], flag); 867 r->flags &= ~flag;
868 }
866 869
867 memblock_merge_regions(type); 870 memblock_merge_regions(type);
868 return 0; 871 return 0;