mm/memblock: Do some refactoring, enhance API
authorPhilipp Hachtmann <phacht@linux.vnet.ibm.com>
Wed, 29 Jan 2014 17:16:01 +0000 (18:16 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 20 May 2014 06:58:39 +0000 (08:58 +0200)
commitf1af9d3af308145478749194346f11efad1134b2
tree86abcc79427e3b24230c4b2a3fdf0eae524888b7
parent6ed8bf82fe44752f748bdc19567f79a961cf916c
mm/memblock: Do some refactoring, enhance API

Refactor the memblock code and extend the memblock API to make it
more flexible. With the extended API it is simple to define and
work with additional memory lists.

The static functions memblock_add_region and __memblock_remove are
renamed to memblock_add_range and meblock_remove_range and added to
the memblock API.

The __next_free_mem_range and __next_free_mem_range_rev functions
are replaced with calls to the more generic list walkers
__next_mem_range and __next_mem_range_rev.

To walk an arbitrary memory list two new macros for_each_mem_range
and for_each_mem_range_rev are added. These new macros are used
to define for_each_free_mem_range and for_each_free_mem_range_reverse.

Signed-off-by: Philipp Hachtmann <phacht@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
include/linux/memblock.h
mm/memblock.c