[POWERPC] swsusp: Introduce register_nosave_region_late
This patch introduces a new register_nosave_region_late function that can be called from initcalls when register_nosave_region can no longer be used because it uses bootmem. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
de372ecd80
commit
940d67f6b9
@@ -607,7 +607,8 @@ static LIST_HEAD(nosave_regions);
|
||||
*/
|
||||
|
||||
void __init
|
||||
register_nosave_region(unsigned long start_pfn, unsigned long end_pfn)
|
||||
__register_nosave_region(unsigned long start_pfn, unsigned long end_pfn,
|
||||
int use_kmalloc)
|
||||
{
|
||||
struct nosave_region *region;
|
||||
|
||||
@@ -623,8 +624,13 @@ register_nosave_region(unsigned long start_pfn, unsigned long end_pfn)
|
||||
goto Report;
|
||||
}
|
||||
}
|
||||
/* This allocation cannot fail */
|
||||
region = alloc_bootmem_low(sizeof(struct nosave_region));
|
||||
if (use_kmalloc) {
|
||||
/* during init, this shouldn't fail */
|
||||
region = kmalloc(sizeof(struct nosave_region), GFP_KERNEL);
|
||||
BUG_ON(!region);
|
||||
} else
|
||||
/* This allocation cannot fail */
|
||||
region = alloc_bootmem_low(sizeof(struct nosave_region));
|
||||
region->start_pfn = start_pfn;
|
||||
region->end_pfn = end_pfn;
|
||||
list_add_tail(®ion->list, &nosave_regions);
|
||||
|
Reference in New Issue
Block a user