From d47f43107c295e57c38a75b2c4551deedc40a9c5 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Fri, 18 May 2012 22:59:41 +0200 Subject: [PATCH] --- yaml --- r: 310433 b: refs/heads/master c: b2201e5482bc2376ea5c049442850a260142ac40 h: refs/heads/master i: 310431: 466e51a8430db59b1aa972712468f691e2377921 v: v3 --- [refs] | 2 +- trunk/drivers/rtc/rtc-cmos.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index cd4837faf156..4a2e6d791424 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c10d7a13846bffa5c77f1122500b687ab902e2d2 +refs/heads/master: b2201e5482bc2376ea5c049442850a260142ac40 diff --git a/trunk/drivers/rtc/rtc-cmos.c b/trunk/drivers/rtc/rtc-cmos.c index 7d5f56edb8ef..4267789ca995 100644 --- a/trunk/drivers/rtc/rtc-cmos.c +++ b/trunk/drivers/rtc/rtc-cmos.c @@ -910,14 +910,17 @@ static inline int cmos_poweroff(struct device *dev) static u32 rtc_handler(void *context) { + struct device *dev = context; + + pm_wakeup_event(dev, 0); acpi_clear_event(ACPI_EVENT_RTC); acpi_disable_event(ACPI_EVENT_RTC, 0); return ACPI_INTERRUPT_HANDLED; } -static inline void rtc_wake_setup(void) +static inline void rtc_wake_setup(struct device *dev) { - acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, NULL); + acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev); /* * After the RTC handler is installed, the Fixed_RTC event should * be disabled. Only when the RTC alarm is set will it be enabled. @@ -950,7 +953,7 @@ cmos_wake_setup(struct device *dev) if (acpi_disabled) return; - rtc_wake_setup(); + rtc_wake_setup(dev); acpi_rtc_info.wake_on = rtc_wake_on; acpi_rtc_info.wake_off = rtc_wake_off;