@@ -335,19 +335,29 @@ static int __devexit tps6586x_rtc_remove(struct platform_device *pdev)
static int tps6586x_rtc_suspend(struct platform_device *pdev,
pm_message_t state)
{
+ int ret;
struct tps6586x_rtc *rtc = dev_get_drvdata(&pdev->dev);
- if (device_may_wakeup(pdev))
- enable_irq_wake(rtc->irq);
+ if (device_may_wakeup(&pdev->dev))
+ ret = enable_irq_wake(rtc->irq);
+
+ if (ret)
+ dev_warn(&pdev->dev, "enable irq wakeup failed.\n");
+
return 0;
}
static int tps6586x_rtc_resume(struct platform_device *pdev)
{
+ int ret;
struct tps6586x_rtc *rtc = dev_get_drvdata(&pdev->dev);
- if (device_may_wakeup(pdev))
- disable_irq_wake(rtc->irq);
+ if (device_may_wakeup(&pdev->dev))
+ ret = disable_irq_wake(rtc->irq);
+
+ if (ret)
+ dev_warn(&pdev->dev, "disable irq wakeup failed.\n");
+
return 0;
}