hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/watchdog/rt2880_wdt.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Ralink RT288x/RT3xxx/MT76xx built-in hardware watchdog timer
34 *
....@@ -5,10 +6,6 @@
56 * Copyright (C) 2013 John Crispin <john@phrozen.org>
67 *
78 * This driver was based on: drivers/watchdog/softdog.c
8
- *
9
- * This program is free software; you can redistribute it and/or modify it
10
- * under the terms of the GNU General Public License version 2 as published
11
- * by the Free Software Foundation.
129 */
1310
1411 #include <linux/clk.h>
....@@ -141,19 +138,18 @@
141138
142139 static int rt288x_wdt_probe(struct platform_device *pdev)
143140 {
144
- struct resource *res;
141
+ struct device *dev = &pdev->dev;
145142 int ret;
146143
147
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
148
- rt288x_wdt_base = devm_ioremap_resource(&pdev->dev, res);
144
+ rt288x_wdt_base = devm_platform_ioremap_resource(pdev, 0);
149145 if (IS_ERR(rt288x_wdt_base))
150146 return PTR_ERR(rt288x_wdt_base);
151147
152
- rt288x_wdt_clk = devm_clk_get(&pdev->dev, NULL);
148
+ rt288x_wdt_clk = devm_clk_get(dev, NULL);
153149 if (IS_ERR(rt288x_wdt_clk))
154150 return PTR_ERR(rt288x_wdt_clk);
155151
156
- rt288x_wdt_reset = devm_reset_control_get_exclusive(&pdev->dev, NULL);
152
+ rt288x_wdt_reset = devm_reset_control_get_exclusive(dev, NULL);
157153 if (!IS_ERR(rt288x_wdt_reset))
158154 reset_control_deassert(rt288x_wdt_reset);
159155
....@@ -161,29 +157,18 @@
161157
162158 rt288x_wdt_dev.bootstatus = rt288x_wdt_bootcause();
163159 rt288x_wdt_dev.max_timeout = (0xfffful / rt288x_wdt_freq);
164
- rt288x_wdt_dev.parent = &pdev->dev;
160
+ rt288x_wdt_dev.parent = dev;
165161
166162 watchdog_init_timeout(&rt288x_wdt_dev, rt288x_wdt_dev.max_timeout,
167
- &pdev->dev);
163
+ dev);
168164 watchdog_set_nowayout(&rt288x_wdt_dev, nowayout);
169165
170
- ret = watchdog_register_device(&rt288x_wdt_dev);
166
+ watchdog_stop_on_reboot(&rt288x_wdt_dev);
167
+ ret = devm_watchdog_register_device(dev, &rt288x_wdt_dev);
171168 if (!ret)
172
- dev_info(&pdev->dev, "Initialized\n");
169
+ dev_info(dev, "Initialized\n");
173170
174171 return 0;
175
-}
176
-
177
-static int rt288x_wdt_remove(struct platform_device *pdev)
178
-{
179
- watchdog_unregister_device(&rt288x_wdt_dev);
180
-
181
- return 0;
182
-}
183
-
184
-static void rt288x_wdt_shutdown(struct platform_device *pdev)
185
-{
186
- rt288x_wdt_stop(&rt288x_wdt_dev);
187172 }
188173
189174 static const struct of_device_id rt288x_wdt_match[] = {
....@@ -194,8 +179,6 @@
194179
195180 static struct platform_driver rt288x_wdt_driver = {
196181 .probe = rt288x_wdt_probe,
197
- .remove = rt288x_wdt_remove,
198
- .shutdown = rt288x_wdt_shutdown,
199182 .driver = {
200183 .name = KBUILD_MODNAME,
201184 .of_match_table = rt288x_wdt_match,