Loading drivers/watchdog/tangox_wdt.c +13 −21 Original line number Diff line number Diff line Loading @@ -15,9 +15,7 @@ #include <linux/kernel.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/notifier.h> #include <linux/platform_device.h> #include <linux/reboot.h> #include <linux/watchdog.h> #define DEFAULT_TIMEOUT 30 Loading Loading @@ -47,7 +45,6 @@ struct tangox_wdt_device { void __iomem *base; unsigned long clk_rate; struct clk *clk; struct notifier_block restart; }; static int tangox_wdt_set_timeout(struct watchdog_device *wdt, Loading Loading @@ -96,24 +93,24 @@ static const struct watchdog_info tangox_wdt_info = { .identity = "tangox watchdog", }; static int tangox_wdt_restart(struct watchdog_device *wdt, unsigned long action, void *data) { struct tangox_wdt_device *dev = watchdog_get_drvdata(wdt); writel(1, dev->base + WD_COUNTER); return 0; } static const struct watchdog_ops tangox_wdt_ops = { .start = tangox_wdt_start, .stop = tangox_wdt_stop, .set_timeout = tangox_wdt_set_timeout, .get_timeleft = tangox_wdt_get_timeleft, .restart = tangox_wdt_restart, }; static int tangox_wdt_restart(struct notifier_block *nb, unsigned long action, void *data) { struct tangox_wdt_device *dev = container_of(nb, struct tangox_wdt_device, restart); writel(1, dev->base + WD_COUNTER); return NOTIFY_DONE; } static int tangox_wdt_probe(struct platform_device *pdev) { struct tangox_wdt_device *dev; Loading Loading @@ -174,18 +171,14 @@ static int tangox_wdt_probe(struct platform_device *pdev) tangox_wdt_start(&dev->wdt); } watchdog_set_restart_priority(&dev->wdt, 128); err = watchdog_register_device(&dev->wdt); if (err) goto err; platform_set_drvdata(pdev, dev); dev->restart.notifier_call = tangox_wdt_restart; dev->restart.priority = 128; err = register_restart_handler(&dev->restart); if (err) dev_warn(&pdev->dev, "failed to register restart handler\n"); dev_info(&pdev->dev, "SMP86xx/SMP87xx watchdog registered\n"); return 0; Loading @@ -202,7 +195,6 @@ static int tangox_wdt_remove(struct platform_device *pdev) tangox_wdt_stop(&dev->wdt); clk_disable_unprepare(dev->clk); unregister_restart_handler(&dev->restart); watchdog_unregister_device(&dev->wdt); return 0; Loading Loading
drivers/watchdog/tangox_wdt.c +13 −21 Original line number Diff line number Diff line Loading @@ -15,9 +15,7 @@ #include <linux/kernel.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/notifier.h> #include <linux/platform_device.h> #include <linux/reboot.h> #include <linux/watchdog.h> #define DEFAULT_TIMEOUT 30 Loading Loading @@ -47,7 +45,6 @@ struct tangox_wdt_device { void __iomem *base; unsigned long clk_rate; struct clk *clk; struct notifier_block restart; }; static int tangox_wdt_set_timeout(struct watchdog_device *wdt, Loading Loading @@ -96,24 +93,24 @@ static const struct watchdog_info tangox_wdt_info = { .identity = "tangox watchdog", }; static int tangox_wdt_restart(struct watchdog_device *wdt, unsigned long action, void *data) { struct tangox_wdt_device *dev = watchdog_get_drvdata(wdt); writel(1, dev->base + WD_COUNTER); return 0; } static const struct watchdog_ops tangox_wdt_ops = { .start = tangox_wdt_start, .stop = tangox_wdt_stop, .set_timeout = tangox_wdt_set_timeout, .get_timeleft = tangox_wdt_get_timeleft, .restart = tangox_wdt_restart, }; static int tangox_wdt_restart(struct notifier_block *nb, unsigned long action, void *data) { struct tangox_wdt_device *dev = container_of(nb, struct tangox_wdt_device, restart); writel(1, dev->base + WD_COUNTER); return NOTIFY_DONE; } static int tangox_wdt_probe(struct platform_device *pdev) { struct tangox_wdt_device *dev; Loading Loading @@ -174,18 +171,14 @@ static int tangox_wdt_probe(struct platform_device *pdev) tangox_wdt_start(&dev->wdt); } watchdog_set_restart_priority(&dev->wdt, 128); err = watchdog_register_device(&dev->wdt); if (err) goto err; platform_set_drvdata(pdev, dev); dev->restart.notifier_call = tangox_wdt_restart; dev->restart.priority = 128; err = register_restart_handler(&dev->restart); if (err) dev_warn(&pdev->dev, "failed to register restart handler\n"); dev_info(&pdev->dev, "SMP86xx/SMP87xx watchdog registered\n"); return 0; Loading @@ -202,7 +195,6 @@ static int tangox_wdt_remove(struct platform_device *pdev) tangox_wdt_stop(&dev->wdt); clk_disable_unprepare(dev->clk); unregister_restart_handler(&dev->restart); watchdog_unregister_device(&dev->wdt); return 0; Loading