hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/watchdog/moxart_wdt.c
....@@ -91,8 +91,6 @@
9191 {
9292 struct moxart_wdt_dev *moxart_wdt;
9393 struct device *dev = &pdev->dev;
94
- struct device_node *node = dev->of_node;
95
- struct resource *res;
9694 struct clk *clk;
9795 int err;
9896 unsigned int max_timeout;
....@@ -104,12 +102,11 @@
104102
105103 platform_set_drvdata(pdev, moxart_wdt);
106104
107
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
108
- moxart_wdt->base = devm_ioremap_resource(dev, res);
105
+ moxart_wdt->base = devm_platform_ioremap_resource(pdev, 0);
109106 if (IS_ERR(moxart_wdt->base))
110107 return PTR_ERR(moxart_wdt->base);
111108
112
- clk = of_clk_get(node, 0);
109
+ clk = devm_clk_get(dev, NULL);
113110 if (IS_ERR(clk)) {
114111 pr_err("%s: of_clk_get failed\n", __func__);
115112 return PTR_ERR(clk);
....@@ -136,21 +133,13 @@
136133
137134 watchdog_set_drvdata(&moxart_wdt->dev, moxart_wdt);
138135
139
- err = watchdog_register_device(&moxart_wdt->dev);
136
+ watchdog_stop_on_unregister(&moxart_wdt->dev);
137
+ err = devm_watchdog_register_device(dev, &moxart_wdt->dev);
140138 if (err)
141139 return err;
142140
143141 dev_dbg(dev, "Watchdog enabled (heartbeat=%d sec, nowayout=%d)\n",
144142 moxart_wdt->dev.timeout, nowayout);
145
-
146
- return 0;
147
-}
148
-
149
-static int moxart_wdt_remove(struct platform_device *pdev)
150
-{
151
- struct moxart_wdt_dev *moxart_wdt = platform_get_drvdata(pdev);
152
-
153
- moxart_wdt_stop(&moxart_wdt->dev);
154143
155144 return 0;
156145 }
....@@ -163,7 +152,6 @@
163152
164153 static struct platform_driver moxart_wdt_driver = {
165154 .probe = moxart_wdt_probe,
166
- .remove = moxart_wdt_remove,
167155 .driver = {
168156 .name = "moxart-watchdog",
169157 .of_match_table = moxart_watchdog_match,