From 10d845eb10e4a7030815c687b13bbd09e905edb8 Mon Sep 17 00:00:00 2001 From: Vic Yang Date: Fri, 15 Mar 2013 01:32:06 +0800 Subject: [PATCH] spring: Fix a bug that yellow LED is not turned off When leaving breathing mode, we should switch yellow LED from lighting engine back to PWM control. BUG=chrome-os-partner:18244 TEST=Check yellow LED leaves breathing mode BRANCH=spring Change-Id: I39260ac9040baaf193ce95eec7941aeb6d97e7e8 Signed-off-by: Vic Yang Reviewed-on: https://gerrit.chromium.org/gerrit/45436 Reviewed-by: Vincent Palatin --- board/spring/board.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/board/spring/board.c b/board/spring/board.c index d32c33080a..774f466814 100644 --- a/board/spring/board.c +++ b/board/spring/board.c @@ -319,22 +319,25 @@ int board_led_breathing(int enabled) { int ret = 0; - if (!enabled) { - return lp5562_engine_control(LP5562_ENG_HOLD, + if (enabled) { + ret |= lp5562_engine_load(LP5562_ENG_SEL_1, + breathing_prog, + sizeof(breathing_prog)); + ret |= lp5562_set_engine(LP5562_ENG_SEL_NONE, + LP5562_ENG_SEL_NONE, + LP5562_ENG_SEL_1); + ret |= lp5562_engine_control(LP5562_ENG_RUN, LP5562_ENG_HOLD, LP5562_ENG_HOLD); + } else { + ret |= lp5562_engine_control(LP5562_ENG_HOLD, + LP5562_ENG_HOLD, + LP5562_ENG_HOLD); + ret |= lp5562_set_engine(LP5562_ENG_SEL_NONE, + LP5562_ENG_SEL_NONE, + LP5562_ENG_SEL_NONE); } - ret |= lp5562_engine_load(LP5562_ENG_SEL_1, - breathing_prog, - sizeof(breathing_prog)); - ret |= lp5562_set_engine(LP5562_ENG_SEL_NONE, - LP5562_ENG_SEL_NONE, - LP5562_ENG_SEL_1); - ret |= lp5562_engine_control(LP5562_ENG_RUN, - LP5562_ENG_HOLD, - LP5562_ENG_HOLD); - return ret; }