diff options
Diffstat (limited to 'drivers/rtc/rtc-ds3232.c')
-rw-r--r-- | drivers/rtc/rtc-ds3232.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-ds3232.c b/drivers/rtc/rtc-ds3232.c index 60de3a0cc35b..9bb39a06b994 100644 --- a/drivers/rtc/rtc-ds3232.c +++ b/drivers/rtc/rtc-ds3232.c | |||
@@ -363,6 +363,9 @@ static int ds3232_probe(struct device *dev, struct regmap *regmap, int irq, | |||
363 | if (ret) | 363 | if (ret) |
364 | return ret; | 364 | return ret; |
365 | 365 | ||
366 | if (ds3232->irq > 0) | ||
367 | device_init_wakeup(dev, 1); | ||
368 | |||
366 | ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops, | 369 | ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops, |
367 | THIS_MODULE); | 370 | THIS_MODULE); |
368 | if (IS_ERR(ds3232->rtc)) | 371 | if (IS_ERR(ds3232->rtc)) |
@@ -374,10 +377,10 @@ static int ds3232_probe(struct device *dev, struct regmap *regmap, int irq, | |||
374 | IRQF_SHARED | IRQF_ONESHOT, | 377 | IRQF_SHARED | IRQF_ONESHOT, |
375 | name, dev); | 378 | name, dev); |
376 | if (ret) { | 379 | if (ret) { |
380 | device_set_wakeup_capable(dev, 0); | ||
377 | ds3232->irq = 0; | 381 | ds3232->irq = 0; |
378 | dev_err(dev, "unable to request IRQ\n"); | 382 | dev_err(dev, "unable to request IRQ\n"); |
379 | } else | 383 | } |
380 | device_init_wakeup(dev, 1); | ||
381 | } | 384 | } |
382 | 385 | ||
383 | return 0; | 386 | return 0; |