drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield
authorTony Prisk <linux@prisktech.co.nz>
Fri, 4 Jan 2013 23:35:47 +0000 (15:35 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 5 Jan 2013 00:11:48 +0000 (16:11 -0800)
Control register bitfield for 12H/24H mode is handled incorrectly.
Setting CR_24H actually enables 12H mode.  This patch renames the define
and changes the initialization code to correctly set 24H mode.

Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
Cc: Edgar Toernig <froese@gmx.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-vt8500.c

index fd1418750ac8815a13abbdec5d704a62e823fe78..737addff76631c3de65af8e241a789896a476ba3 100644 (file)
@@ -70,7 +70,7 @@
                                | ALARM_SEC_BIT)
 
 #define VT8500_RTC_CR_ENABLE   (1 << 0)        /* Enable RTC */
-#define VT8500_RTC_CR_24H      (1 << 1)        /* 24h time format */
+#define VT8500_RTC_CR_12H      (1 << 1)        /* 12h time format */
 #define VT8500_RTC_CR_SM_ENABLE        (1 << 2)        /* Enable periodic irqs */
 #define VT8500_RTC_CR_SM_SEC   (1 << 3)        /* 0: 1Hz/60, 1: 1Hz */
 #define VT8500_RTC_CR_CALIB    (1 << 4)        /* Enable calibration */
@@ -247,7 +247,7 @@ static int vt8500_rtc_probe(struct platform_device *pdev)
        }
 
        /* Enable RTC and set it to 24-hour mode */
-       writel(VT8500_RTC_CR_ENABLE | VT8500_RTC_CR_24H,
+       writel(VT8500_RTC_CR_ENABLE,
               vt8500_rtc->regbase + VT8500_RTC_CR);
 
        vt8500_rtc->rtc = rtc_device_register("vt8500-rtc", &pdev->dev,