diff options
author | Adam Ward <adam.ward.opensource@diasemi.com> | 2015-04-16 15:45:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-17 09:04:00 -0400 |
commit | ae824c484c85d77e3f272515aafb410bbade13fa (patch) | |
tree | 5df73c406852ff69c14b238046e1b67ad97948b6 /drivers/rtc | |
parent | 03cc1625e1f2e9fc6910af4174c942d56292f556 (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.c | 8 |
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; |