tizen 2.3.1 release tizen_2.3.1 submit/tizen_2.3.1/20150915.072203 tizen_2.3.1_release
authorjk7744.park <jk7744.park@samsung.com>
Tue, 8 Sep 2015 12:29:33 +0000 (21:29 +0900)
committerjk7744.park <jk7744.park@samsung.com>
Tue, 8 Sep 2015 12:29:33 +0000 (21:29 +0900)
LICENSE [new file with mode: 0644]
device-manager-plugin-exynos.manifest [new file with mode: 0644]
include/devman_define_node_path.h
include/devman_plugin_intf.h
packaging/device-manager-plugin-exynos.spec
src/device_manager_plugin_exynos.c

diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..fef8c29
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+                                 Apache License\r
+                           Version 2.0, January 2004\r
+                        http://www.apache.org/licenses/\r
+\r
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\r
+\r
+   1. Definitions.\r
+\r
+      "License" shall mean the terms and conditions for use, reproduction,\r
+      and distribution as defined by Sections 1 through 9 of this document.\r
+\r
+      "Licensor" shall mean the copyright owner or entity authorized by\r
+      the copyright owner that is granting the License.\r
+\r
+      "Legal Entity" shall mean the union of the acting entity and all\r
+      other entities that control, are controlled by, or are under common\r
+      control with that entity. For the purposes of this definition,\r
+      "control" means (i) the power, direct or indirect, to cause the\r
+      direction or management of such entity, whether by contract or\r
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the\r
+      outstanding shares, or (iii) beneficial ownership of such entity.\r
+\r
+      "You" (or "Your") shall mean an individual or Legal Entity\r
+      exercising permissions granted by this License.\r
+\r
+      "Source" form shall mean the preferred form for making modifications,\r
+      including but not limited to software source code, documentation\r
+      source, and configuration files.\r
+\r
+      "Object" form shall mean any form resulting from mechanical\r
+      transformation or translation of a Source form, including but\r
+      not limited to compiled object code, generated documentation,\r
+      and conversions to other media types.\r
+\r
+      "Work" shall mean the work of authorship, whether in Source or\r
+      Object form, made available under the License, as indicated by a\r
+      copyright notice that is included in or attached to the work\r
+      (an example is provided in the Appendix below).\r
+\r
+      "Derivative Works" shall mean any work, whether in Source or Object\r
+      form, that is based on (or derived from) the Work and for which the\r
+      editorial revisions, annotations, elaborations, or other modifications\r
+      represent, as a whole, an original work of authorship. For the purposes\r
+      of this License, Derivative Works shall not include works that remain\r
+      separable from, or merely link (or bind by name) to the interfaces of,\r
+      the Work and Derivative Works thereof.\r
+\r
+      "Contribution" shall mean any work of authorship, including\r
+      the original version of the Work and any modifications or additions\r
+      to that Work or Derivative Works thereof, that is intentionally\r
+      submitted to Licensor for inclusion in the Work by the copyright owner\r
+      or by an individual or Legal Entity authorized to submit on behalf of\r
+      the copyright owner. For the purposes of this definition, "submitted"\r
+      means any form of electronic, verbal, or written communication sent\r
+      to the Licensor or its representatives, including but not limited to\r
+      communication on electronic mailing lists, source code control systems,\r
+      and issue tracking systems that are managed by, or on behalf of, the\r
+      Licensor for the purpose of discussing and improving the Work, but\r
+      excluding communication that is conspicuously marked or otherwise\r
+      designated in writing by the copyright owner as "Not a Contribution."\r
+\r
+      "Contributor" shall mean Licensor and any individual or Legal Entity\r
+      on behalf of whom a Contribution has been received by Licensor and\r
+      subsequently incorporated within the Work.\r
+\r
+   2. Grant of Copyright License. Subject to the terms and conditions of\r
+      this License, each Contributor hereby grants to You a perpetual,\r
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+      copyright license to reproduce, prepare Derivative Works of,\r
+      publicly display, publicly perform, sublicense, and distribute the\r
+      Work and such Derivative Works in Source or Object form.\r
+\r
+   3. Grant of Patent License. Subject to the terms and conditions of\r
+      this License, each Contributor hereby grants to You a perpetual,\r
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+      (except as stated in this section) patent license to make, have made,\r
+      use, offer to sell, sell, import, and otherwise transfer the Work,\r
+      where such license applies only to those patent claims licensable\r
+      by such Contributor that are necessarily infringed by their\r
+      Contribution(s) alone or by combination of their Contribution(s)\r
+      with the Work to which such Contribution(s) was submitted. If You\r
+      institute patent litigation against any entity (including a\r
+      cross-claim or counterclaim in a lawsuit) alleging that the Work\r
+      or a Contribution incorporated within the Work constitutes direct\r
+      or contributory patent infringement, then any patent licenses\r
+      granted to You under this License for that Work shall terminate\r
+      as of the date such litigation is filed.\r
+\r
+   4. Redistribution. You may reproduce and distribute copies of the\r
+      Work or Derivative Works thereof in any medium, with or without\r
+      modifications, and in Source or Object form, provided that You\r
+      meet the following conditions:\r
+\r
+      (a) You must give any other recipients of the Work or\r
+          Derivative Works a copy of this License; and\r
+\r
+      (b) You must cause any modified files to carry prominent notices\r
+          stating that You changed the files; and\r
+\r
+      (c) You must retain, in the Source form of any Derivative Works\r
+          that You distribute, all copyright, patent, trademark, and\r
+          attribution notices from the Source form of the Work,\r
+          excluding those notices that do not pertain to any part of\r
+          the Derivative Works; and\r
+\r
+      (d) If the Work includes a "NOTICE" text file as part of its\r
+          distribution, then any Derivative Works that You distribute must\r
+          include a readable copy of the attribution notices contained\r
+          within such NOTICE file, excluding those notices that do not\r
+          pertain to any part of the Derivative Works, in at least one\r
+          of the following places: within a NOTICE text file distributed\r
+          as part of the Derivative Works; within the Source form or\r
+          documentation, if provided along with the Derivative Works; or,\r
+          within a display generated by the Derivative Works, if and\r
+          wherever such third-party notices normally appear. The contents\r
+          of the NOTICE file are for informational purposes only and\r
+          do not modify the License. You may add Your own attribution\r
+          notices within Derivative Works that You distribute, alongside\r
+          or as an addendum to the NOTICE text from the Work, provided\r
+          that such additional attribution notices cannot be construed\r
+          as modifying the License.\r
+\r
+      You may add Your own copyright statement to Your modifications and\r
+      may provide additional or different license terms and conditions\r
+      for use, reproduction, or distribution of Your modifications, or\r
+      for any such Derivative Works as a whole, provided Your use,\r
+      reproduction, and distribution of the Work otherwise complies with\r
+      the conditions stated in this License.\r
+\r
+   5. Submission of Contributions. Unless You explicitly state otherwise,\r
+      any Contribution intentionally submitted for inclusion in the Work\r
+      by You to the Licensor shall be under the terms and conditions of\r
+      this License, without any additional terms or conditions.\r
+      Notwithstanding the above, nothing herein shall supersede or modify\r
+      the terms of any separate license agreement you may have executed\r
+      with Licensor regarding such Contributions.\r
+\r
+   6. Trademarks. This License does not grant permission to use the trade\r
+      names, trademarks, service marks, or product names of the Licensor,\r
+      except as required for reasonable and customary use in describing the\r
+      origin of the Work and reproducing the content of the NOTICE file.\r
+\r
+   7. Disclaimer of Warranty. Unless required by applicable law or\r
+      agreed to in writing, Licensor provides the Work (and each\r
+      Contributor provides its Contributions) on an "AS IS" BASIS,\r
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r
+      implied, including, without limitation, any warranties or conditions\r
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\r
+      PARTICULAR PURPOSE. You are solely responsible for determining the\r
+      appropriateness of using or redistributing the Work and assume any\r
+      risks associated with Your exercise of permissions under this License.\r
+\r
+   8. Limitation of Liability. In no event and under no legal theory,\r
+      whether in tort (including negligence), contract, or otherwise,\r
+      unless required by applicable law (such as deliberate and grossly\r
+      negligent acts) or agreed to in writing, shall any Contributor be\r
+      liable to You for damages, including any direct, indirect, special,\r
+      incidental, or consequential damages of any character arising as a\r
+      result of this License or out of the use or inability to use the\r
+      Work (including but not limited to damages for loss of goodwill,\r
+      work stoppage, computer failure or malfunction, or any and all\r
+      other commercial damages or losses), even if such Contributor\r
+      has been advised of the possibility of such damages.\r
+\r
+   9. Accepting Warranty or Additional Liability. While redistributing\r
+      the Work or Derivative Works thereof, You may choose to offer,\r
+      and charge a fee for, acceptance of support, warranty, indemnity,\r
+      or other liability obligations and/or rights consistent with this\r
+      License. However, in accepting such obligations, You may act only\r
+      on Your own behalf and on Your sole responsibility, not on behalf\r
+      of any other Contributor, and only if You agree to indemnify,\r
+      defend, and hold each Contributor harmless for any liability\r
+      incurred by, or claims asserted against, such Contributor by reason\r
+      of your accepting any such warranty or additional liability.\r
+\r
+   END OF TERMS AND CONDITIONS\r
+\r
+   APPENDIX: How to apply the Apache License to your work.\r
+\r
+      To apply the Apache License to your work, attach the following\r
+      boilerplate notice, with the fields enclosed by brackets "[]"\r
+      replaced with your own identifying information. (Don't include\r
+      the brackets!)  The text should be enclosed in the appropriate\r
+      comment syntax for the file format. We also recommend that a\r
+      file or class name and description of purpose be included on the\r
+      same "printed page" as the copyright notice for easier\r
+      identification within third-party archives.\r
+\r
+   Copyright [yyyy] [name of copyright owner]\r
+\r
+   Licensed under the Apache License, Version 2.0 (the "License");\r
+   you may not use this file except in compliance with the License.\r
+   You may obtain a copy of the License at\r
+\r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+\r
diff --git a/device-manager-plugin-exynos.manifest b/device-manager-plugin-exynos.manifest
new file mode 100644 (file)
index 0000000..af9b883
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>\r
+       <request>\r
+               <domain name="_" />\r
+       </request>\r
+</manifest>\r
index 9ef87c0..2cf3045 100644 (file)
 #define UART_PATH_TRATS                        "/sys/devices/platform/uart-select/path"
 #define USB_PATH_TRATS                 "/sys/devices/platform/usb-select/path"
 
