[PATCH] acer-wmi: deactive mail led when power off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux