diff options
Diffstat (limited to 'include/linux/page-flags.h')
-rw-r--r-- | include/linux/page-flags.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 2b87acfc5f87..d07c0bb2203a 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -158,6 +158,9 @@ static inline int TestSetPage##uname(struct page *page) \ | |||
158 | static inline int TestClearPage##uname(struct page *page) \ | 158 | static inline int TestClearPage##uname(struct page *page) \ |
159 | { return test_and_clear_bit(PG_##lname, &page->flags); } | 159 | { return test_and_clear_bit(PG_##lname, &page->flags); } |
160 | 160 | ||
161 | #define __TESTCLEARFLAG(uname, lname) \ | ||
162 | static inline int __TestClearPage##uname(struct page *page) \ | ||
163 | { return __test_and_clear_bit(PG_##lname, &page->flags); } | ||
161 | 164 | ||
162 | #define PAGEFLAG(uname, lname) TESTPAGEFLAG(uname, lname) \ | 165 | #define PAGEFLAG(uname, lname) TESTPAGEFLAG(uname, lname) \ |
163 | SETPAGEFLAG(uname, lname) CLEARPAGEFLAG(uname, lname) | 166 | SETPAGEFLAG(uname, lname) CLEARPAGEFLAG(uname, lname) |
@@ -184,6 +187,9 @@ static inline void __ClearPage##uname(struct page *page) { } | |||
184 | #define TESTCLEARFLAG_FALSE(uname) \ | 187 | #define TESTCLEARFLAG_FALSE(uname) \ |
185 | static inline int TestClearPage##uname(struct page *page) { return 0; } | 188 | static inline int TestClearPage##uname(struct page *page) { return 0; } |
186 | 189 | ||
190 | #define __TESTCLEARFLAG_FALSE(uname) \ | ||
191 | static inline int __TestClearPage##uname(struct page *page) { return 0; } | ||
192 | |||
187 | struct page; /* forward declaration */ | 193 | struct page; /* forward declaration */ |
188 | 194 | ||
189 | TESTPAGEFLAG(Locked, locked) TESTSETFLAG(Locked, locked) | 195 | TESTPAGEFLAG(Locked, locked) TESTSETFLAG(Locked, locked) |
@@ -250,11 +256,11 @@ PAGEFLAG(Unevictable, unevictable) __CLEARPAGEFLAG(Unevictable, unevictable) | |||
250 | #ifdef CONFIG_HAVE_MLOCKED_PAGE_BIT | 256 | #ifdef CONFIG_HAVE_MLOCKED_PAGE_BIT |
251 | #define MLOCK_PAGES 1 | 257 | #define MLOCK_PAGES 1 |
252 | PAGEFLAG(Mlocked, mlocked) __CLEARPAGEFLAG(Mlocked, mlocked) | 258 | PAGEFLAG(Mlocked, mlocked) __CLEARPAGEFLAG(Mlocked, mlocked) |
253 | TESTSCFLAG(Mlocked, mlocked) | 259 | TESTSCFLAG(Mlocked, mlocked) __TESTCLEARFLAG(Mlocked, mlocked) |
254 | #else | 260 | #else |
255 | #define MLOCK_PAGES 0 | 261 | #define MLOCK_PAGES 0 |
256 | PAGEFLAG_FALSE(Mlocked) | 262 | PAGEFLAG_FALSE(Mlocked) SETPAGEFLAG_NOOP(Mlocked) |
257 | SETPAGEFLAG_NOOP(Mlocked) TESTCLEARFLAG_FALSE(Mlocked) | 263 | TESTCLEARFLAG_FALSE(Mlocked) __TESTCLEARFLAG_FALSE(Mlocked) |
258 | #endif | 264 | #endif |
259 | 265 | ||
260 | #ifdef CONFIG_ARCH_USES_PG_UNCACHED | 266 | #ifdef CONFIG_ARCH_USES_PG_UNCACHED |