-#define HAPTIC_VIBETONES_LEVEL_PATH    "/sys/class/haptic/vibetones/level"
-#define HAPTIC_VIBETONES_LEVEL_MAX_PATH        "/sys/class/haptic/vibetones/level_max"
-#define HAPTIC_VIBETONES_ENABLE_PATH   "/sys/class/haptic/vibetones/enable"
-#define HAPTIC_VIBETONES_ONESHOT_PATH  "/sys/class/haptic/vibetones/oneshot"
+#define HAPTIC_MOTOR_LEVEL_PATH        "/sys/class/haptic/motor/level"
+#define HAPTIC_MOTOR_LEVEL_MAX_PATH    "/sys/class/haptic/motor/level_max"
+#define HAPTIC_MOTOR_ENABLE_PATH       "/sys/class/haptic/motor/enable"
+#define HAPTIC_MOTOR_ONESHOT_PATH      "/sys/class/haptic/motor/oneshot"
 
 #define BATTERY_CAPACITY_PATH          "/sys/class/power_supply/battery/capacity"
 #define BATTERY_CAPACITY_RAW_PATH      "/sys/class/power_supply/battery/capacity_raw"
index ca76206..ff7492f 100644 (file)
@@ -56,6 +56,12 @@ enum {
        POWER_STATE_POST_RESUME,
 };
 
