Add display_get_state to remove dependency with enlightenment
authorlokilee73 <changjoo.lee@samsung.com>
Tue, 12 Jun 2018 02:02:28 +0000 (11:02 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Tue, 12 Jun 2018 08:02:12 +0000 (17:02 +0900)
Change-Id: Icd681534b54ceda927c8563d7622bade37047755
Signed-off-by: lokilee73 <changjoo.lee@samsung.com>
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
hw/display/display.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 75858fe..3b13a34
 #define BACKLIGHT_PATH  "/sys/class/backlight/panel"
 #endif
 
+#ifndef LCD_PATH
+#define LCD_PATH  "/sys/class/lcd/panel"
+#endif
+
 static int display_get_max_brightness(int *val)
 {
        static int max = -1;
@@ -91,6 +95,32 @@ static int display_set_brightness(int brightness)
        return 0;
 }
 
+static int display_get_state(enum display_state *state)
+{
+       int r, v;
+
+       r = sys_get_int(LCD_PATH"/lcd_power", &v);
+       if (r < 0) {
+               _E("fail to get state (errno:%d)", r);
+               return r;
+       }
+
+       //remap LCD state
+       switch (v) {
+       case 0:
+               *state = DISPLAY_ON;
+               break;
+       case 4:
+               *state = DISPLAY_OFF;
+               break;
+       default:
+               *state = -EINVAL;
+               break;
+       }
+
+       return 0;
+}
+
 static int display_open(struct hw_info *info,
                const char *id, struct hw_common **common)
 {
@@ -107,6 +137,7 @@ static int display_open(struct hw_info *info,
        display_dev->get_max_brightness = display_get_max_brightness;
        display_dev->get_brightness = display_get_brightness;
        display_dev->set_brightness = display_set_brightness;
+       display_dev->get_state = display_get_state;
 
        *common = (struct hw_common *)display_dev;
        return 0;