rtc: omap: add helper to read raw bcd time
Add helper to read raw BCD time that can be used in interrupt context. Signed-off-by: Johan Hovold <johan@kernel.org> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Tony Lindgren <tony@atomide.com> Cc: Benot Cousson <bcousson@baylibre.com> Cc: Lokesh Vutla <lokeshvutla@ti.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Sekhar Nori <nsekhar@ti.com> Cc: Tero Kristo <t-kristo@ti.com> Cc: Keerthy J <j-keerthy@ti.com> Tested-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9291e340fc
commit
cbbe326fa8
|
@ -234,6 +234,15 @@ static void bcd2tm(struct rtc_time *tm)
|
|||
tm->tm_year = bcd2bin(tm->tm_year) + 100;
|
||||
}
|
||||
|
||||
static void omap_rtc_read_time_raw(struct omap_rtc *rtc, struct rtc_time *tm)
|
||||
{
|
||||
tm->tm_sec = rtc_read(rtc, OMAP_RTC_SECONDS_REG);
|
||||
tm->tm_min = rtc_read(rtc, OMAP_RTC_MINUTES_REG);
|
||||
tm->tm_hour = rtc_read(rtc, OMAP_RTC_HOURS_REG);
|
||||
tm->tm_mday = rtc_read(rtc, OMAP_RTC_DAYS_REG);
|
||||
tm->tm_mon = rtc_read(rtc, OMAP_RTC_MONTHS_REG);
|
||||
tm->tm_year = rtc_read(rtc, OMAP_RTC_YEARS_REG);
|
||||
}
|
||||
|
||||
static int omap_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
||||
{
|
||||
|
@ -242,14 +251,7 @@ static int omap_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
|||
/* we don't report wday/yday/isdst ... */
|
||||
local_irq_disable();
|
||||
rtc_wait_not_busy(rtc);
|
||||
|
||||
tm->tm_sec = rtc_read(rtc, OMAP_RTC_SECONDS_REG);
|
||||
tm->tm_min = rtc_read(rtc, OMAP_RTC_MINUTES_REG);
|
||||
tm->tm_hour = rtc_read(rtc, OMAP_RTC_HOURS_REG);
|
||||
tm->tm_mday = rtc_read(rtc, OMAP_RTC_DAYS_REG);
|
||||
tm->tm_mon = rtc_read(rtc, OMAP_RTC_MONTHS_REG);
|
||||
tm->tm_year = rtc_read(rtc, OMAP_RTC_YEARS_REG);
|
||||
|
||||
omap_rtc_read_time_raw(rtc, tm);
|
||||
local_irq_enable();
|
||||
|
||||
bcd2tm(tm);
|
||||
|
|
Loading…
Reference in New Issue