davinci: da8xx/omap-l1: mark RTC as a wakeup source
authorSekhar Nori <nsekhar@ti.com>
Mon, 16 Nov 2009 11:51:31 +0000 (17:21 +0530)
committerKevin Hilman <khilman@deeprootsystems.com>
Wed, 6 Jan 2010 16:57:44 +0000 (08:57 -0800)
On da850, RTC alarm is a wakeup source from deep sleep.
Mark it as a wakeup source after the rtc platform device
is registered.

Without this patch, the rtc-omap driver suspends the RTC
during the suspend sequence and hence it cannot wakeup the
SoC.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-davinci/devices-da8xx.c

index dd2d32c4ce8679fdf5995b8210b294d87b96f10a..a5105f03fd866055de3205a36ae18d8b30cf733c 100644 (file)
@@ -481,11 +481,18 @@ static struct platform_device da8xx_rtc_device = {
 
 int da8xx_register_rtc(void)
 {
+       int ret;
+
        /* Unlock the rtc's registers */
        __raw_writel(0x83e70b13, IO_ADDRESS(DA8XX_RTC_BASE + 0x6c));
        __raw_writel(0x95a4f1e0, IO_ADDRESS(DA8XX_RTC_BASE + 0x70));
 
-       return platform_device_register(&da8xx_rtc_device);
+       ret = platform_device_register(&da8xx_rtc_device);
+       if (!ret)
+               /* Atleast on DA850, RTC is a wakeup source */
+               device_init_wakeup(&da8xx_rtc_device.dev, true);
+
+       return ret;
 }
 
 static struct resource da8xx_cpuidle_resources[] = {