mirror of
https://github.com/wessel-novacustom/clevo-keyboard.git
synced 2024-11-15 03:34:01 +01:00
Merge (github) pull request #42 from ashh87/master
Restore state on resume.
This commit is contained in:
commit
4e0c7aa170
|
@ -325,7 +325,7 @@ static ssize_t set_brightness_fs(struct device *child,
|
|||
return size;
|
||||
}
|
||||
|
||||
static void set_enabled(u8 state)
|
||||
static int set_enabled_cmd(u8 state)
|
||||
{
|
||||
u32 cmd = 0xE0000000;
|
||||
TUXEDO_INFO("Set keyboard enabled to: %d\n", state);
|
||||
|
@ -336,7 +336,12 @@ static void set_enabled(u8 state)
|
|||
cmd |= 0x07F001;
|
||||
}
|
||||
|
||||
if (!tuxedo_evaluate_wmi_method(WMI_SUBMETHOD_ID_SET_KB_LEDS, cmd, NULL)) {
|
||||
return tuxedo_evaluate_wmi_method(WMI_SUBMETHOD_ID_SET_KB_LEDS, cmd, NULL);
|
||||
}
|
||||
|
||||
static void set_enabled(u8 state)
|
||||
{
|
||||
if (!set_enabled_cmd(state)) {
|
||||
kbd_led_state.enabled = state;
|
||||
}
|
||||
}
|
||||
|
@ -617,15 +622,33 @@ static int tuxedo_wmi_remove(struct platform_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int tuxedo_wmi_suspend(struct platform_device *dev, pm_message_t state)
|
||||
{
|
||||
// turning the keyboard off prevents default colours showing on resume
|
||||
set_enabled_cmd(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tuxedo_wmi_resume(struct platform_device *dev)
|
||||
{
|
||||
tuxedo_evaluate_wmi_method(WMI_SUBMETHOD_ID_GET_AP, 0, NULL);
|
||||
|
||||
set_color(REGION_LEFT, kbd_led_state.color.left);
|
||||
set_color(REGION_CENTER, kbd_led_state.color.center);
|
||||
set_color(REGION_RIGHT, kbd_led_state.color.right);
|
||||
if (kbd_led_state.has_extra)
|
||||
set_color(REGION_EXTRA, kbd_led_state.color.extra);
|
||||
|
||||
set_blinking_pattern(kbd_led_state.blinking_pattern);
|
||||
set_brightness(kbd_led_state.brightness);
|
||||
set_enabled(kbd_led_state.enabled);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver tuxedo_platform_driver = {
|
||||
.remove = tuxedo_wmi_remove,
|
||||
.suspend = tuxedo_wmi_suspend,
|
||||
.resume = tuxedo_wmi_resume,
|
||||
.driver = {
|
||||
.name = DRIVER_NAME,
|
||||
|
|
Loading…
Reference in a new issue