<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/rtc, branch v3.12.14</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/rtc?h=v3.12.14</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/rtc?h=v3.12.14'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-02-13T21:50:26Z</updated>
<entry>
<title>rtc-cmos: Add an alarm disable quirk</title>
<updated>2014-02-13T21:50:26Z</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@alien8.de</email>
</author>
<published>2013-07-20T17:00:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5c8150ef94837713601532e6db0f31d3de711f1d'/>
<id>urn:sha1:5c8150ef94837713601532e6db0f31d3de711f1d</id>
<content type='text'>
commit d5a1c7e3fc38d9c7d629e1e47f32f863acbdec3d upstream.

41c7f7424259f ("rtc: Disable the alarm in the hardware (v2)") added the
functionality to disable the RTC wake alarm when shutting down the box.

However, there are at least two b0rked BIOSes we know about:

https://bugzilla.novell.com/show_bug.cgi?id=812592
https://bugzilla.novell.com/show_bug.cgi?id=805740

where, when wakeup alarm is enabled in the BIOS, the machine reboots
automatically right after shutdown, regardless of what wakeup time is
programmed.

Bisecting the issue lead to this patch so disable its functionality with
a DMI quirk only for those boxes.

Cc: Brecht Machiels &lt;brecht@mos6581.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Cc: Rabin Vincent &lt;rabin.vincent@stericsson.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
[jstultz: Changed variable name for clarity, added extra dmi entry]
Tested-by: Brecht Machiels &lt;brecht@mos6581.org&gt;
Tested-by: Borislav Petkov &lt;bp@suse.de&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rtc: max8907: weekday encoding fixes</title>
<updated>2014-02-06T19:22:18Z</updated>
<author>
<name>Stephen Warren</name>
<email>swarren@nvidia.com</email>
</author>
<published>2014-01-23T23:55:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=94a99ec83ac3cfb36c33d3583d7f14cbc7c612f4'/>
<id>urn:sha1:94a99ec83ac3cfb36c33d3583d7f14cbc7c612f4</id>
<content type='text'>
commit 75ea799df4cb07e505c91b4abaa87bc28aad3e66 upstream.

The current MAX8907 driver has two issues related to weekday value
handling:

1)

The HW WEEKDAY register has range 0..6 rather than 1..7 as documented.
Note that I validated the actual HW range by observing the HW register
roll from 6-&gt;0 rather than 6-&gt;7-&gt;1 as would otherwise be expected.

This matches Linux's tm_wday range of 0..6.

When the CMOS RAM content is lost, the date returned from the device is
2007-01-01 00:00:00, which is a Monday.  The WEEKDAY register reads 1 in
this case.  This matches the numbering in Linux's tm_wday field.

Hence we should write Linux's tm_wday value to the register without
modifying it.  Hence, remove the +1/-1 calculations for WEEKDAY/tm_wday.

2)

There's no need to make alarms match on the WEEKDAY register, since the
other fields together uniquely define the alarm date/time.  Ignoring the
WEEKDAY value in the match isolates the driver from any incorrect value in
the current time copy of the WEEKDAY register.

Each change individually, or both together, solves an issue that I
observed; "hwclock -r" would time out waiting for its alarm to fire if the
CMOS RAM content had been lost, and hence the WEEKDAY register value
mismatched what the driver expected it to be.  "hwclock -w" would solve
this by over-writing the HW default WEEKDAY register value with what the
driver expected.

Signed-off-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drivers/rtc/rtc-at91rm9200.c: correct alarm over day/month wrap</title>
<updated>2013-12-20T15:48:56Z</updated>
<author>
<name>Linus Pizunski</name>
<email>linus@narrativeteam.com</email>
</author>
<published>2013-12-13T01:12:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1b69f2d75bd32f0d2254538f4fb948a673bd9c08'/>
<id>urn:sha1:1b69f2d75bd32f0d2254538f4fb948a673bd9c08</id>
<content type='text'>
commit eb3c227289840eed95ddfb0516046f08d8993940 upstream.

Update month and day of month to the alarm month/day instead of current
day/month when setting the RTC alarm mask.

Signed-off-by: Linus Pizunski &lt;linus@narrativeteam.com&gt;
Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rtc: simplify devm_request_mem_region/devm_ioremap</title>
<updated>2013-09-11T22:58:59Z</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2013-09-11T21:24:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7c1d69ee11b8986c40a53d8e2238204fc86f5b33'/>
<id>urn:sha1:7c1d69ee11b8986c40a53d8e2238204fc86f5b33</id>
<content type='text'>
Convert the composition of devm_request_mem_region and devm_ioremap to a
single call to devm_ioremap_resource.  The associated call to
platform_get_resource is also simplified and moved next to the new call
to devm_ioremap_resource.

This was done using a combination of the semantic patches
devm_ioremap_resource.cocci and devm_request_and_ioremap.cocci, found in
the scripts/coccinelle/api directory.

In rtc-lpc32xx.c and rtc-mv.c, the local variable size is no longer needed.

In rtc-ds1511.c the size field of the local structure is not useful any
more, and is deleted.

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/rtc/rtc-ds1742.c: report to RTC core if retrieved time is invalid</title>
<updated>2013-09-11T22:58:58Z</updated>
<author>
<name>Alexander Shiyan</name>
<email>shc_work@mail.ru</email>
</author>
<published>2013-09-11T21:24:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1735be4b822e8e3808f461372ff3942824790172'/>
<id>urn:sha1:1735be4b822e8e3808f461372ff3942824790172</id>
<content type='text'>
Let RTC core decide if the retrieved time is invalid, instead of
processing errors in the driver.

