drivers: power: report battery voltage in AOSP compatible format
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / kernel / power / tuxonice_pageflags.h
1 /*
2 * kernel/power/tuxonice_pageflags.h
3 *
4 * Copyright (C) 2004-2010 Nigel Cunningham (nigel at tuxonice net)
5 *
6 * This file is released under the GPLv2.
7 */
8
9 #ifndef KERNEL_POWER_TUXONICE_PAGEFLAGS_H
10 #define KERNEL_POWER_TUXONICE_PAGEFLAGS_H
11
12 extern struct memory_bitmap *pageset1_map;
13 extern struct memory_bitmap *pageset1_copy_map;
14 extern struct memory_bitmap *pageset2_map;
15 extern struct memory_bitmap *page_resave_map;
16 extern struct memory_bitmap *io_map;
17 extern struct memory_bitmap *nosave_map;
18 extern struct memory_bitmap *free_map;
19
20 #define PagePageset1(page) \
21 (memory_bm_test_bit(pageset1_map, page_to_pfn(page)))
22 #define SetPagePageset1(page) \
23 (memory_bm_set_bit(pageset1_map, page_to_pfn(page)))
24 #define ClearPagePageset1(page) \
25 (memory_bm_clear_bit(pageset1_map, page_to_pfn(page)))
26
27 #define PagePageset1Copy(page) \
28 (memory_bm_test_bit(pageset1_copy_map, page_to_pfn(page)))
29 #define SetPagePageset1Copy(page) \
30 (memory_bm_set_bit(pageset1_copy_map, page_to_pfn(page)))
31 #define ClearPagePageset1Copy(page) \
32 (memory_bm_clear_bit(pageset1_copy_map, page_to_pfn(page)))
33
34 #define PagePageset2(page) \
35 (memory_bm_test_bit(pageset2_map, page_to_pfn(page)))
36 #define SetPagePageset2(page) \
37 (memory_bm_set_bit(pageset2_map, page_to_pfn(page)))
38 #define ClearPagePageset2(page) \
39 (memory_bm_clear_bit(pageset2_map, page_to_pfn(page)))
40
41 #define PageWasRW(page) \
42 (memory_bm_test_bit(pageset2_map, page_to_pfn(page)))
43 #define SetPageWasRW(page) \
44 (memory_bm_set_bit(pageset2_map, page_to_pfn(page)))
45 #define ClearPageWasRW(page) \
46 (memory_bm_clear_bit(pageset2_map, page_to_pfn(page)))
47
48 #define PageResave(page) (page_resave_map ? \
49 memory_bm_test_bit(page_resave_map, page_to_pfn(page)) : 0)
50 #define SetPageResave(page) \
51 (memory_bm_set_bit(page_resave_map, page_to_pfn(page)))
52 #define ClearPageResave(page) \
53 (memory_bm_clear_bit(page_resave_map, page_to_pfn(page)))
54
55 #define PageNosave(page) (nosave_map ? \
56 memory_bm_test_bit(nosave_map, page_to_pfn(page)) : 0)
57 #define SetPageNosave(page) \
58 (memory_bm_set_bit(nosave_map, page_to_pfn(page)))
59 #define ClearPageNosave(page) \
60 (memory_bm_clear_bit(nosave_map, page_to_pfn(page)))
61
62 #define PageNosaveFree(page) (free_map ? \
63 memory_bm_test_bit(free_map, page_to_pfn(page)) : 0)
64 #define SetPageNosaveFree(page) \
65 (memory_bm_set_bit(free_map, page_to_pfn(page)))
66 #define ClearPageNosaveFree(page) \
67 (memory_bm_clear_bit(free_map, page_to_pfn(page)))
68
69 extern void save_pageflags(struct memory_bitmap *pagemap);
70 extern int load_pageflags(struct memory_bitmap *pagemap);
71 extern int toi_pageflags_space_needed(void);
72 #endif