summaryrefslogtreecommitdiff
path: root/liblight
diff options
context:
space:
mode:
authorHuiWang <huiwan@codeaurora.org>2013-07-31 10:48:36 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2013-08-18 19:20:51 -0700
commitf73bc576b86c1276cfc1dbc230f622af4feb852d (patch)
tree462742c11bf76d7372ddfda4f12e9ee7812c7b99 /liblight
parenta1af059bbac3bb0b55377e3614abc34c7d19bbd1 (diff)
downloaddisplay-f73bc576b86c1276cfc1dbc230f622af4feb852d.tar.gz
BackLight: Add support for button backlight.
Add function call to let framework layer could enable/disable the button backlight. Change-Id: I470ebb8953c5d3fdb72118dbaf06788c2079213e
Diffstat (limited to 'liblight')
-rw-r--r--liblight/lights.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/liblight/lights.c b/liblight/lights.c
index eb71b742..ccfbe102 100644
--- a/liblight/lights.c
+++ b/liblight/lights.c
@@ -51,6 +51,9 @@ char const*const BLUE_LED_FILE
char const*const LCD_FILE
= "/sys/class/leds/lcd-backlight/brightness";
+char const*const BUTTON_FILE
+ = "/sys/class/leds/button-backlight/brightness";
+
char const*const RED_BLINK_FILE
= "/sys/class/leds/red/blink";
@@ -209,6 +212,16 @@ set_light_attention(struct light_device_t* dev,
return 0;
}
+static int
+set_light_buttons(struct light_device_t* dev,
+ struct light_state_t const* state)
+{
+ int err = 0;
+ pthread_mutex_lock(&g_lock);
+ err = write_int(BUTTON_FILE, state->color & 0xFF);
+ pthread_mutex_unlock(&g_lock);
+ return err;
+}
/** Close the lights device */
static int
@@ -238,6 +251,8 @@ static int open_lights(const struct hw_module_t* module, char const* name,
set_light = set_light_backlight;
else if (0 == strcmp(LIGHT_ID_NOTIFICATIONS, name))
set_light = set_light_notifications;
+ else if (0 == strcmp(LIGHT_ID_BUTTONS, name))
+ set_light = set_light_buttons;
else if (0 == strcmp(LIGHT_ID_ATTENTION, name))
set_light = set_light_attention;
else