hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/watchdog/max63xx_wdt.c
....@@ -187,9 +187,7 @@
187187
188188 static int max63xx_mmap_init(struct platform_device *p, struct max63xx_wdt *wdt)
189189 {
190
- struct resource *mem = platform_get_resource(p, IORESOURCE_MEM, 0);
191
-
192
- wdt->base = devm_ioremap_resource(&p->dev, mem);
190
+ wdt->base = devm_platform_ioremap_resource(p, 0);
193191 if (IS_ERR(wdt->base))
194192 return PTR_ERR(wdt->base);
195193
....@@ -202,11 +200,12 @@
202200
203201 static int max63xx_wdt_probe(struct platform_device *pdev)
204202 {
203
+ struct device *dev = &pdev->dev;
205204 struct max63xx_wdt *wdt;
206205 struct max63xx_timeout *table;
207206 int err;
208207
209
- wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
208
+ wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL);
210209 if (!wdt)
211210 return -ENOMEM;
212211
....@@ -217,7 +216,7 @@
217216
218217 wdt->timeout = max63xx_select_timeout(table, heartbeat);
219218 if (!wdt->timeout) {
220
- dev_err(&pdev->dev, "unable to satisfy %ds heartbeat request\n",
219
+ dev_err(dev, "unable to satisfy %ds heartbeat request\n",
221220 heartbeat);
222221 return -EINVAL;
223222 }
....@@ -229,27 +228,19 @@
229228 platform_set_drvdata(pdev, &wdt->wdd);
230229 watchdog_set_drvdata(&wdt->wdd, wdt);
231230
232
- wdt->wdd.parent = &pdev->dev;
231
+ wdt->wdd.parent = dev;
233232 wdt->wdd.timeout = wdt->timeout->twd;
234233 wdt->wdd.info = &max63xx_wdt_info;
235234 wdt->wdd.ops = &max63xx_wdt_ops;
236235
237236 watchdog_set_nowayout(&wdt->wdd, nowayout);
238237
239
- err = watchdog_register_device(&wdt->wdd);
238
+ err = devm_watchdog_register_device(dev, &wdt->wdd);
240239 if (err)
241240 return err;
242241
243
- dev_info(&pdev->dev, "using %ds heartbeat with %ds initial delay\n",
242
+ dev_info(dev, "using %ds heartbeat with %ds initial delay\n",
244243 wdt->timeout->twd, wdt->timeout->tdelay);
245
- return 0;
246
-}
247
-
248
-static int max63xx_wdt_remove(struct platform_device *pdev)
249
-{
250
- struct watchdog_device *wdd = platform_get_drvdata(pdev);
251
-
252
- watchdog_unregister_device(wdd);
253244 return 0;
254245 }
255246
....@@ -266,7 +257,6 @@
266257
267258 static struct platform_driver max63xx_wdt_driver = {
268259 .probe = max63xx_wdt_probe,
269
- .remove = max63xx_wdt_remove,
270260 .id_table = max63xx_id_table,
271261 .driver = {
272262 .name = "max63xx_wdt",