power: Get panel backlight brightness from lights helper

Change-Id: I3f28fc4abac947cc4a30d95ba74f45bf24c12c20
tirimbino
Christopher N. Hesse 8 years ago
parent 898e1fe432
commit 1226350ee7
  1. 1
      power/Android.mk
  2. 27
      power/power.c

@ -23,6 +23,7 @@ LOCAL_SRC_FILES := power.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SHARED_LIBRARIES := liblog libcutils LOCAL_SHARED_LIBRARIES := liblog libcutils
LOCAL_STATIC_LIBRARIES := liblights_helper
LOCAL_MODULE := power.$(TARGET_BOOTLOADER_BOARD_NAME) LOCAL_MODULE := power.$(TARGET_BOOTLOADER_BOARD_NAME)
LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_MODULE_RELATIVE_PATH := hw

@ -36,11 +36,10 @@
#include <hardware/hardware.h> #include <hardware/hardware.h>
#include <hardware/power.h> #include <hardware/power.h>
#include <liblights/samsung_lights_helper.h>
#include "samsung_power.h" #include "samsung_power.h"
#define PANEL_BRIGHTNESS "/sys/class/backlight/panel/brightness"
struct samsung_power_module { struct samsung_power_module {
struct power_module base; struct power_module base;
pthread_mutex_t lock; pthread_mutex_t lock;
@ -118,27 +117,6 @@ static void sysfs_write(const char *path, char *s)
close(fd); 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 *** 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); 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 // Do not disable any input devices if the screen is on but we are in a non-interactive state
if (!on) { 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," ALOGV("%s: Moving to non-interactive state, but screen is still on,"
" not disabling input devices\n", __func__); " not disabling input devices\n", __func__);
goto out; goto out;

Loading…
Cancel
Save