Skip to content

Commit

Permalink
acer-wmi: deactive mail led when power off
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Pali Rohár authored and Matthew Garrett committed Mar 28, 2011
1 parent 143a4c0 commit 9a0b74f
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions drivers/platform/x86/acer-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down Expand Up @@ -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;
}

Expand Down Expand Up @@ -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",
Expand All @@ -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;
Expand Down

0 comments on commit 9a0b74f

Please sign in to comment.