diff -ruwp -x '*.flags' -x '*.depend' -x '*.o' -x Makefile -x pl2303.c celinux-040503.vanilla/drivers/char/minipc-kbd.c cel.new/drivers/char/minipc-kbd.c --- celinux-040503.vanilla/drivers/char/minipc-kbd.c 2008-10-02 10:11:37.000000000 +0200 +++ cel.new/drivers/char/minipc-kbd.c 2008-10-01 17:17:15.000000000 +0200 @@ -374,29 +374,21 @@ scan_kbd (unsigned long dummy) scancode = KEY_RESERVED; //wjx filter the = key break; - case KEY_F5: - if (key_down_flag && !(cur_keys[0] & (1U << 6) && cur_keys[16] & (1U << 6))) // wjx 2008.2.27 change the lcd light (filter Fn + Ctrl + F1 change light ) - { -#if 0 - lcd_pwm_dut = REG_PWM_DUT (0) + 60; - if (lcd_pwm_dut > 300) + case KEY_F4: + if (key_down_flag) { + lcd_pwm_dut = REG_PWM_DUT (0)*2/3 ; + if (lcd_pwm_dut <0) lcd_pwm_dut = 0; __lcd_set_backlight_level (lcd_pwm_dut); -#else - if (REG_PWM_DUT (0) != 0) - { - __lcd_set_backlight_level (0); //wjx close the lcd backlight } - else - { - __lcd_set_backlight_level (300); //wjx open the backlight - } -#endif - fn_f5_flag = 1; - } - else - { - fn_f5_flag = 0; + scancode = KEY_RESERVED; //wjx filter the = key + break; + case KEY_F5: + if (key_down_flag) { + lcd_pwm_dut = (REG_PWM_DUT (0)+1)*3/2; + if (lcd_pwm_dut > 300) + lcd_pwm_dut = 300; + __lcd_set_backlight_level (lcd_pwm_dut); } scancode = KEY_RESERVED; //wjx filter the F5 key break; diff -ruwp -x '*.flags' -x '*.depend' -x '*.o' -x Makefile -x pl2303.c celinux-040503.vanilla/drivers/input/input.c cel.new/drivers/input/input.c --- celinux-040503.vanilla/drivers/input/input.c 2008-10-02 10:11:37.000000000 +0200 +++ cel.new/drivers/input/input.c 2008-09-30 20:37:50.000000000 +0200 @@ -78,9 +78,9 @@ void input_event(struct input_dev *dev, return; #ifdef CONFIG_FB_JZ //wjx - if(REG_PWM_DUT(0) == 0 ) //wjx turn on the backlight if the backlight is off + if((0x80®_PWM_CTR(0)) == 0 ) //wjx turn on the backlight if the backlight is off { - __lcd_set_backlight_level(300); + __lcd_set_backlight_level(-1); // Resume backlight with previous level } #endif diff -ruwp -x '*.flags' -x '*.depend' -x '*.o' -x Makefile -x pl2303.c celinux-040503.vanilla/drivers/video/Jzlcd.h cel.new/drivers/video/Jzlcd.h --- celinux-040503.vanilla/drivers/video/Jzlcd.h 2008-10-02 10:11:39.000000000 +0200 +++ cel.new/drivers/video/Jzlcd.h 2008-09-30 20:33:21.000000000 +0200 @@ -827,13 +827,13 @@ do { \ inline void __lcd_set_backlight_level(int n) { - REG_PWM_DUT(0) = n; + if(n>0) REG_PWM_DUT(0) = n; REG_PWM_PER(0) = 299; if(n) { -// __gpio_as_pwm(); __gpio_as_output(GPIO_PWM0); __gpio_set_pin(GPIO_PWM0); + __gpio_as_pwm(); REG_PWM_CTR(0) = 0xbf; } else