diff options
Diffstat (limited to 'firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c')
-rw-r--r-- | firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c index 7e143fee8e..7b7e8518ec 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | |||
@@ -55,16 +55,9 @@ static enum sc606_states | |||
55 | enum buttonlight_states | 55 | enum buttonlight_states |
56 | { | 56 | { |
57 | BUTTONLIGHT_CONTROL_IDLE, | 57 | BUTTONLIGHT_CONTROL_IDLE, |
58 | |||
59 | /* turn button lights off */ | ||
60 | BUTTONLIGHT_CONTROL_OFF, | 58 | BUTTONLIGHT_CONTROL_OFF, |
61 | |||
62 | /* turns button lights on to setting */ | ||
63 | BUTTONLIGHT_CONTROL_ON, | 59 | BUTTONLIGHT_CONTROL_ON, |
64 | |||
65 | /* buttonlights follow the backlight settings */ | ||
66 | BUTTONLIGHT_CONTROL_FADE, | 60 | BUTTONLIGHT_CONTROL_FADE, |
67 | |||
68 | } buttonlight_control; | 61 | } buttonlight_control; |
69 | 62 | ||
70 | static unsigned short buttonlight_trigger_now; | 63 | static unsigned short buttonlight_trigger_now; |
@@ -134,8 +127,6 @@ void __buttonlight_mode(enum buttonlight_mode mode) | |||
134 | default: | 127 | default: |
135 | return; /* unknown mode */ | 128 | return; /* unknown mode */ |
136 | } | 129 | } |
137 | |||
138 | |||
139 | } | 130 | } |
140 | 131 | ||
141 | /* | 132 | /* |
@@ -162,7 +153,7 @@ static void led_control_service(void) | |||
162 | sc606regCONFval=3; | 153 | sc606regCONFval=3; |
163 | 154 | ||
164 | static bool sc606_changed=true; | 155 | static bool sc606_changed=true; |
165 | 156 | ||
166 | if(sc606_changed==false) | 157 | if(sc606_changed==false) |
167 | { | 158 | { |
168 | switch (backlight_control) | 159 | switch (backlight_control) |
@@ -186,6 +177,12 @@ static void led_control_service(void) | |||
186 | backlight_control = BACKLIGHT_CONTROL_ON; | 177 | backlight_control = BACKLIGHT_CONTROL_ON; |
187 | break; | 178 | break; |
188 | case BACKLIGHT_CONTROL_FADE: | 179 | case BACKLIGHT_CONTROL_FADE: |
180 | /* Was this mode set while the backlight is already on/off? */ | ||
181 | if(backlight_target==sc606regAval) | ||
182 | { | ||
183 | backlight_control = BACKLIGHT_CONTROL_IDLE; | ||
184 | break; | ||
185 | } | ||
189 | sc606_changed=true; | 186 | sc606_changed=true; |
190 | sc606regCONFval |= 0x03; | 187 | sc606regCONFval |= 0x03; |
191 | if(backlight_target>sc606regAval) | 188 | if(backlight_target>sc606regAval) |
@@ -222,6 +219,12 @@ static void led_control_service(void) | |||
222 | buttonlight_control=BUTTONLIGHT_CONTROL_IDLE; | 219 | buttonlight_control=BUTTONLIGHT_CONTROL_IDLE; |
223 | break; | 220 | break; |
224 | case BUTTONLIGHT_CONTROL_FADE: | 221 | case BUTTONLIGHT_CONTROL_FADE: |
222 | /* Was this mode set while the button light is already on/off? */ | ||
223 | if(buttonlight_target==sc606regBval) | ||
224 | { | ||
225 | buttonlight_control=BUTTONLIGHT_CONTROL_IDLE; | ||
226 | break; | ||
227 | } | ||
225 | sc606_changed=true; | 228 | sc606_changed=true; |
226 | sc606regCONFval |= 0x3C; | 229 | sc606regCONFval |= 0x3C; |
227 | if(buttonlight_target>sc606regBval) | 230 | if(buttonlight_target>sc606regBval) |
@@ -275,7 +278,7 @@ static void led_control_service(void) | |||
275 | sc606_control=SC606_CONTROL_A12; | 278 | sc606_control=SC606_CONTROL_A12; |
276 | break; | 279 | break; |
277 | } | 280 | } |
278 | 281 | ||
279 | if(sc606regCONFval&0x03) | 282 | if(sc606regCONFval&0x03) |
280 | lcd_enable(true); | 283 | lcd_enable(true); |
281 | else | 284 | else |