diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-03-20 08:32:32 -0400 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-04-04 04:07:08 -0400 |
commit | 43f327fa48480af31678576513458f4a5e66a3f6 (patch) | |
tree | 2729ff334832c7eebd8da569201c32415340223e | |
parent | 9a842a7ebb169c2a8d8b9a3489d8cacfc235f6bf (diff) |
rtc: xgene: switch to rtc_time64_to_tm/rtc_tm_to_time64
Call the 64bit versions of rtc_tm time conversion as the range is enforced
by the core.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r-- | drivers/rtc/rtc-xgene.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/rtc/rtc-xgene.c b/drivers/rtc/rtc-xgene.c index 6f7d7648a9bd..aef338428668 100644 --- a/drivers/rtc/rtc-xgene.c +++ b/drivers/rtc/rtc-xgene.c | |||
@@ -45,7 +45,7 @@ static int xgene_rtc_read_time(struct device *dev, struct rtc_time *tm) | |||
45 | { | 45 | { |
46 | struct xgene_rtc_dev *pdata = dev_get_drvdata(dev); | 46 | struct xgene_rtc_dev *pdata = dev_get_drvdata(dev); |
47 | 47 | ||
48 | rtc_time_to_tm(readl(pdata->csr_base + RTC_CCVR), tm); | 48 | rtc_time64_to_tm(readl(pdata->csr_base + RTC_CCVR), tm); |
49 | return 0; | 49 | return 0; |
50 | } | 50 | } |
51 | 51 | ||
@@ -68,7 +68,7 @@ static int xgene_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
68 | struct xgene_rtc_dev *pdata = dev_get_drvdata(dev); | 68 | struct xgene_rtc_dev *pdata = dev_get_drvdata(dev); |
69 | 69 | ||
70 | /* If possible, CMR should be read here */ | 70 | /* If possible, CMR should be read here */ |
71 | rtc_time_to_tm(0, &alrm->time); | 71 | rtc_time64_to_tm(0, &alrm->time); |
72 | alrm->enabled = readl(pdata->csr_base + RTC_CCR) & RTC_CCR_IE; | 72 | alrm->enabled = readl(pdata->csr_base + RTC_CCR) & RTC_CCR_IE; |
73 | 73 | ||
74 | return 0; | 74 | return 0; |
@@ -102,10 +102,8 @@ static int xgene_rtc_alarm_irq_enabled(struct device *dev) | |||
102 | static int xgene_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) | 102 | static int xgene_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) |
103 | { | 103 | { |
104 | struct xgene_rtc_dev *pdata = dev_get_drvdata(dev); | 104 | struct xgene_rtc_dev *pdata = dev_get_drvdata(dev); |
105 | unsigned long alarm_time; | ||
106 | 105 | ||
107 | rtc_tm_to_time(&alrm->time, &alarm_time); | 106 | writel((u32)rtc_tm_to_time64(&alrm->time), pdata->csr_base + RTC_CMR); |
108 | writel((u32)alarm_time, pdata->csr_base + RTC_CMR); | ||
109 | 107 | ||
110 | xgene_rtc_alarm_irq_enable(dev, alrm->enabled); | 108 | xgene_rtc_alarm_irq_enable(dev, alrm->enabled); |
111 | 109 | ||