diff --git a/power/Android.mk b/power/Android.mk index 92ffe616..53f60b4e 100644 --- a/power/Android.mk +++ b/power/Android.mk @@ -23,6 +23,7 @@ LOCAL_SRC_FILES := power.c LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := liblog libcutils +LOCAL_STATIC_LIBRARIES := liblights_helper LOCAL_MODULE := power.$(TARGET_BOOTLOADER_BOARD_NAME) LOCAL_MODULE_RELATIVE_PATH := hw diff --git a/power/power.c b/power/power.c index beb27dac..6a24a8eb 100644 --- a/power/power.c +++ b/power/power.c @@ -36,11 +36,10 @@ #include #include +#include #include "samsung_power.h" -#define PANEL_BRIGHTNESS "/sys/class/backlight/panel/brightness" - struct samsung_power_module { struct power_module base; pthread_mutex_t lock; @@ -118,27 +117,6 @@ static void sysfs_write(const char *path, char *s) close(fd); } -static int read_panel_brightness() { - int ret = 0; - int read_status; - // brightness can range from 0 to 255, so max. 3 chars + '\0' - char panel_brightness[4]; - // for strtol - char *dummy; - const int base = 10; - - read_status = sysfs_read(PANEL_BRIGHTNESS, panel_brightness, sizeof(PANEL_BRIGHTNESS)); - if (read_status < 0) { - ALOGE("%s: Failed to read panel brightness from %s!\n", __func__, PANEL_BRIGHTNESS); - return -1; - } - - ret = strtol(panel_brightness, &dummy, base); - ALOGV("%s: Panel brightness is: %d", __func__, ret); - - return ret; -} - /********************************************************** *** POWER FUNCTIONS **********************************************************/ @@ -360,9 +338,10 @@ static void samsung_power_set_interactive(struct power_module *module, int on) ALOGV("power_set_interactive: %d\n", on); + // Get panel backlight brightness from lights HAL // Do not disable any input devices if the screen is on but we are in a non-interactive state if (!on) { - if (read_panel_brightness() > 0) { + if (get_cur_panel_brightness() > 0) { ALOGV("%s: Moving to non-interactive state, but screen is still on," " not disabling input devices\n", __func__); goto out;