hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/watchdog/tegra_wdt.c
....@@ -181,15 +181,14 @@
181181
182182 static int tegra_wdt_probe(struct platform_device *pdev)
183183 {
184
+ struct device *dev = &pdev->dev;
184185 struct watchdog_device *wdd;
185186 struct tegra_wdt *wdt;
186
- struct resource *res;
187187 void __iomem *regs;
188188 int ret;
189189
190190 /* This is the timer base. */
191
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
192
- regs = devm_ioremap_resource(&pdev->dev, res);
191
+ regs = devm_platform_ioremap_resource(pdev, 0);
193192 if (IS_ERR(regs))
194193 return PTR_ERR(regs);
195194
....@@ -197,7 +196,7 @@
197196 * Allocate our watchdog driver data, which has the
198197 * struct watchdog_device nested within it.
199198 */
200
- wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
199
+ wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL);
201200 if (!wdt)
202201 return -ENOMEM;
203202
....@@ -212,35 +211,21 @@
212211 wdd->ops = &tegra_wdt_ops;
213212 wdd->min_timeout = MIN_WDT_TIMEOUT;
214213 wdd->max_timeout = MAX_WDT_TIMEOUT;
215
- wdd->parent = &pdev->dev;
214
+ wdd->parent = dev;
216215
217216 watchdog_set_drvdata(wdd, wdt);
218217
219218 watchdog_set_nowayout(wdd, nowayout);
220219
221
- ret = devm_watchdog_register_device(&pdev->dev, wdd);
222
- if (ret) {
223
- dev_err(&pdev->dev,
224
- "failed to register watchdog device\n");
220
+ watchdog_stop_on_unregister(wdd);
221
+ ret = devm_watchdog_register_device(dev, wdd);
222
+ if (ret)
225223 return ret;
226
- }
227224
228225 platform_set_drvdata(pdev, wdt);
229226
230
- dev_info(&pdev->dev,
231
- "initialized (heartbeat = %d sec, nowayout = %d)\n",
227
+ dev_info(dev, "initialized (heartbeat = %d sec, nowayout = %d)\n",
232228 heartbeat, nowayout);
233
-
234
- return 0;
235
-}
236
-
237
-static int tegra_wdt_remove(struct platform_device *pdev)
238
-{
239
- struct tegra_wdt *wdt = platform_get_drvdata(pdev);
240
-
241
- tegra_wdt_stop(&wdt->wdd);
242
-
243
- dev_info(&pdev->dev, "removed wdt\n");
244229
245230 return 0;
246231 }
....@@ -280,7 +265,6 @@
280265
281266 static struct platform_driver tegra_wdt_driver = {
282267 .probe = tegra_wdt_probe,
283
- .remove = tegra_wdt_remove,
284268 .driver = {
285269 .name = "tegra-wdt",
286270 .pm = &tegra_wdt_pm_ops,