| From b975dc3689fc6a3718ad288ce080924f9cb7e176 Mon Sep 17 00:00:00 2001 |
| From: Mattia Dongili <malattia@linux.it> |
| Date: Tue, 26 Nov 2013 07:43:50 +0900 |
| Subject: sony-laptop: do not scribble keyboard backlight registers on |
| resume |
| |
| From: Mattia Dongili <malattia@linux.it> |
| |
| commit b975dc3689fc6a3718ad288ce080924f9cb7e176 upstream. |
| |
| Follow-up to commit 294d31e8227c ("sony-laptop: don't change keyboard |
| backlight settings"): avoid messing up the state on resume. Leave it to |
| what was before suspending as it's anyway likely that we still don't |
| know what value we should write to the EC registers. This fix is also |
| required in 3.12 |
| |
| Tested-by: Karol Babioch <karol@babioch.de> |
| Signed-off-by: Mattia Dongili <malattia@linux.it> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/platform/x86/sony-laptop.c | 27 --------------------------- |
| 1 file changed, 27 deletions(-) |
| |
| --- a/drivers/platform/x86/sony-laptop.c |
| +++ b/drivers/platform/x86/sony-laptop.c |
| @@ -140,7 +140,6 @@ MODULE_PARM_DESC(kbd_backlight_timeout, |
| "on the model (default: no change from current value)"); |
| |
| #ifdef CONFIG_PM_SLEEP |
| -static void sony_nc_kbd_backlight_resume(void); |
| static void sony_nc_thermal_resume(void); |
| #endif |
| static int sony_nc_kbd_backlight_setup(struct platform_device *pd, |
| @@ -1486,13 +1485,6 @@ static void sony_nc_function_resume(void |
| case 0x0135: |
| sony_nc_rfkill_update(); |
| break; |
| - case 0x0137: |
| - case 0x0143: |
| - case 0x014b: |
| - case 0x014c: |
| - case 0x0163: |
| - sony_nc_kbd_backlight_resume(); |
| - break; |
| default: |
| continue; |
| } |
| @@ -1894,25 +1886,6 @@ static void sony_nc_kbd_backlight_cleanu |
| } |
| } |
| |
| -#ifdef CONFIG_PM_SLEEP |
| -static void sony_nc_kbd_backlight_resume(void) |
| -{ |
| - int ignore = 0; |
| - |
| - if (!kbdbl_ctl) |
| - return; |
| - |
| - if (kbdbl_ctl->mode == 0) |
| - sony_call_snc_handle(kbdbl_ctl->handle, kbdbl_ctl->base, |
| - &ignore); |
| - |
| - if (kbdbl_ctl->timeout != 0) |
| - sony_call_snc_handle(kbdbl_ctl->handle, |
| - (kbdbl_ctl->base + 0x200) | |
| - (kbdbl_ctl->timeout << 0x10), &ignore); |
| -} |
| -#endif |
| - |
| struct battery_care_control { |
| struct device_attribute attrs[2]; |
| unsigned int handle; |