rtc: rs5c372: r2025: fix check for 'oscillator halted' condition
authorThomas Koeller <thomas.koeller@baslerweb.com>
Wed, 2 Jun 2010 13:53:05 +0000 (15:53 +0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Sat, 21 May 2016 15:07:16 +0000 (17:07 +0200)
The R2025SD chip, according to its data sheet, sets the /XST
bit to zero if the oscillator stops. Hence the check for this
condition was wrong.

Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-rs5c372.c

index aaebe10876e8446fc36839c7512e2555bad8b333..ef86229428fc749b6a84a8993ff6fe50a2a92e3f 100644 (file)
@@ -506,9 +506,9 @@ static int rs5c_oscillator_setup(struct rs5c372 *rs5c372)
        int addr, i, ret = 0;
 
        if (rs5c372->type == rtc_r2025sd) {
-               if (!(rs5c372->regs[RS5C_REG_CTRL2] & R2025_CTRL2_XST))
+               if (rs5c372->regs[RS5C_REG_CTRL2] & R2025_CTRL2_XST)
                        return ret;
-               rs5c372->regs[RS5C_REG_CTRL2] &= ~R2025_CTRL2_XST;
+               rs5c372->regs[RS5C_REG_CTRL2] |= R2025_CTRL2_XST;
        } else {
                if (!(rs5c372->regs[RS5C_REG_CTRL2] & RS5C_CTRL2_XSTP))
                        return ret;