summaryrefslogtreecommitdiffstats
path: root/drivers/rtc
diff options
context:
space:
mode:
authorLeo Song <liangs@marvell.com>2013-02-22 01:44:24 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-22 02:22:27 +0100
commita44802f8fb7e593adabc6ef53c8df45a1717fa9b (patch)
tree0a9e3b8a26a63c854e770deb6b07b3a2865f5b1f /drivers/rtc
parentdrivers/rtc/rtc-pxa.c: fix alarm not match issue (diff)
downloadlinux-a44802f8fb7e593adabc6ef53c8df45a1717fa9b.tar.xz
linux-a44802f8fb7e593adabc6ef53c8df45a1717fa9b.zip
drivers/rtc/rtc-pxa.c: fix alarm can't wake up system issue
Fix alarm can't wake up system issue Signed-off-by: Leo Song <liangs@marvell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/rtc-pxa.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-pxa.c b/drivers/rtc/rtc-pxa.c
index 2695e556f141..dbc24e948fe8 100644
--- a/drivers/rtc/rtc-pxa.c
+++ b/drivers/rtc/rtc-pxa.c
@@ -309,8 +309,6 @@ static int pxa_rtc_proc(struct device *dev, struct seq_file *seq)
}
static const struct rtc_class_ops pxa_rtc_ops = {
- .open = pxa_rtc_open,
- .release = pxa_rtc_release,
.read_time = pxa_rtc_read_time,
.set_time = pxa_rtc_set_time,
.read_alarm = pxa_rtc_read_alarm,
@@ -350,7 +348,7 @@ static int __init pxa_rtc_probe(struct platform_device *pdev)
dev_err(dev, "No alarm IRQ resource defined\n");
goto err_ress;
}
-
+ pxa_rtc_open(dev);
ret = -ENOMEM;
pxa_rtc->base = ioremap(pxa_rtc->ress->start,
resource_size(pxa_rtc->ress));
@@ -396,6 +394,9 @@ static int __exit pxa_rtc_remove(struct platform_device *pdev)
{
struct pxa_rtc *pxa_rtc = platform_get_drvdata(pdev);
+ struct device *dev = &pdev->dev;
+ pxa_rtc_release(dev);
+
rtc_device_unregister(pxa_rtc->rtc);
spin_lock_irq(&pxa_rtc->lock);