summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c
diff options
context:
space:
mode:
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.c8
1 files changed, 6 insertions, 2 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 913deab371..076c06b0d8 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c
@@ -28,9 +28,10 @@
28#define BUTTONLIGHT_MENU (SC606_LED_B1) 28#define BUTTONLIGHT_MENU (SC606_LED_B1)
29#define BUTTONLIGHT_ALL (SC606_LED_B1 | SC606_LED_B2 | SC606_LED_C1 | SC606_LED_C2) 29#define BUTTONLIGHT_ALL (SC606_LED_B1 | SC606_LED_B2 | SC606_LED_C1 | SC606_LED_C2)
30 30
31static const int log_brightness[12] = {0,1,2,3,5,7,10,15,22,31,44,63};
32
31#ifndef BOOTLOADER 33#ifndef BOOTLOADER
32static void led_control_service(void); 34static void led_control_service(void);
33const int log_brightness[12] = {0,1,2,3,5,7,10,15,22,31,44,63};
34 35
35static enum sc606_states 36static enum sc606_states
36{ 37{
@@ -390,8 +391,11 @@ void _buttonlight_off(void)
390 391
391void _buttonlight_set_brightness(int brightness) 392void _buttonlight_set_brightness(int brightness)
392{ 393{
394 /* clamp the brightness value */
395 brightness = MAX(1, MIN(12, brightness));
396 /* stop the interrupt from messing us up */
393 buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; 397 buttonlight_control = BUTTONLIGHT_CONTROL_IDLE;
394 buttonlight_brightness = brightness; 398 buttonlight_brightness = log_brightness[brightness - 1];
395 buttonlight_control = BUTTONLIGHT_CONTROL_SET; 399 buttonlight_control = BUTTONLIGHT_CONTROL_SET;
396} 400}
397 401