drivers: power: report battery voltage in AOSP compatible format
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / kernel / power / tuxonice_bio_internal.h
CommitLineData
6fa3eb70
S
1/*
2 * kernel/power/tuxonice_bio_internal.h
3 *
4 * Copyright (C) 2009-2010 Nigel Cunningham (nigel at tuxonice net)
5 *
6 * Distributed under GPLv2.
7 *
8 * This file contains declarations for functions exported from
9 * tuxonice_bio.c, which contains low level io functions.
10 */
11
12/* Extent chains */
13void toi_extent_state_goto_start(void);
14void toi_extent_state_save(int slot);
15int go_next_page(int writing, int section_barrier);
16void toi_extent_state_restore(int slot);
17void free_all_bdev_info(void);
18int devices_of_same_priority(struct toi_bdev_info *this);
19int toi_register_storage_chain(struct toi_bdev_info *new);
20int toi_serialise_extent_chains(void);
21int toi_load_extent_chains(void);
22int toi_bio_rw_page(int writing, struct page *page, int is_readahead, int free_group);
23int toi_bio_restore_original_signature(void);
24int toi_bio_devinfo_storage_needed(void);
25unsigned long get_headerblock(void);
26dev_t get_header_dev_t(void);
27struct block_device *get_header_bdev(void);
28int toi_bio_allocate_storage(unsigned long request);
29
30/* Signature functions */
31#define HaveImage "HaveImage"
32#define NoImage "TuxOnIce"
33#define sig_size (sizeof(HaveImage))
34
35struct sig_data {
36 char sig[sig_size];
37 int have_image;
38 int resumed_before;
39
40 char have_uuid;
41 char header_uuid[17];
42 dev_t header_dev_t;
43 unsigned long first_header_block;
44
45 /* Repeat the signature to be sure we have a header version */
46 char sig2[sig_size];
47 int header_version;
48};
49
50void forget_signature_page(void);
51int toi_check_for_signature(void);
52int toi_bio_image_exists(int quiet);
53int get_signature_page(void);
54int toi_bio_mark_resume_attempted(int);
55extern char *toi_cur_sig_page;
56extern char *toi_orig_sig_page;
57int toi_bio_mark_have_image(void);
58extern struct sig_data *toi_sig_data;
59extern dev_t resume_dev_t;
60extern struct block_device *resume_block_device;
61extern struct block_device *header_block_device;
62extern unsigned long resume_firstblock;
63
64struct block_device *open_bdev(dev_t device, int display_errs);
65extern int current_stream;
66extern int more_readahead;
67int toi_do_io(int writing, struct block_device *bdev, long block0,
68 struct page *page, int is_readahead, int syncio, int free_group);
69int get_main_pool_phys_params(void);
70
71void toi_close_bdev(struct block_device *bdev);
72struct block_device *toi_open_bdev(char *uuid, dev_t default_device, int display_errs);
73
74extern struct toi_module_ops toi_blockwriter_ops;
75void dump_block_chains(void);
76void debug_broken_header(void);
77extern unsigned long raw_pages_allocd, header_pages_reserved;
78int toi_bio_chains_debug_info(char *buffer, int size);
79void toi_bio_chains_post_atomic(struct toi_boot_kernel_data *bkd);
80int toi_bio_scan_for_image(int quiet);
81int toi_bio_get_header_version(void);
82
83void close_resume_dev_t(int force);
84int open_resume_dev_t(int force, int quiet);