+enum {
+        LUX_DECREMENT,
+        LUX_NOCHANGE,
+        LUX_INCREMENT,
+};
+
 typedef struct {
        int     (*OEM_sys_get_display_count) (int *value);
 
@@ -94,6 +100,12 @@ typedef struct {
        int     (*OEM_sys_get_usb_path) (int *value);
        int     (*OEM_sys_set_usb_path) (int value);
 
+       int     (*OEM_sys_get_haptic_motor_level_max) (int *value);
+       int     (*OEM_sys_get_haptic_motor_level) (int *value);
+       int     (*OEM_sys_set_haptic_motor_level) (int value);
+       int     (*OEM_sys_set_haptic_motor_enable) (int value);
+       int     (*OEM_sys_set_haptic_motor_oneshot) (int value);
+
        int     (*OEM_sys_get_haptic_vibetones_level_max) (int *value);
        int     (*OEM_sys_get_haptic_vibetones_level) (int *value);
        int     (*OEM_sys_set_haptic_vibetones_level) (int value);
@@ -107,6 +119,7 @@ typedef struct {
        int     (*OEM_sys_get_battery_present) (int *value);
        int     (*OEM_sys_get_battery_health) (int *value);
        int     (*OEM_sys_get_battery_polling_required) (int *value);
+       int     (*OEM_sys_get_battery_support_insuspend_charging) (int *value);
 
        int     (*OEM_sys_get_jack_charger_online) (int *value);
        int     (*OEM_sys_get_jack_earjack_online) (int *value);
@@ -117,6 +130,8 @@ typedef struct {
        int     (*OEM_sys_get_jack_tvout_online) (int *value);
        int     (*OEM_sys_get_jack_keyboard_online) (int *value);
 
+       int     (*OEM_sys_get_hdmi_support) (int *value);
+
        int     (*OEM_sys_get_leds_torch_max_brightness) (int *value);
        int     (*OEM_sys_get_leds_torch_brightness) (int *value);
        int     (*OEM_sys_set_leds_torch_brightness) (int value);
@@ -143,6 +158,9 @@ typedef struct {
        int     (*OEM_sys_set_cpufreq_scaling_max_freq) (int value);
        int     (*OEM_sys_get_cpufreq_scaling_min_freq) (int *value);
        int     (*OEM_sys_set_cpufreq_scaling_min_freq) (int value);
+
+       int     (*OEM_sys_get_backlight_brightness_by_lux) (int lux, int *value);
+
 } OEM_sys_devman_plugin_interface;
 
 const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_interface();
index e4679f8..1495734 100644 (file)
@@ -1,10 +1,10 @@
 #sbs-git:slp/pkgs/d/device-manager-plugin-exynos device-manager-plugin-exynos 0.0.1 5bf2e95e0bb15c43ff928f7375e1978b0accb0f8
 Name:       device-manager-plugin-exynos
 Summary:    Device manager plugin exynos
-Version: 0.0.21
+Version: 0.0.26
 Release:    0
 Group:      TO_BE/FILLED_IN
-License:    TO_BE/FILLED_IN
+License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
@@ -25,6 +25,8 @@ make %{?jobs:-j%jobs}
 
 %install
 rm -rf %{buildroot}
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{name}
 %make_install
 
 
@@ -34,5 +36,7 @@ rm -rf %{buildroot}
 %postun
 /sbin/ldconfig
 
-%files 
+%files
+%manifest device-manager-plugin-exynos.manifest
 /usr/lib/libslp_devman_plugin.so
+/usr/share/license/%{name}
index 4a13376..826a9c5 100644 (file)
 #define BUFF_MAX       255
 #define MAX_NAME 255
 
-#if 0
-#define GENERATE_ACCESSORS_CHAR_RW(_suffix, _item)     \
-char *OEM_sys_get_##_suffix()                  \
-{                                              \
-       return sys_get_str(_item);      \
-}                                              \
-                                               \
-int OEM_sys_set_##_suffix(char *str)                   \
-{                                              \
-       return sys_set_str(_item, value);       \
-}
-
-#define GENERATE_ACCESSORS_CHAR_R(_suffix, _item)      \
-char *OEM_sys_get_##_suffix()                  \
-{                                              \
-       return sys_get_str(_item);      \
-}
-
-#define GENERATE_ACCESSORS_CHAR_W(_suffix, _item)      \
-int OEM_sys_set_##_suffix(char *str)                   \
-{                                              \
-       return sys_set_str(_item, str);         \
-}
-#endif
 
 /* TODO: Add APIs has (char *) params */
 
@@ -101,6 +77,12 @@ enum display_type
        DISP_MAX
 };
 
+enum lux_status {
+       decrement,
+       no_change,
+       increment,
+};
+
 struct display_info
 {
        enum display_type etype; /* FIXME:!! Main LCD or Sub LCD node */
@@ -115,6 +97,14 @@ struct display_info
 int lcd_index;
 struct display_info disp_info[DISP_MAX];
 
+/* This function is not supported */
+int OEM_sys_get_backlight_brightness_by_lux(unsigned int lux, int *value)
+{
+       /* TODO */
+
+       return 0;
+}
+
 static int OEM_sys_display_info(struct display_info *disp_info)
 {
        struct dirent *dent;
@@ -643,10 +633,10 @@ int OEM_sys_set_display_frame_rate(int value)
        return -1;
 }
 
-GENERATE_ACCESSORS_INT_RW(haptic_vibetones_level, HAPTIC_VIBETONES_LEVEL_PATH)
-GENERATE_ACCESSORS_INT_R(haptic_vibetones_level_max, HAPTIC_VIBETONES_LEVEL_MAX_PATH)
-GENERATE_ACCESSORS_INT_W(haptic_vibetones_enable, HAPTIC_VIBETONES_ENABLE_PATH)
-GENERATE_ACCESSORS_INT_W(haptic_vibetones_oneshot, HAPTIC_VIBETONES_ONESHOT_PATH)
+GENERATE_ACCESSORS_INT_RW(haptic_motor_level, HAPTIC_MOTOR_LEVEL_PATH)
+GENERATE_ACCESSORS_INT_R(haptic_motor_level_max, HAPTIC_MOTOR_LEVEL_MAX_PATH)
+GENERATE_ACCESSORS_INT_W(haptic_motor_enable, HAPTIC_MOTOR_ENABLE_PATH)
+GENERATE_ACCESSORS_INT_W(haptic_motor_oneshot, HAPTIC_MOTOR_ONESHOT_PATH)
 
 GENERATE_ACCESSORS_INT_R(battery_capacity, BATTERY_CAPACITY_PATH)
 GENERATE_ACCESSORS_INT_R(battery_charge_full, BATTERY_CHARGE_FULL_PATH)
@@ -697,6 +687,13 @@ int OEM_sys_get_battery_polling_required(int *value)
        return 0;
 }
 
+int OEM_sys_get_battery_support_insuspend_charging(int *value)
+{
+       *value = 1;
+
+       return 0;
+}
+
 static char uart_node_path[MAX_NAME];
 static char usb_node_path[MAX_NAME];
 
@@ -812,6 +809,13 @@ int OEM_sys_get_jack_keyboard_online(int *value)
        return ret;
 }
 
+int OEM_sys_get_hdmi_support(int *value)
+{
+       *value = 1;
+
+       return 0;
+}
+
 GENERATE_ACCESSORS_INT_R(leds_torch_max_brightness, LEDS_TORCH_MAX_BRIGHTNESS_PATH)
 GENERATE_ACCESSORS_INT_RW(leds_torch_brightness, LEDS_TORCH_BRIGHTNESS_PATH)
 
@@ -865,219 +869,11 @@ GENERATE_ACCESSORS_GET_NODE_PATH(touch_event, TOUCH_EVENT_NODE)
 GENERATE_ACCESSORS_GET_NODE_PATH(memnotify_node, MEMNOTIFY_NODE)
 GENERATE_ACCESSORS_GET_NODE_PATH(process_monitor_node, PROCESS_MONITOR_NODE)
 
-#if 0
-int get_uart_path(char *value, int val) {
-{
-       char *tmp_buff;
-
-       tmp_buff = sys_get_str(UART_PATH);
-       if (tmp_buff == NULL)
-               return -1;
-
-       if (strncmp(tmp_buff, "AP", 2) == 0) {
-               *val = PATH_TO_PDA;
-       } else if (strncmp(tmp_buff, "CP", 2) == 0) {
-               *val = PATH_TO_MODEM;
-       } else {
-               free(tmp_buff);
-               return -1;
-       }
-       free(tmp_buff);
-
-       return 0;
-}
-
-static int set_uart_path(char *value, int val)
-{
-       int ret = -1;
-
-       if (val < PATH_TO_MODEM || val > PATH_TO_PDA) {
-               return -1;
-       }
-       ret =
-           sys_set_str(UART_PATH, (val == PATH_TO_MODEM) ? "CP" : "AP");
-       if(ret == 0) {
-               if (val == PATH_TO_MODEM) {
-                       system("/usr/bin/save_blenv uartpath CP");
-               } else {
-                       system("/usr/bin/save_blenv uartpath AP");
-               }
-       }
-       return ret;
-}
-
-int get_usb_path(char *prop, int *val) {
-{
-       char *tmp_buff = NULL;
-       switch (prop) {
-       case JACK_PROP_USB_ONLINE:
-       case JACK_PROP_TA_ONLINE:
-               return generic_jack_interface_get(NULL, prop, val);
-
-       case JACK_PROP_HDMI_ONLINE:
-               tmp_buff =
-                   sys_get_str("/sys/class/i2c-adapter/i2c-5/5-0072/status");
-               if (tmp_buff && (strstr(tmp_buff, "MHL connected:yes") != 0)) {
-                       free(tmp_buff);
-                       *val = 1;
-               } else {
-                       if(tmp_buff)
-                               free(tmp_buff);
-                       *val = 0;
-               }
-               return 0;
-       case JACK_PROP_USB_PATH:
-               tmp_buff = sys_get_str(USB_PATH);
-               if (tmp_buff == NULL)
-                       return -1;
-               if (strncmp(tmp_buff, usb_path_string[PATH_TO_MODEM], 2) == 0)
-                       *val = PATH_TO_MODEM;
-               else
-                       *val = PATH_TO_PDA;
-
-               free(tmp_buff);
-               return 0;
-       }
-
-       free(tmp_buff);
-       return -1;
-}
-
-int set_usb_path(char *prop, int val);
-{
-       char *cur_path;
-       int conn;
-
-       switch (prop) {
-       case JACK_PROP_USB_PATH:
-               break;
-       default:
-               return -1;
-       }
-       cur_path = sys_get_str(USB_PATH);
-       if (cur_path == NULL)
-               return -1;
-
-       switch (val) {
-       case PATH_TO_MODEM:
-       case PATH_TO_PDA:
-               if (strncmp(cur_path, usb_path_string[val], 2) == 0) {
-                       free(cur_path);
-                       return 0;
-               }
-               free(cur_path);
-               if (generic_jack_interface_get
-                   (NULL, JACK_USB_ONLINE_PATH, &conn) != 0) {
-                       /*failed to get the connection status */
-                       return -1;
-               }
-               if (sys_set_str(USB_PATH, (char *)usb_path_string[val]) !=
-                   0)
-                       return -1;
-               if (val == PATH_TO_MODEM) {
-                       system("/usr/bin/save_blenv usbpath CP");
-               } else {
-                       system("/usr/bin/save_blenv usbpath AP");
-               }
-               break;
-
-       default:
-               free(cur_path);
-               return -1;
-       }
-
-       return 0;
-}
-#endif
-
 static OEM_sys_devman_plugin_interface devman_plugin_interface_exynos;
 
-#if 0
-static const OEM_sys_devman_plugin_interface devman_plugin_interface_exynos = {
-       OEM_sys_get_display_count,
-       OEM_sys_get_backlight_max_brightness,
-       OEM_sys_get_backlight_brightness,
-       OEM_sys_set_backlight_brightness,
-       OEM_sys_get_backlight_acl_control,
-       OEM_sys_set_backlight_acl_control,
-
-       OEM_sys_get_lcd_power,
-       OEM_sys_set_lcd_power,
-
-       OEM_sys_get_image_enhance_mode,
-       OEM_sys_set_image_enhance_mode,
-       OEM_sys_get_image_enhance_scenario,
-       OEM_sys_set_image_enhance_scenario,
-       OEM_sys_get_image_enhance_tone,
-       OEM_sys_set_image_enhance_tone,
-       OEM_sys_get_image_enhance_outdoor,
-       OEM_sys_set_image_enhance_outdoor,
-
-       OEM_sys_get_image_enhance_tune,
-       OEM_sys_set_image_enhance_tune,
-
-       OEM_sys_image_enhance_info,
-
-       OEM_sys_set_display_frame_rate,
-
-       OEM_sys_get_uart_path,
-       OEM_sys_set_uart_path,
-
-       OEM_sys_get_usb_path,
-       OEM_sys_set_usb_path,
-
-       OEM_sys_get_haptic_vibetones_level_max,
-       OEM_sys_get_haptic_vibetones_level,
-       OEM_sys_set_haptic_vibetones_level,
-       OEM_sys_set_haptic_vibetones_enable,
-       OEM_sys_set_haptic_vibetones_oneshot,
-
-       OEM_sys_get_battery_capacity,
-       OEM_sys_get_battery_capacity_raw,
-       OEM_sys_get_battery_charge_full,
-       OEM_sys_get_battery_charge_now,
-       OEM_sys_get_battery_present,
-       OEM_sys_get_battery_health,
-
-       OEM_sys_get_jack_charger_online,
-       OEM_sys_get_jack_earjack_online,
-       OEM_sys_get_jack_earkey_online,
-       OEM_sys_get_jack_hdmi_online,
-       OEM_sys_get_jack_usb_online,
-       OEM_sys_get_jack_cradle_online,
-       OEM_sys_get_jack_tvout_online,
-       OEM_sys_get_jack_keyboard_online,
-
-       OEM_sys_get_leds_torch_max_brightness,
-       OEM_sys_get_leds_torch_brightness,
-       OEM_sys_set_leds_torch_brightness,
-
-       OEM_sys_set_power_state,
-
-       /* TODO: Should determine enum values of wakeup_count nodes */
-       OEM_sys_get_power_wakeup_count,
-       OEM_sys_set_power_wakeup_count,
-
-       OEM_sys_get_memnotify_node,
-       OEM_sys_get_memnotify_victim_task,
-       OEM_sys_set_memnotify_threshold_lv1,
-       OEM_sys_set_memnotify_threshold_lv2,
-
-       OEM_sys_get_process_monitor_node,
-       OEM_sys_set_process_monitor_mp_pnp,
-       OEM_sys_set_process_monitor_mp_vip,
-
-       OEM_sys_get_cpufreq_cpuinfo_max_freq,
-       OEM_sys_get_cpufreq_cpuinfo_min_freq,
-       OEM_sys_get_cpufreq_scaling_max_freq,
-       OEM_sys_set_cpufreq_scaling_max_freq,
-       OEM_sys_get_cpufreq_scaling_min_freq,
-       OEM_sys_set_cpufreq_scaling_min_freq
-};
-#endif
-
 EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_interface()
 {
+       /* Light interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_display_count = &OEM_sys_get_display_count;
        devman_plugin_interface_exynos.OEM_sys_get_backlight_min_brightness = &OEM_sys_get_backlight_min_brightness;
        devman_plugin_interface_exynos.OEM_sys_get_backlight_max_brightness = &OEM_sys_get_backlight_max_brightness;
@@ -1090,6 +886,7 @@ EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_inte
        devman_plugin_interface_exynos.OEM_sys_get_lcd_power = &OEM_sys_get_lcd_power;
        devman_plugin_interface_exynos.OEM_sys_set_lcd_power = &OEM_sys_set_lcd_power;
 
+       /* Image Ehnhace interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_image_enhance_mode = &OEM_sys_get_image_enhance_mode;
        devman_plugin_interface_exynos.OEM_sys_set_image_enhance_mode = &OEM_sys_set_image_enhance_mode;
        devman_plugin_interface_exynos.OEM_sys_get_image_enhance_scenario = &OEM_sys_get_image_enhance_scenario;
@@ -1106,18 +903,22 @@ EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_inte
 
        devman_plugin_interface_exynos.OEM_sys_set_display_frame_rate = &OEM_sys_set_display_frame_rate;
 
+       /* UART path interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_uart_path = &OEM_sys_get_uart_path;
        devman_plugin_interface_exynos.OEM_sys_set_uart_path = &OEM_sys_set_uart_path;
 
+       /* USB path interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_usb_path = &OEM_sys_get_usb_path;
        devman_plugin_interface_exynos.OEM_sys_set_usb_path = &OEM_sys_set_usb_path;
 
-       devman_plugin_interface_exynos.OEM_sys_get_haptic_vibetones_level_max = &OEM_sys_get_haptic_vibetones_level_max;
-       devman_plugin_interface_exynos.OEM_sys_get_haptic_vibetones_level = &OEM_sys_get_haptic_vibetones_level;
-       devman_plugin_interface_exynos.OEM_sys_set_haptic_vibetones_level = &OEM_sys_set_haptic_vibetones_level;
-       devman_plugin_interface_exynos.OEM_sys_set_haptic_vibetones_enable = &OEM_sys_set_haptic_vibetones_enable;
-       devman_plugin_interface_exynos.OEM_sys_set_haptic_vibetones_oneshot = &OEM_sys_set_haptic_vibetones_oneshot;
+       /* Vibrator interfaces */
+       devman_plugin_interface_exynos.OEM_sys_get_haptic_vibetones_level_max = &OEM_sys_get_haptic_motor_level_max;
+       devman_plugin_interface_exynos.OEM_sys_get_haptic_vibetones_level = &OEM_sys_get_haptic_motor_level;
+       devman_plugin_interface_exynos.OEM_sys_set_haptic_vibetones_level = &OEM_sys_set_haptic_motor_level;
+       devman_plugin_interface_exynos.OEM_sys_set_haptic_vibetones_enable = &OEM_sys_set_haptic_motor_enable;
+       devman_plugin_interface_exynos.OEM_sys_set_haptic_vibetones_oneshot = &OEM_sys_set_haptic_motor_oneshot;
 
+       /* Battery interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_battery_capacity = &OEM_sys_get_battery_capacity;
        devman_plugin_interface_exynos.OEM_sys_get_battery_capacity_raw = &OEM_sys_get_battery_capacity_raw;
        devman_plugin_interface_exynos.OEM_sys_get_battery_charge_full = &OEM_sys_get_battery_charge_full;
@@ -1125,7 +926,9 @@ EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_inte
        devman_plugin_interface_exynos.OEM_sys_get_battery_present = &OEM_sys_get_battery_present;
        devman_plugin_interface_exynos.OEM_sys_get_battery_health = &OEM_sys_get_battery_health;
        devman_plugin_interface_exynos.OEM_sys_get_battery_polling_required= &OEM_sys_get_battery_polling_required;
+       devman_plugin_interface_exynos.OEM_sys_get_battery_support_insuspend_charging = &OEM_sys_get_battery_support_insuspend_charging;
 
+       /* Connection interfaces  */
        devman_plugin_interface_exynos.OEM_sys_get_jack_charger_online = &OEM_sys_get_jack_charger_online;
        devman_plugin_interface_exynos.OEM_sys_get_jack_earjack_online = &OEM_sys_get_jack_earjack_online;
        devman_plugin_interface_exynos.OEM_sys_get_jack_earkey_online = &OEM_sys_get_jack_earkey_online;
@@ -1135,25 +938,30 @@ EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_inte
        devman_plugin_interface_exynos.OEM_sys_get_jack_tvout_online = &OEM_sys_get_jack_tvout_online;
        devman_plugin_interface_exynos.OEM_sys_get_jack_keyboard_online = &OEM_sys_get_jack_keyboard_online;
 
+       devman_plugin_interface_exynos.OEM_sys_get_hdmi_support = &OEM_sys_get_hdmi_support;
+
+       /* Torch interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_leds_torch_max_brightness = &OEM_sys_get_leds_torch_max_brightness;
        devman_plugin_interface_exynos.OEM_sys_get_leds_torch_brightness = &OEM_sys_get_leds_torch_brightness;
        devman_plugin_interface_exynos.OEM_sys_set_leds_torch_brightness = &OEM_sys_set_leds_torch_brightness;
 
+       /* Power management interfaces */
        devman_plugin_interface_exynos.OEM_sys_set_power_state = &OEM_sys_set_power_state;
-
-       /* TODO: Should determine enum values of wakeup_count nodes */
        devman_plugin_interface_exynos.OEM_sys_get_power_wakeup_count = &OEM_sys_get_power_wakeup_count;
        devman_plugin_interface_exynos.OEM_sys_set_power_wakeup_count = &OEM_sys_set_power_wakeup_count;
 
+       /* OOM interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_memnotify_node = &OEM_sys_get_memnotify_node;
        devman_plugin_interface_exynos.OEM_sys_get_memnotify_victim_task = &OEM_sys_get_memnotify_victim_task;
        devman_plugin_interface_exynos.OEM_sys_set_memnotify_threshold_lv1 = &OEM_sys_set_memnotify_threshold_lv1;
        devman_plugin_interface_exynos.OEM_sys_set_memnotify_threshold_lv2 = &OEM_sys_set_memnotify_threshold_lv2;
 
+       /* Process monitor interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_process_monitor_node = &OEM_sys_get_process_monitor_node;
        devman_plugin_interface_exynos.OEM_sys_set_process_monitor_mp_pnp = &OEM_sys_set_process_monitor_mp_pnp;
        devman_plugin_interface_exynos.OEM_sys_set_process_monitor_mp_vip = &OEM_sys_set_process_monitor_mp_vip;
 
+       /* UART path interfaces */
        devman_plugin_interface_exynos.OEM_sys_get_cpufreq_cpuinfo_max_freq = &OEM_sys_get_cpufreq_cpuinfo_max_freq;
        devman_plugin_interface_exynos.OEM_sys_get_cpufreq_cpuinfo_min_freq = &OEM_sys_get_cpufreq_cpuinfo_min_freq;
        devman_plugin_interface_exynos.OEM_sys_get_cpufreq_scaling_max_freq = &OEM_sys_get_cpufreq_scaling_max_freq;
@@ -1161,6 +969,7 @@ EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_inte
        devman_plugin_interface_exynos.OEM_sys_get_cpufreq_scaling_min_freq = &OEM_sys_get_cpufreq_scaling_min_freq;
        devman_plugin_interface_exynos.OEM_sys_set_cpufreq_scaling_min_freq = &OEM_sys_set_cpufreq_scaling_min_freq;
 
+       devman_plugin_interface_exynos.OEM_sys_get_backlight_brightness_by_lux = &OEM_sys_get_backlight_brightness_by_lux;
        OEM_sys_display_info(disp_info);
        OEM_sys_muic_node_path_info();