1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_ANDROID_POWER_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_ANDROID_POWER_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/list.h>
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef struct
18951a39d68df598db08dfced8b4707755864a0492Ying Wang{
19951a39d68df598db08dfced8b4707755864a0492Ying Wang struct list_head link;
20951a39d68df598db08dfced8b4707755864a0492Ying Wang int lock_count;
21951a39d68df598db08dfced8b4707755864a0492Ying Wang int flags;
22951a39d68df598db08dfced8b4707755864a0492Ying Wang const char *name;
23951a39d68df598db08dfced8b4707755864a0492Ying Wang int expires;
24951a39d68df598db08dfced8b4707755864a0492Ying Wang} android_suspend_lock_t;
25951a39d68df598db08dfced8b4707755864a0492Ying Wang
26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_COUNTED (1U << 0)
27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_USER_READABLE (1U << 1)
28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_USER_SET (1U << 2)
29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_USER_CLEAR (1U << 3)
30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_USER_INC (1U << 4)
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_USER_DEC (1U << 5)
32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_FLAG_USER_VISIBLE_MASK (0x1fU << 1)
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ANDROID_SUSPEND_LOCK_AUTO_EXPIRE (1U << 6)
34951a39d68df598db08dfced8b4707755864a0492Ying Wang
35951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef struct android_early_suspend android_early_suspend_t;
36951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct android_early_suspend
37951a39d68df598db08dfced8b4707755864a0492Ying Wang{
38951a39d68df598db08dfced8b4707755864a0492Ying Wang struct list_head link;
39951a39d68df598db08dfced8b4707755864a0492Ying Wang int level;
40951a39d68df598db08dfced8b4707755864a0492Ying Wang void (*suspend)(android_early_suspend_t *h);
41951a39d68df598db08dfced8b4707755864a0492Ying Wang void (*resume)(android_early_suspend_t *h);
42951a39d68df598db08dfced8b4707755864a0492Ying Wang};
43951a39d68df598db08dfced8b4707755864a0492Ying Wang
44951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef enum {
45951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_UNKNOWN,
46951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_DISCHARGE,
47951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_MAINTAIN,
48951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_SLOW,
49951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_NORMAL,
50951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_FAST,
51951a39d68df598db08dfced8b4707755864a0492Ying Wang ANDROID_CHARGING_STATE_OVERHEAT
52951a39d68df598db08dfced8b4707755864a0492Ying Wang} android_charging_state_t;
53951a39d68df598db08dfced8b4707755864a0492Ying Wang
54951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
55951a39d68df598db08dfced8b4707755864a0492Ying Wang
56