return 0;
 }
 
-static int test_rtc_set_mmss64(struct device *dev, time64_t secs)
+static int test_rtc_set_time(struct device *dev, struct rtc_time *tm)
 {
        struct rtc_test_data *rtd = dev_get_drvdata(dev);
 
-       rtd->offset = secs - ktime_get_real_seconds();
+       rtd->offset = rtc_tm_to_time64(tm) - ktime_get_real_seconds();
 
        return 0;
 }
 
 static const struct rtc_class_ops test_rtc_ops_noalm = {
        .read_time = test_rtc_read_time,
-       .set_mmss64 = test_rtc_set_mmss64,
+       .set_time = test_rtc_set_time,
        .alarm_irq_enable = test_rtc_alarm_irq_enable,
 };
 
 static const struct rtc_class_ops test_rtc_ops = {
        .read_time = test_rtc_read_time,
+       .set_time = test_rtc_set_time,
        .read_alarm = test_rtc_read_alarm,
        .set_alarm = test_rtc_set_alarm,
-       .set_mmss64 = test_rtc_set_mmss64,
        .alarm_irq_enable = test_rtc_alarm_irq_enable,
 };