smdk4x12: lights: battery led support

Change-Id: Ida4e7bd998251ec07a9874f695d1fef9f97a1b0c
tirimbino
codeworkx 12 years ago
parent 15b850d507
commit 61bb8c4def
  1. 26
      exynos4/exynos4x12/liblights/lights.c

@ -191,6 +191,30 @@ static int set_light_leds_notifications(struct light_device_t *dev,
return set_light_leds(state, 0); return set_light_leds(state, 0);
} }
static int set_light_battery(struct light_device_t *dev,
struct light_state_t const *state)
{
struct led_config led;
int brightness = rgb_to_brightness(state);
unsigned int colorRGB;
colorRGB = state->color;
if (brightness == 0) {
led.red = 0;
led.green = 0;
led.blue = 0;
snprintf(led.blink, MAX_WRITE_CMD, "0x000000 0 0");
} else {
led.red = (colorRGB >> 16) & 0xFF;
led.green = (colorRGB >> 8) & 0xFF;
led.blue = colorRGB & 0xFF;
snprintf(led.blink, MAX_WRITE_CMD, "0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
}
return write_leds(led);
}
static int set_light_leds_attention(struct light_device_t *dev, static int set_light_leds_attention(struct light_device_t *dev,
struct light_state_t const *state) struct light_state_t const *state)
{ {
@ -209,6 +233,8 @@ static int open_lights(const struct hw_module_t *module, char const *name,
set_light = set_light_leds_notifications; set_light = set_light_leds_notifications;
else if (0 == strcmp(LIGHT_ID_ATTENTION, name)) else if (0 == strcmp(LIGHT_ID_ATTENTION, name))
set_light = set_light_leds_attention; set_light = set_light_leds_attention;
else if (0 == strcmp(LIGHT_ID_BATTERY, name))
set_light = set_light_battery;
else else
return -EINVAL; return -EINVAL;

Loading…
Cancel
Save