Signed-off-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Cc: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/rtc/rtc-ds1742.c: remove unused field "rtc" from private structure</title>
<updated>2013-09-11T22:58:58Z</updated>
<author>
<name>Alexander Shiyan</name>
<email>shc_work@mail.ru</email>
</author>
<published>2013-09-11T21:24:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2cbc21877adf6adc69ca1fbc5fd1edbd7e1e3c59'/>
<id>urn:sha1:2cbc21877adf6adc69ca1fbc5fd1edbd7e1e3c59</id>
<content type='text'>
Private field "rtc" is not used outside "probe", so there is no reason to
keep it.

Signed-off-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Cc: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/rtc/rtc-ds1742.c: use devm_ioremap_resource()</title>
<updated>2013-09-11T22:58:58Z</updated>
<author>
<name>Alexander Shiyan</name>
<email>shc_work@mail.ru</email>
</author>
<published>2013-09-11T21:24:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25e2818e385cf3e3198599307f08e044a7c1be97'/>
<id>urn:sha1:25e2818e385cf3e3198599307f08e044a7c1be97</id>
<content type='text'>
Replace devm_request_mem_region() and devm_ioremap() with
devm_ioremap_resource().

Signed-off-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Cc: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/rtc/rtc-sirfsoc.c: fix kernel warning during wakeup</title>
<updated>2013-09-11T22:58:57Z</updated>
<author>
<name>Xianglong Du</name>
<email>Xianglong.Du@csr.com</email>
</author>
<published>2013-09-11T21:24:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=28984c7d94c27b993d09d4f2a1a2c36bfd26fd23'/>
<id>urn:sha1:28984c7d94c27b993d09d4f2a1a2c36bfd26fd23</id>
<content type='text'>
enable_irq_wake() might fail, if so, we will see kernel warning in resume
entries due to it always calls disable_irq_wake().

  WARNING: at kernel/irq/manage.c:529 irq_set_irq_wake+0xc4/0xf0()
  Unbalanced IRQ 52 wake disable
  Modules linked in: ipv6 libcomposite configfs
  CPU: 0 PID: 1591 Comm: ash Tainted: G        W    3.10.0-00854-gdbd86d4-dirty #100
    (unwind_backtrace+0x0/0xf8) from (show_stack+0x10/0x14)
    (show_stack+0x10/0x14) from (warn_slowpath_common+0x54/0x68)
    (warn_slowpath_common+0x54/0x68) from (warn_slowpath_fmt+0x30/0x40)
    (warn_slowpath_fmt+0x30/0x40) from (irq_set_irq_wake+0xc4/0xf0)
    (irq_set_irq_wake+0xc4/0xf0) from (sirfsoc_rtc_restore+0x30/0x38)
    (sirfsoc_rtc_restore+0x30/0x38) from (platform_pm_restore+0x2c/0x50)
    (platform_pm_restore+0x2c/0x50) from (dpm_run_callback.clone.6+0x30/0xb0)
    (dpm_run_callback.clone.6+0x30/0xb0) from (device_resume+0x88/0x134)
    (device_resume+0x88/0x134) from (dpm_resume+0x114/0x230)
    (dpm_resume+0x114/0x230) from (hibernation_snapshot+0x178/0x1d0)
    (hibernation_snapshot+0x178/0x1d0) from (hibernate+0x130/0x1dc)
    (hibernate+0x130/0x1dc) from (state_store+0xb4/0xc0)
    (state_store+0xb4/0xc0) from (kobj_attr_store+0x14/0x20)
    (kobj_attr_store+0x14/0x20) from (sysfs_write_file+0xfc/0x17c)
    (sysfs_write_file+0xfc/0x17c) from (vfs_write+0xc8/0x194)
    (vfs_write+0xc8/0x194) from (SyS_write+0x40/0x6c)
    (SyS_write+0x40/0x6c) from (ret_fast_syscall+0x0/0x30)

To avoid unbalanced "IRQ wake disable", ensure that disable_irq_wake() is
called only when enable_irq_wake() have been successfully enabled.

Signed-off-by: Xianglong Du &lt;Xianglong.Du@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/rtc/rtc-nuc900.c: use NULL instead of 0</title>
<updated>2013-09-11T22:58:57Z</updated>
<author>
<name>Jingoo Han</name>
<email>jg1.han@samsung.com</email>
</author>
<published>2013-09-11T21:24:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0ebbf4397664d66f3e35503f2f3778a5e6377cbf'/>
<id>urn:sha1:0ebbf4397664d66f3e35503f2f3778a5e6377cbf</id>
<content type='text'>
check_rtc_access_enable() returns pointer, thus NULL should be used
instead of 0 in order to fix the following sparse warning:

  drivers/rtc/rtc-nuc900.c:102:16: warning: Using plain integer as NULL pointer

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/rtc/rtc-max77686.c: Fix wrong register</title>
<updated>2013-09-11T22:58:56Z</updated>
<author>
<name>Sangjung Woo</name>
<email>sangjung.woo@samsung.com</email>
</author>
<published>2013-09-11T21:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1748cbf7f7c464593232cde914f5a103181a83b5'/>
<id>urn:sha1:1748cbf7f7c464593232cde914f5a103181a83b5</id>
<content type='text'>
Fix a read of the wrong register when checking whether the RTC timer has
reached the alarm time.

Signed-off-by: Sangjung Woo &lt;sangjung.woo@samsung.com&gt;
Signed-off-by: Myugnjoo Ham &lt;myungjoo.ham@samsung.com&gt;
Reviewed-by: Jonghwa Lee &lt;jonghwa3.lee@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
