The wakealarm attribute is currently not exposed in the sysfs interface
as the device has not been set as doing wakealarm when device_register
is called. Changing the order of the calls fixes that problem. Interrupts
are cleared in check_rtc_status prior to requesting the interrupt.

Signed-off-by: Phil Reid <[email protected]>
---
 drivers/rtc/rtc-ds3232.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/rtc/rtc-ds3232.c b/drivers/rtc/rtc-ds3232.c
index 60de3a0..ce943d0 100644
--- a/drivers/rtc/rtc-ds3232.c
+++ b/drivers/rtc/rtc-ds3232.c
@@ -363,11 +363,6 @@ static int ds3232_probe(struct device *dev, struct regmap 
*regmap, int irq,
        if (ret)
                return ret;
 
-       ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops,
-                                               THIS_MODULE);
-       if (IS_ERR(ds3232->rtc))
-               return PTR_ERR(ds3232->rtc);
-
        if (ds3232->irq > 0) {
                ret = devm_request_threaded_irq(dev, ds3232->irq, NULL,
                                                ds3232_irq,
@@ -380,6 +375,11 @@ static int ds3232_probe(struct device *dev, struct regmap 
*regmap, int irq,
                        device_init_wakeup(dev, 1);
        }
 
+       ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops,
+               THIS_MODULE);
+       if (IS_ERR(ds3232->rtc))
+               return PTR_ERR(ds3232->rtc);
+
        return 0;
 }
 
-- 
1.8.3.1

-- 
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
--- 
You received this message because you are subscribed to the Google Groups 
"rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to