Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a0b74fd authored by Pali Rohár's avatar Pali Rohár Committed by Matthew Garrett
Browse files

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: default avatarPali Rohár <pali.rohar@gmail.com>
Tested-by: default avatarPali Rohár <pali.rohar@gmail.com>
Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
parent 143a4c02
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -991,6 +991,7 @@ static int __devinit acer_led_init(struct device *dev)

static void acer_led_exit(void)
{
	set_u32(LED_OFF, ACER_CAP_MAILLED);
	led_classdev_unregister(&mail_led);
}

@@ -1553,6 +1554,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;
	}

@@ -1580,6 +1582,17 @@ static int acer_platform_resume(struct platform_device *device)
	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",
@@ -1589,6 +1602,7 @@ static struct platform_driver acer_platform_driver = {
	.remove = acer_platform_remove,
	.suspend = acer_platform_suspend,
	.resume = acer_platform_resume,
	.shutdown = acer_platform_shutdown,
};

static struct platform_device *acer_platform_device;