summaryrefslogtreecommitdiffstats
path: root/liblights/lights.c
diff options
context:
space:
mode:
Diffstat (limited to 'liblights/lights.c')
-rw-r--r--liblights/lights.c64
1 files changed, 4 insertions, 60 deletions
diff --git a/liblights/lights.c b/liblights/lights.c
index 14946c5..0b82256 100644
--- a/liblights/lights.c
+++ b/liblights/lights.c
@@ -30,6 +30,7 @@
#include <sys/types.h>
#include <hardware/lights.h>
+#include <liblights/samsung_lights_helper.h>
#include "samsung_lights.h"
@@ -58,63 +59,6 @@ void init_g_lock(void)
pthread_mutex_init(&g_lock, NULL);
}
-static int read_int(char const *path)
-{
- int fd, len;
- int num_bytes = 10;
- char buf[11];
- int retval;
-
- fd = open(path, O_RDONLY);
- if (fd < 0) {
- ALOGE("%s: failed to open %s\n", __func__, path);
- goto fail;
- }
-
- len = read(fd, buf, num_bytes - 1);
- if (len < 0) {
- ALOGE("%s: failed to read from %s\n", __func__, path);
- goto fail;
- }
-
- buf[len] = '\0';
- close(fd);
-
- // no endptr, decimal base
- retval = strtol(buf, NULL, 10);
- return retval == 0 ? -1 : retval;
-
-fail:
- if (fd >= 0)
- close(fd);
- return -1;
-}
-
-static int write_int(char const *path, int value)
-{
- int fd;
- static int already_warned;
-
- already_warned = 0;
-
- ALOGV("write_int: path %s, value %d", path, value);
- fd = open(path, O_RDWR);
-
- if (fd >= 0) {
- char buffer[20];
- int bytes = sprintf(buffer, "%d\n", value);
- int amt = write(fd, buffer, bytes);
- close(fd);
- return amt == -1 ? -errno : 0;
- } else {
- if (already_warned == 0) {
- ALOGE("write_int failed to open %s\n", path);
- already_warned = 1;
- }
- return -errno;
- }
-}
-
static int write_str(char const *path, const char* value)
{
int fd;
@@ -165,7 +109,7 @@ static int set_light_backlight(struct light_device_t *dev __unused,
}
pthread_mutex_lock(&g_lock);
- err = write_int(PANEL_BRIGHTNESS_NODE, brightness);
+ err = set_cur_panel_brightness(brightness);
if (err == 0)
g_backlight.cur_brightness = brightness;
@@ -181,7 +125,7 @@ static int set_light_buttons(struct light_device_t* dev __unused,
pthread_mutex_lock(&g_lock);
- err = write_int(BUTTON_BRIGHTNESS_NODE, on ? 1 : 0);
+ err = set_cur_button_brightness(on ? 1 : 0);
pthread_mutex_unlock(&g_lock);
@@ -359,7 +303,7 @@ static int open_lights(const struct hw_module_t *module, char const *name,
else
return -EINVAL;
- int max_brightness = read_int(PANEL_MAX_BRIGHTNESS_NODE);
+ int max_brightness = get_max_panel_brightness();
if (max_brightness < 0) {
ALOGE("%s: failed to read max panel brightness, fallback to 255!",
__func__);