linux/drivers/rtc
Atsushi Nemoto f20560e862 drivers/rtc/rtc-rs5c348.c: fix hour decoding in 12-hour mode
commit 7dbfb315b2 upstream.

Correct the offset by subtracting 20 from tm_hour before taking the
modulo 12.

[ "Why 20?" I hear you ask. Or at least I did.

  Here's the reason why: RS5C348_BIT_PM is 32, and is - stupidly -
  included in the RS5C348_HOURS_MASK define.  So it's really subtracting
  out that bit to get "hour+12".  But then because it does things modulo
  12, it needs to add the 12 in again afterwards anyway.

  This code is confused.  It would be much clearer if RS5C348_HOURS_MASK
  just didn't include the RS5C348_BIT_PM bit at all, then it wouldn't
  need to do the silly subtract either.

  Whatever. It's all just math, the end result is the same.   - Linus ]

Reported-by: James Nute <newten82@gmail.com>
Tested-by: James Nute <newten82@gmail.com>
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:39 -07:00
..
class.c time: Add timekeeping_inject_sleeptime 2011-04-26 14:01:41 -07:00
hctosys.c
interface.c rtc: Disable the alarm in the hardware (v2) 2012-04-02 09:27:10 -07:00
Kconfig unicore32: move rtc-puv3.c to drivers/rtc directory 2011-06-09 16:15:24 +08:00
Makefile unicore32: move rtc-puv3.c to drivers/rtc directory 2011-06-09 16:15:24 +08:00
rtc-88pm860x.c mfd: Add rtc support to 88pm860x 2011-05-26 19:45:34 +02:00
rtc-ab3100.c
rtc-ab8500.c
rtc-at32ap700x.c
rtc-at91rm9200.c
rtc-at91sam9.c
rtc-au1xxx.c
rtc-bfin.c
rtc-bq32k.c
rtc-bq4802.c
rtc-cmos.c
rtc-coh901331.c rtc: fix coh901331 startup crash 2011-04-20 18:46:56 +02:00
rtc-core.h
rtc-davinci.c rtc: davinci: Initialize drvdata before registering device 2011-05-06 17:41:06 -07:00
rtc-dev.c rtc: Fix ioctl error path return 2011-06-01 19:29:39 -07:00
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c rtc: ds1286: Initialize drvdata before registering device 2011-05-06 17:42:47 -07:00
rtc-ds1302.c
rtc-ds1305.c
rtc-ds1307.c drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338 2011-06-27 18:00:12 -07:00
rtc-ds1374.c
rtc-ds1390.c
rtc-ds1511.c
rtc-ds1553.c
rtc-ds1672.c
rtc-ds1742.c
rtc-ds3232.c
rtc-ds3234.c
rtc-efi.c
rtc-em3027.c rtc: add EM3027 rtc driver 2011-05-26 17:12:33 -07:00
rtc-ep93xx.c rtc: ep93xx: Initialize drvdata before registering device 2011-05-06 17:42:04 -07:00
rtc-fm3130.c
rtc-generic.c
rtc-imxdi.c
rtc-isl1208.c
rtc-isl12022.c
rtc-jz4740.c
rtc-lib.c
rtc-lpc32xx.c
rtc-m41t80.c rtc: m41t80: Workaround broken alarm functionality 2012-01-06 14:13:45 -08:00
rtc-m41t93.c spi/rtc-m41t93: Use spi_get_drvdata() for SPI devices 2011-06-08 14:33:48 -06:00
rtc-m41t94.c
rtc-m48t35.c
rtc-m48t59.c
rtc-m48t86.c
rtc-max6900.c
rtc-max6902.c
rtc-max8925.c rtc: max8925: Initialize drvdata before registering device 2011-05-06 18:02:00 -07:00
rtc-max8998.c rtc: max8998: Initialize drvdata before registering device 2011-05-06 18:02:02 -07:00
rtc-mc13xxx.c rtc: mc13xxx: Don't call rtc_device_register while holding lock 2011-05-06 18:02:07 -07:00
rtc-mpc5121.c
rtc-mrst.c drivers/rtc/rtc-mrst.c: use release_mem_region after request_mem_region 2011-05-26 17:12:33 -07:00
rtc-msm6242.c rtc: msm6242: Initialize drvdata before registering device 2011-05-06 18:02:03 -07:00
rtc-mv.c
rtc-mxc.c drivers/rtc/rtc-mxc.c: fix irq enabled interrupts warning 2012-07-16 08:47:52 -07:00
rtc-nuc900.c
rtc-omap.c
rtc-pcap.c rtc: pcap: Initialize drvdata before registering device 2011-05-06 18:02:04 -07:00
rtc-pcf2123.c
rtc-pcf8563.c
rtc-pcf8583.c
rtc-pcf50633.c drivers/rtc/rtc-pcf50633.c: don't request update IRQ 2011-05-26 17:12:33 -07:00
rtc-pl030.c
rtc-pl031.c drivers/rtc/rtc-pl031.c: configure correct wday for 2000-01-01 2012-06-01 15:12:57 +08:00
rtc-proc.c
rtc-ps3.c
rtc-puv3.c unicore32: move rtc-puv3.c to drivers/rtc directory 2011-06-09 16:15:24 +08:00
rtc-pxa.c
rtc-r9701.c
rtc-rp5c01.c rtc: rp5c01: Initialize drvdata before registering device 2011-05-06 18:02:05 -07:00
rtc-rs5c313.c
rtc-rs5c348.c drivers/rtc/rtc-rs5c348.c: fix hour decoding in 12-hour mode 2012-10-02 09:47:39 -07:00
rtc-rs5c372.c
rtc-rv3029c2.c rtc: add rv3029c2 RTC support 2011-05-26 17:12:33 -07:00
rtc-rx8025.c
rtc-rx8581.c
rtc-s3c.c drivers/rtc/rtc-s3c.c: fixup wake support for rtc 2011-05-11 18:50:44 -07:00
rtc-s35390a.c
rtc-sa1100.c
rtc-sh.c
rtc-spear.c rtc: add support for spear rtc 2011-05-26 17:12:33 -07:00
rtc-starfire.c
rtc-stk17ta8.c
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sysfs.c
rtc-tegra.c drivers/rtc/rtc-tegra.c: properly initialize spinlock 2011-08-04 21:58:32 -07:00
rtc-test.c
rtc-tile.c tile: add an RTC driver for the Tilera hypervisor 2011-05-17 14:44:36 -04:00
rtc-twl.c drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe 2012-10-02 09:47:25 -07:00
rtc-tx4939.c
rtc-v3020.c
rtc-vr41xx.c
rtc-vt8500.c rtc: vt8500: Fix build error & cleanup rtc_class_ops->update_irq_enable() 2011-06-23 16:11:39 -07:00
rtc-wm831x.c rtc: wm831x: Feed the write counter into device_add_randomness() 2012-08-15 12:04:28 -07:00
rtc-wm8350.c
rtc-x1205.c