drivers: power: report battery voltage in AOSP compatible format
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / kernel / power / tuxonice_pageflags.h
CommitLineData
6fa3eb70
S
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
12extern struct memory_bitmap *pageset1_map;
13extern struct memory_bitmap *pageset1_copy_map;
14extern struct memory_bitmap *pageset2_map;
15extern struct memory_bitmap *page_resave_map;
16extern struct memory_bitmap *io_map;
17extern struct memory_bitmap *nosave_map;
18extern 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
69extern void save_pageflags(struct memory_bitmap *pagemap);
70extern int load_pageflags(struct memory_bitmap *pagemap);
71extern int toi_pageflags_space_needed(void);
72#endif