summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleozwang <leozwang@google.com>2016-03-13 09:58:48 -0700
committerleozwang <leozwang@google.com>2016-03-14 10:43:20 -0700
commit1415654660f3c52e8aa9fab8c2be26d6e9c279c1 (patch)
tree577d8db9a619d586e4c3f21557d9f01d25c968c0
parent5f456e5bc22038d1849d11e58ed099b62724ef4f (diff)
downloadrockchip-1415654660f3c52e8aa9fab8c2be26d6e9c279c1.tar.gz
Add some empty lights functions
Bug: 27381177 Change-Id: Ia8e4bf8394032f7ec6d700e0bfb9281085ce3cd0
-rw-r--r--lights/Android.mk2
-rw-r--r--lights/lights.c28
2 files changed, 28 insertions, 2 deletions
diff --git a/lights/Android.mk b/lights/Android.mk
index 1aea964..1c488d3 100644
--- a/lights/Android.mk
+++ b/lights/Android.mk
@@ -18,7 +18,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := lights.c
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_SHARED_LIBRARIES := liblog
-LOCAL_CFLAGS := $(common_flags) -DLOG_TAG=\"lights\"
+LOCAL_CFLAGS := $(common_flags) -Wno-unused-parameter -DLOG_TAG=\"lights\"
LOCAL_MODULE := lights.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_TAGS := optional
diff --git a/lights/lights.c b/lights/lights.c
index 1bd19f5..3ea4191 100644
--- a/lights/lights.c
+++ b/lights/lights.c
@@ -68,12 +68,29 @@ static int set_light_notifications(struct light_device_t* dev,
if(!dev) {
return -1;
}
+
pthread_mutex_lock(&g_lock);
- err = write_int(LED1_LED_FILE, SET_LIGHT(state->color));
+ switch (state->flashMode) {
+ case LIGHT_FLASH_NONE:
+ err = write_int(LED1_LED_FILE, SET_LIGHT(state->color));
+ break;
+
+ /** Doesn't support flash. */
+ case LIGHT_FLASH_TIMED:
+ default:
+ err = -EINVAL;
+ }
pthread_mutex_unlock(&g_lock);
return err;
}
+/** Not available on Kylin. */
+static int set_light_unavailable(struct light_device_t* dev,
+ struct light_state_t const* state)
+{
+ return -EINVAL;
+}
+
/** Close the lights device */
static int close_lights(struct light_device_t *dev)
{
@@ -99,6 +116,15 @@ static int open_lights(const struct hw_module_t* module, char const* name,
if (0 == strcmp(LIGHT_ID_NOTIFICATIONS, name))
set_light = set_light_notifications;
+ else if (0 == strcmp(LIGHT_ID_ATTENTION, name))
+ set_light = set_light_notifications;
+ else if (0 == strcmp(LIGHT_ID_BUTTONS, name))
+ set_light = set_light_unavailable;
+ else if (0 == strcmp(LIGHT_ID_BLUETOOTH, name))
+ set_light = set_light_unavailable;
+ else if (0 == strcmp(LIGHT_ID_WIFI, name))
+ set_light = set_light_unavailable;
+ else
return -EINVAL;
pthread_once(&g_init, init_globals);