aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc
diff options
context:
space:
mode:
authorAdam Ward <adam.ward.opensource@diasemi.com>2015-04-16 15:45:29 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-17 09:04:00 -0400
commitae824c484c85d77e3f272515aafb410bbade13fa (patch)
tree5df73c406852ff69c14b238046e1b67ad97948b6 /drivers/rtc
parent03cc1625e1f2e9fc6910af4174c942d56292f556 (diff)
drivers/rtc/rtc-da9052.c: add constraints to set valid year
Signed-off-by: Adam Ward <adam.ward.opensource@diasemi.com> Tested-by: Adam Ward <adam.ward.opensource@diasemi.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/rtc-da9052.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c
index ead02fad2de5..acc3e5a1f61a 100644
--- a/drivers/rtc/rtc-da9052.c
+++ b/drivers/rtc/rtc-da9052.c
@@ -206,6 +206,10 @@ static int da9052_rtc_set_time(struct device *dev, struct rtc_time *tm)
206 uint8_t v[6]; 206 uint8_t v[6];
207 int ret; 207 int ret;
208 208
209 /* DA9052 only has 6 bits for year - to represent 2000-2063 */
210 if ((tm->tm_year < 100) || (tm->tm_year > 163))
211 return -EINVAL;
212
209 rtc = dev_get_drvdata(dev); 213 rtc = dev_get_drvdata(dev);
210 214
211 v[0] = tm->tm_sec; 215 v[0] = tm->tm_sec;
@@ -243,6 +247,10 @@ static int da9052_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
243 struct rtc_time *tm = &alrm->time; 247 struct rtc_time *tm = &alrm->time;
244 struct da9052_rtc *rtc = dev_get_drvdata(dev); 248 struct da9052_rtc *rtc = dev_get_drvdata(dev);
245 249
250 /* DA9052 only has 6 bits for year - to represent 2000-2063 */
251 if ((tm->tm_year < 100) || (tm->tm_year > 163))
252 return -EINVAL;
253
246 ret = da9052_rtc_enable_alarm(rtc, 0); 254 ret = da9052_rtc_enable_alarm(rtc, 0);
247 if (ret < 0) 255 if (ret < 0)
248 return ret; 256 return ret;