2.0 alpha
[platform/core/system/devman.git] / devices / power_supply_pmic.c
1 /*
2  *  devman
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: DongGi Jang <dg0402.jang@samsung.com>
7  * 
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20 */ 
21
22
23 #include "device_engine.h"
24 #include "device_plugin.h"
25
26 static int get_pmic(int prop, int *val)
27 {
28         switch (prop) {
29         case POWER_SUPPLY_PROP_CHARGE_NOW:
30                 return plugin_intf->OEM_sys_get_battery_charge_now(val);
31         case POWER_SUPPLY_PROP_CHARGE_FULL:
32                 return plugin_intf->OEM_sys_get_battery_charge_full(val);
33         case POWER_SUPPLY_PROP_BATTERY_HEALTH:
34                 return plugin_intf->OEM_sys_get_battery_health(val);
35         }
36
37         return -1;
38 }
39
40 static struct device powersupply = {
41         .devname = "power_supply_pmic",
42         .set_int = NULL,
43         .get_int = get_pmic,
44         .devtype = DEVTYPE_POWERSUPPLY,
45 };
46
47 static void __attribute__ ((constructor)) module_init()
48 {
49         add_dev(&powersupply);
50 }