Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

acer-wmi: deactive mail led when power off

This patch deactive mail led when laptop is going to hibernete/suspend
or power off. After resume from hibernate/suspend correctly restore
mail led state.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>

authored by

Pali Rohár and committed by
Matthew Garrett
9a0b74fd 143a4c02

+14
+14
drivers/platform/x86/acer-wmi.c
··· 991 991 992 992 static void acer_led_exit(void) 993 993 { 994 + set_u32(LED_OFF, ACER_CAP_MAILLED); 994 995 led_classdev_unregister(&mail_led); 995 996 } 996 997 ··· 1554 1553 1555 1554 if (has_cap(ACER_CAP_MAILLED)) { 1556 1555 get_u32(&value, ACER_CAP_MAILLED); 1556 + set_u32(LED_OFF, ACER_CAP_MAILLED); 1557 1557 data->mailled = value; 1558 1558 } 1559 1559 ··· 1582 1580 return 0; 1583 1581 } 1584 1582 1583 + static void acer_platform_shutdown(struct platform_device *device) 1584 + { 1585 + struct acer_data *data = &interface->data; 1586 + 1587 + if (!data) 1588 + return; 1589 + 1590 + if (has_cap(ACER_CAP_MAILLED)) 1591 + set_u32(LED_OFF, ACER_CAP_MAILLED); 1592 + } 1593 + 1585 1594 static struct platform_driver acer_platform_driver = { 1586 1595 .driver = { 1587 1596 .name = "acer-wmi", ··· 1602 1589 .remove = acer_platform_remove, 1603 1590 .suspend = acer_platform_suspend, 1604 1591 .resume = acer_platform_resume, 1592 + .shutdown = acer_platform_shutdown, 1605 1593 }; 1606 1594 1607 1595 static struct platform_device *acer_platform_device;