summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaeyoung Kim <ty317.kim@samsung.com>2016-05-04 16:54:44 +0900
committerTaeyoung Kim <ty317.kim@samsung.com>2016-05-04 16:54:44 +0900
commit72b6c01cd71f94fdc5107cc3bcaf7002d1af81ca (patch)
treea46cc7c8b3ad8458348a82b2c1e9649b363972e6
parent24a8d470abaec09e3afa2bf9f0fbcf22a48e42d2 (diff)
downloadlibdevice-node-72b6c01cd71f94fdc5107cc3bcaf7002d1af81ca.tar.gz
libdevice-node-72b6c01cd71f94fdc5107cc3bcaf7002d1af81ca.tar.bz2
libdevice-node-72b6c01cd71f94fdc5107cc3bcaf7002d1af81ca.zip
- If standard battery interfaces of Mainline kernel is always used, this HAL is no use. But Tizen need to work on other kernel version and thus the battery HAL interfaces are added. Change-Id: I25b0b46f6d3dc1ee640c130b4c0f6ed2b588e606 Signed-off-by: Taeyoung Kim <ty317.kim@samsung.com>
-rw-r--r--hw/battery.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/hw/battery.h b/hw/battery.h
new file mode 100644
index 0000000..3302a27
--- /dev/null
+++ b/hw/battery.h
@@ -0,0 +1,67 @@
+/*
+ * libdevice-node
+ *
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#ifndef __HW_BATTERY_H__
+#define __HW_BATTERY_H__
+
+#include <hw/common.h>
+
+/**
+ * The id of this device
+ */
+#define BATTERY_HARDWARE_DEVICE_ID "battery"
+
+#define POWER_SOURCE_NONE "none"
+#define POWER_SOURCE_AC "ac"
+#define POWER_SOURCE_USB "usb"
+#define POWER_SOURCE_WIRELESS "wireless"
+
+/**
+ * The version of this device
+ */
+#define BATTERY_HARDWARE_DEVICE_VERSION MAKE_VERSION(0,1)
+
+struct battery_info {
+ char *name;
+ char *status;
+ char *health;
+ char *power_source;
+
+ int online;
+ int present;
+ int capacity;
+
+ int current_now;
+ int current_average;
+};
+
+typedef void (*BatteryUpdated)(struct battery_info *info, void *data);
+
+struct battery_device {
+ struct hw_common common;
+
+ /* Register battery event */
+ int (*register_changed_event)(BatteryUpdated updated_cb, void *data);
+ void (*unregister_changed_event)(BatteryUpdated updated_cb);
+
+ /* Get current states */
+ int (*get_current_state)(BatteryUpdated updated_cb, void *data);
+};
+
+#endif