diff options
Diffstat (limited to 'drivers/rtc')
| -rw-r--r-- | drivers/rtc/rtc-cmos.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c index 7d5f56edb8ef..4267789ca995 100644 --- a/drivers/rtc/rtc-cmos.c +++ b/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;  | 
