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@xxxxxxxxx> Tested-by: Pali RohÃr <pali.rohar@xxxxxxxxx> --- a/drivers/platform/x86/acer-wmi.c/acer-wmi.c 2011-01-30 00:28:04.000000000 +0100 +++ b/drivers/platform/x86/acer-wmi.c/acer-wmi.c 2011-01-30 01:30:02.000000000 +0100 @@ -887,6 +887,7 @@ static int __devinit acer_led_init(struc static void acer_led_exit(void) { + set_u32(LED_OFF, ACER_CAP_MAILLED); led_classdev_unregister(&mail_led); } @@ -1166,6 +1167,7 @@ pm_message_t state) if (has_cap(ACER_CAP_MAILLED)) { get_u32(&value, ACER_CAP_MAILLED); + set_u32(LED_OFF, ACER_CAP_MAILLED); data->mailled = value; } @@ -1193,6 +1195,17 @@ static int acer_platform_resume(struct p return 0; } +static void acer_platform_shutdown(struct platform_device *device) +{ + struct acer_data *data = &interface->data; + + if (!data) + return; + + if (has_cap(ACER_CAP_MAILLED)) + set_u32(LED_OFF, ACER_CAP_MAILLED); +} + static struct platform_driver acer_platform_driver = { .driver = { .name = "acer-wmi", @@ -1202,6 +1215,7 @@ static struct platform_driver acer_platf .remove = acer_platform_remove, .suspend = acer_platform_suspend, .resume = acer_platform_resume, + .shutdown = acer_platform_shutdown, }; static struct platform_device *acer_platform_device; -- Pali RohÃr pali.rohar@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html