Skip to content

Commit

Permalink
Add charger light hal interface
Browse files Browse the repository at this point in the history
Add function set_light_charge to write charger light sysfs file

Change-Id: I3ca133744dca329bc44f010cc7c763346d922fa4
  • Loading branch information
xiaohui.ma authored and tanshi committed Feb 18, 2014
1 parent 97b4038 commit 2cc7123
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions liblight/lights.c
Expand Up @@ -63,6 +63,9 @@ char const*const GREEN_BLINK_FILE
char const*const BLUE_BLINK_FILE
= "/sys/class/leds/blue/blink";

char const*const CHG_LED_FILE
= "/sys/class/leds/charger_light/brightness";

/**
* device methods
*/
Expand Down Expand Up @@ -121,6 +124,18 @@ set_light_backlight(struct light_device_t* dev,
return err;
}

static int
set_light_charge(struct light_device_t* dev,
struct light_state_t const* state)
{
int err = 0;
int brightness = rgb_to_brightness(state);
pthread_mutex_lock(&g_lock);
err = write_int(CHG_LED_FILE, brightness);
pthread_mutex_unlock(&g_lock);
return err;
}

static int
set_speaker_light_locked(struct light_device_t* dev,
struct light_state_t const* state)
Expand Down Expand Up @@ -255,6 +270,8 @@ static int open_lights(const struct hw_module_t* module, char const* name,
set_light = set_light_buttons;
else if (0 == strcmp(LIGHT_ID_ATTENTION, name))
set_light = set_light_attention;
else if (0 == strcmp(LIGHT_ID_BATTERY, name))
set_light = set_light_charge;
else
return -EINVAL;

Expand Down

0 comments on commit 2cc7123

Please sign in to comment.