EDP: adding power-supply depletion driver
[linux-2.6.git] / include / linux / edpdev.h
1 /*
2  * Copyright (c) 2013, NVIDIA CORPORATION.  All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms and conditions of the GNU General Public License,
6  * version 2, as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  * more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #ifndef _LINUX_EDPDEV_H
18 #define _LINUX_EDPDEV_H
19
20 #include <linux/kernel.h>
21 #include <linux/errno.h>
22 #include <linux/edp.h>
23
24 /*
25  * Temperature -> IBAT LUT
26  * Should be descending wrt temp
27  * { ..., .ibat = 0 } must be the last entry
28  */
29 struct psy_depletion_ibat_lut {
30         int temp;
31         unsigned int ibat;
32 };
33
34 /*
35  * Capacity -> RBAT LUT
36  * Should be descending wrt capacity
37  * { .capacity = 0, ... } must be the last entry
38  */
39 struct psy_depletion_rbat_lut {
40         unsigned int capacity;
41         unsigned int rbat;
42 };
43
44 /* Power supply depletion EDP client */
45 struct psy_depletion_platform_data {
46         char *power_supply;
47         unsigned int *states;
48         unsigned int num_states;
49         unsigned int e0_index;
50         unsigned int r_const;
51         unsigned int vsys_min;
52         unsigned int vcharge;
53         unsigned int ibat_nom;
54         struct psy_depletion_ibat_lut *ibat_lut;
55         struct psy_depletion_rbat_lut *rbat_lut;
56 };
57
58 #endif