rtc: mpc5121: switch to rtc_time64_to_tm/rtc_tm_to_time64
Call the 64bit versions of rtc_tm time conversion. Link: https://lore.kernel.org/r/20200306074404.58909-4-alexandre.belloni@bootlin.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
3905d1c02d
commit
3d5a49545a
|
@ -111,7 +111,7 @@ static int mpc5121_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
|||
*/
|
||||
now = in_be32(®s->actual_time) + in_be32(®s->target_time);
|
||||
|
||||
rtc_time_to_tm(now, tm);
|
||||
rtc_time64_to_tm(now, tm);
|
||||
|
||||
/*
|
||||
* update second minute hour registers
|
||||
|
@ -126,15 +126,13 @@ static int mpc5121_rtc_set_time(struct device *dev, struct rtc_time *tm)
|
|||
{
|
||||
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
|
||||
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
|
||||
int ret;
|
||||
unsigned long now;
|
||||
|
||||
/*
|
||||
* The actual_time register is read only so we write the offset
|
||||
* between it and linux time to the target_time register.
|
||||
*/
|
||||
ret = rtc_tm_to_time(tm, &now);
|
||||
if (ret == 0)
|
||||
now = rtc_tm_to_time64(tm);
|
||||
out_be32(®s->target_time, now - in_be32(®s->actual_time));
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue