The real-time clock is a 5-byte binary counter. It is incremented 256 times
per second. The least significant byte is a count of fractional seconds.
The upper four bytes are a count of seconds. The realtime clock can
accumulate 136 years of seconds before rolling over.
Signed-off-by: Alexandre Belloni <[email protected]>
Use rtc_add_group to add the sysfs group in a race free manner.
This has the side effect of moving the files to their proper location.
Signed-off-by: Alexandre Belloni <[email protected]>
Since commit 28dc5f8038 ("drivers/rtc/rtc-ep93xx.c: use
dev_get_platdata()"), platform_data is not used directly, it is not
necessary to set it anymore.
Signed-off-by: Alexandre Belloni <[email protected]>
DS3232 RTC has 236 bytes of persistent memory.
Add RTC SRAM read and write access using
the NVMEM Framework.
Signed-off-by: Han Nandor <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
Handling of extended interrupts (kickstart, wake-up, ram-clear) was
moved off to a work queue, but the interrupts aren't acknowledged
in the interrupt handler. This leads to a deadlock, if driver
is used with interrupts. To fix this we use a threaded interrupt, get rid
of the work queue and do locking with just the rtc mutex lock.
Fixes: aaaf5fbf56 ("rtc: add driver for DS1685 family of real time clocks")
Signed-off-by: Thomas Bogendoerfer <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
ds1685_rtc_begin_ctrl_access/ds1685_rtc_end_ctrl_access aren't used,
so get rid of it.
Signed-off-by: Thomas Bogendoerfer <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
sysfs entries added by rtc_add_group are called with the rtc device
as argument and not the underlying device. Fixed by using the dev->parent
Fixes: cfb74916e2 ("rtc: ds1685: use rtc_add_group")
Signed-off-by: Thomas Bogendoerfer <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
With calling dev_pm_set_wake_irq() to set MXC_V2 RTC as wakeup source
for suspend, generic wake irq mechanism will automatically enable
it as wakeup source when suspend, then the suspend/resume callback
which are ONLY for enabling/disabling irq wake can be removed, it
simplifies the code.
Signed-off-by: Anson Huang <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
With calling dev_pm_set_wake_irq() to set MXC RTC as wakeup source
for suspend, generic wake irq mechanism will automatically enable
it as wakeup source when suspend, then the suspend/resume callback
which are ONLY for enabling/disabling irq wake can be removed, it
simplifies the code.
Signed-off-by: Anson Huang <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
The commit 1921cab117 ("rtc: rx8025: Switch to use %ptR") converted
the driver to use new %p extension, but actually used wrong type of
the parameter in one case.
Fix a parameter to %ptR in rx8025_read_alarm().
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
Fix sparse warning:
drivers/rtc/rtc-sirfsoc.c:282:28: warning:
symbol 'sysrtc_regmap_config' was not declared. Should it be static?
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: YueHaibing <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
The ab3100 has a 48bit counter running at 65536 Hz (despite one of the
comment). The max value is then (2^48 - 1)/2^16 == 2^32 - 1.
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
Call the 64bit versions of rtc_tm time conversion now that the range is
enforced by the core.
Acked-by: Thierry Reding <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>