@@ -73,10 +73,8 @@ int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm)
73
73
else if (rtc -> ops -> set_time )
74
74
err = rtc -> ops -> set_time (rtc -> dev .parent , tm );
75
75
else if (rtc -> ops -> set_mmss ) {
76
- unsigned long secs ;
77
- err = rtc_tm_to_time (tm , & secs );
78
- if (err == 0 )
79
- err = rtc -> ops -> set_mmss (rtc -> dev .parent , secs );
76
+ time64_t secs64 = rtc_tm_to_time64 (tm );
77
+ err = rtc -> ops -> set_mmss (rtc -> dev .parent , secs64 );
80
78
} else
81
79
err = - EINVAL ;
82
80
@@ -105,7 +103,7 @@ int rtc_set_mmss(struct rtc_device *rtc, unsigned long secs)
105
103
106
104
err = rtc -> ops -> read_time (rtc -> dev .parent , & old );
107
105
if (err == 0 ) {
108
- rtc_time_to_tm (secs , & new );
106
+ rtc_time64_to_tm (secs , & new );
109
107
110
108
/*
111
109
* avoid writing when we're going to change the day of
@@ -157,7 +155,7 @@ int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
157
155
int err ;
158
156
struct rtc_time before , now ;
159
157
int first_time = 1 ;
160
- unsigned long t_now , t_alm ;
158
+ time64_t t_now , t_alm ;
161
159
enum { none , day , month , year } missing = none ;
162
160
unsigned days ;
163
161
@@ -258,8 +256,8 @@ int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
258
256
}
259
257
260
258
/* with luck, no rollover is needed */
261
- rtc_tm_to_time (& now , & t_now );
262
- rtc_tm_to_time (& alarm -> time , & t_alm );
259
+ t_now = rtc_tm_to_time64 (& now );
260
+ t_alm = rtc_tm_to_time64 (& alarm -> time );
263
261
if (t_now < t_alm )
264
262
goto done ;
265
263
@@ -273,7 +271,7 @@ int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
273
271
case day :
274
272
dev_dbg (& rtc -> dev , "alarm rollover: %s\n" , "day" );
275
273
t_alm += 24 * 60 * 60 ;
276
- rtc_time_to_tm (t_alm , & alarm -> time );
274
+ rtc_time64_to_tm (t_alm , & alarm -> time );
277
275
break ;
278
276
279
277
/* Month rollover ... if it's the 31th, an alarm on the 3rd will
@@ -346,19 +344,19 @@ EXPORT_SYMBOL_GPL(rtc_read_alarm);
346
344
static int __rtc_set_alarm (struct rtc_device * rtc , struct rtc_wkalrm * alarm )
347
345
{
348
346
struct rtc_time tm ;
349
- long now , scheduled ;
347
+ time64_t now , scheduled ;
350
348
int err ;
351
349
352
350
err = rtc_valid_tm (& alarm -> time );
353
351
if (err )
354
352
return err ;
355
- rtc_tm_to_time (& alarm -> time , & scheduled );
353
+ scheduled = rtc_tm_to_time64 (& alarm -> time );
356
354
357
355
/* Make sure we're not setting alarms in the past */
358
356
err = __rtc_read_time (rtc , & tm );
359
357
if (err )
360
358
return err ;
361
- rtc_tm_to_time (& tm , & now );
359
+ now = rtc_tm_to_time64 (& tm );
362
360
if (scheduled <= now )
363
361
return - ETIME ;
364
362
/*
0 commit comments