diff options
author | Leo Song <liangs@marvell.com> | 2013-02-21 19:44:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 20:22:27 -0500 |
commit | a44802f8fb7e593adabc6ef53c8df45a1717fa9b (patch) | |
tree | 0a9e3b8a26a63c854e770deb6b07b3a2865f5b1f /drivers/rtc | |
parent | c4243de70f7d536d95196b8a31539298bb15238c (diff) |
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.c | 7 |
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) | |||
309 | } | 309 | } |
310 | 310 | ||
311 | static const struct rtc_class_ops pxa_rtc_ops = { | 311 | static const struct rtc_class_ops pxa_rtc_ops = { |
312 | .open = pxa_rtc_open, | ||
313 | .release = pxa_rtc_release, | ||
314 | .read_time = pxa_rtc_read_time, | 312 | .read_time = pxa_rtc_read_time, |
315 | .set_time = pxa_rtc_set_time, | 313 | .set_time = pxa_rtc_set_time, |
316 | .read_alarm = pxa_rtc_read_alarm, | 314 | .read_alarm = pxa_rtc_read_alarm, |
@@ -350,7 +348,7 @@ static int __init pxa_rtc_probe(struct platform_device *pdev) | |||
350 | dev_err(dev, "No alarm IRQ resource defined\n"); | 348 | dev_err(dev, "No alarm IRQ resource defined\n"); |
351 | goto err_ress; | 349 | goto err_ress; |
352 | } | 350 | } |
353 | 351 | pxa_rtc_open(dev); | |
354 | ret = -ENOMEM; | 352 | ret = -ENOMEM; |
355 | pxa_rtc->base = ioremap(pxa_rtc->ress->start, | 353 | pxa_rtc->base = ioremap(pxa_rtc->ress->start, |
356 | resource_size(pxa_rtc->ress)); | 354 | resource_size(pxa_rtc->ress)); |
@@ -396,6 +394,9 @@ static int __exit pxa_rtc_remove(struct platform_device *pdev) | |||
396 | { | 394 | { |
397 | struct pxa_rtc *pxa_rtc = platform_get_drvdata(pdev); | 395 | struct pxa_rtc *pxa_rtc = platform_get_drvdata(pdev); |
398 | 396 | ||
397 | struct device *dev = &pdev->dev; | ||
398 | pxa_rtc_release(dev); | ||
399 | |||
399 | rtc_device_unregister(pxa_rtc->rtc); | 400 | rtc_device_unregister(pxa_rtc->rtc); |
400 | 401 | ||
401 | spin_lock_irq(&pxa_rtc->lock); | 402 | spin_lock_irq(&pxa_rtc->lock); |