| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0 |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * An RTC test device/driver |
|---|
| 3 | 4 | * Copyright (C) 2005 Tower Technologies |
|---|
| 4 | 5 | * Author: Alessandro Zummo <a.zummo@towertech.it> |
|---|
| 5 | | - * |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 7 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 8 | | - * published by the Free Software Foundation. |
|---|
| 9 | 6 | */ |
|---|
| 10 | 7 | |
|---|
| 11 | 8 | #include <linux/module.h> |
|---|
| .. | .. |
|---|
| 73 | 70 | return 0; |
|---|
| 74 | 71 | } |
|---|
| 75 | 72 | |
|---|
| 76 | | -static int test_rtc_set_mmss64(struct device *dev, time64_t secs) |
|---|
| 73 | +static int test_rtc_set_time(struct device *dev, struct rtc_time *tm) |
|---|
| 77 | 74 | { |
|---|
| 78 | 75 | struct rtc_test_data *rtd = dev_get_drvdata(dev); |
|---|
| 79 | 76 | |
|---|
| 80 | | - rtd->offset = secs - ktime_get_real_seconds(); |
|---|
| 77 | + rtd->offset = rtc_tm_to_time64(tm) - ktime_get_real_seconds(); |
|---|
| 81 | 78 | |
|---|
| 82 | 79 | return 0; |
|---|
| 83 | 80 | } |
|---|
| .. | .. |
|---|
| 97 | 94 | |
|---|
| 98 | 95 | static const struct rtc_class_ops test_rtc_ops_noalm = { |
|---|
| 99 | 96 | .read_time = test_rtc_read_time, |
|---|
| 100 | | - .set_mmss64 = test_rtc_set_mmss64, |
|---|
| 97 | + .set_time = test_rtc_set_time, |
|---|
| 101 | 98 | .alarm_irq_enable = test_rtc_alarm_irq_enable, |
|---|
| 102 | 99 | }; |
|---|
| 103 | 100 | |
|---|
| 104 | 101 | static const struct rtc_class_ops test_rtc_ops = { |
|---|
| 105 | 102 | .read_time = test_rtc_read_time, |
|---|
| 103 | + .set_time = test_rtc_set_time, |
|---|
| 106 | 104 | .read_alarm = test_rtc_read_alarm, |
|---|
| 107 | 105 | .set_alarm = test_rtc_set_alarm, |
|---|
| 108 | | - .set_mmss64 = test_rtc_set_mmss64, |
|---|
| 109 | 106 | .alarm_irq_enable = test_rtc_alarm_irq_enable, |
|---|
| 110 | 107 | }; |
|---|
| 111 | 108 | |
|---|
| .. | .. |
|---|
| 136 | 133 | break; |
|---|
| 137 | 134 | default: |
|---|
| 138 | 135 | rtd->rtc->ops = &test_rtc_ops; |
|---|
| 136 | + device_init_wakeup(&plat_dev->dev, 1); |
|---|
| 139 | 137 | } |
|---|
| 140 | 138 | |
|---|
| 141 | 139 | timer_setup(&rtd->alarm, test_rtc_alarm_handler, 0); |
|---|
| .. | .. |
|---|
| 155 | 153 | { |
|---|
| 156 | 154 | int i, err; |
|---|
| 157 | 155 | |
|---|
| 158 | | - if ((err = platform_driver_register(&test_driver))) |
|---|
| 156 | + err = platform_driver_register(&test_driver); |
|---|
| 157 | + if (err) |
|---|
| 159 | 158 | return err; |
|---|
| 160 | 159 | |
|---|
| 161 | 160 | err = -ENOMEM; |
|---|
| .. | .. |
|---|
| 197 | 196 | |
|---|
| 198 | 197 | MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); |
|---|
| 199 | 198 | MODULE_DESCRIPTION("RTC test driver/device"); |
|---|
| 200 | | -MODULE_LICENSE("GPL"); |
|---|
| 199 | +MODULE_LICENSE("GPL v2"); |
|---|
| 201 | 200 | |
|---|
| 202 | 201 | module_init(test_init); |
|---|
| 203 | 202 | module_exit(test_exit); |
|---|