swsusp: use inline functions for changing page flags

Replace direct invocations of SetPageNosave(), SetPageNosaveFree() etc.  with
calls to inline functions that can be changed in subsequent patches without
modifying the code calling them.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Rafael J. Wysocki 2007-05-06 14:50:42 -07:00 committed by Linus Torvalds
parent 433ecb4ab3
commit 7be9823491
3 changed files with 61 additions and 26 deletions

View file

@ -8,6 +8,7 @@
#include <linux/notifier.h>
#include <linux/init.h>
#include <linux/pm.h>
#include <linux/mm.h>
/* struct pbe is used for creating lists of pages that should be restored
* atomically during the resume from disk, because the page frames they have
@ -49,6 +50,38 @@ void __save_processor_state(struct saved_context *ctxt);
void __restore_processor_state(struct saved_context *ctxt);
unsigned long get_safe_page(gfp_t gfp_mask);
/* Page management functions for the software suspend (swsusp) */
static inline void swsusp_set_page_forbidden(struct page *page)
{
SetPageNosave(page);
}
static inline int swsusp_page_is_forbidden(struct page *page)
{
return PageNosave(page);
}
static inline void swsusp_unset_page_forbidden(struct page *page)
{
ClearPageNosave(page);
}
static inline void swsusp_set_page_free(struct page *page)
{
SetPageNosaveFree(page);
}
static inline int swsusp_page_is_free(struct page *page)
{
return PageNosaveFree(page);
}
static inline void swsusp_unset_page_free(struct page *page)
{
ClearPageNosaveFree(page);
}
/*
* XXX: We try to keep some more pages free so that I/O operations succeed
* without paging. Might this be more?