diff options
author | Hebbar Gururaja <gururaja.hebbar@ti.com> | 2013-07-03 18:08:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:08:00 -0400 |
commit | 1d2e2b65d098c0a321e16b0997eb760439d99500 (patch) | |
tree | 3b208286f4e124b6a5facd69f719f0ca2893699d /drivers/rtc/rtc-omap.c | |
parent | 18cb6368f0b0fc6a28bd49ee547b4f655db97fc3 (diff) |
rtc: omap: restore back (hard-code) wakeup support
rtc-omap driver modules is used both by OMAP1/2, Davinci SoC platforms.
However, rtc wake support on OMAP1 is broken. Hence the
device_init_wakeup() was removed from rtc-omap driver and moved to
platform board files that supported it (DA850/OMAP-L138). [1]
However, recently [2] it was suggested that driver should always do a
device_init_wakeup(dev, true). Platforms that don't want/need
wakeup support can disable it from userspace via:
echo disabled > /sys/devices/.../power/wakeup
Also, with the new DT boot-up, board file doesn't exist and hence there
is no way to have device wakeup support rtc.
The fix for above issues, is to hard code device_init_wakeup() inside
driver and let platforms that don't need this, handle it through the
sysfs power entry.
[1]
https://patchwork.kernel.org/patch/136731/
[2]
http://www.mail-archive.com/davinci-linux-open-source@linux.
davincidsp.com/msg26077.html
Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Acked-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc/rtc-omap.c')
-rw-r--r-- | drivers/rtc/rtc-omap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index 6f6ac033d5d9..c6ffbaec32a4 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c | |||
@@ -421,6 +421,8 @@ static int __init omap_rtc_probe(struct platform_device *pdev) | |||
421 | * is write-only, and always reads as zero...) | 421 | * is write-only, and always reads as zero...) |
422 | */ | 422 | */ |
423 | 423 | ||
424 | device_init_wakeup(&pdev->dev, true); | ||
425 | |||
424 | if (new_ctrl & (u8) OMAP_RTC_CTRL_SPLIT) | 426 | if (new_ctrl & (u8) OMAP_RTC_CTRL_SPLIT) |
425 | pr_info("%s: split power mode\n", pdev->name); | 427 | pr_info("%s: split power mode\n", pdev->name); |
426 | 428 | ||