diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2015-05-19 17:05:38 +0800 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-05-21 15:03:34 +1000 |
commit | a88495a1439ff20345870a82565658249be55d23 (patch) | |
tree | a5eda82d74c525f4e9fa502eea97f774075f1bba /core/mem_region.c | |
parent | 8ab7a78c23c5e62566646aa9d5ac8749dfd73837 (diff) | |
download | skiboot-a88495a1439ff20345870a82565658249be55d23.zip skiboot-a88495a1439ff20345870a82565658249be55d23.tar.gz skiboot-a88495a1439ff20345870a82565658249be55d23.tar.bz2 |
core: Add mem_region_next
This change adds a function to iterate mem_regions.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/mem_region.c')
-rw-r--r-- | core/mem_region.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/mem_region.c b/core/mem_region.c index 0a1538d..f6d5a7a 100644 --- a/core/mem_region.c +++ b/core/mem_region.c @@ -1008,3 +1008,17 @@ void mem_region_add_dt_reserved(void) free(names); free(ranges); } + +struct mem_region *mem_region_next(struct mem_region *region) +{ + struct list_node *node; + + assert(lock_held_by_me(&mem_region_lock)); + + node = region ? ®ion->list : ®ions.n; + + if (node->next == ®ions.n) + return NULL; + + return list_entry(node->next, struct mem_region, list); +} |