aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-ds3232.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-ds3232.c')
-rw-r--r--drivers/rtc/rtc-ds3232.c7
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;