diff options
Diffstat (limited to 'target/linux/ipq806x/patches-4.4/009-7-watchdog-Drop-pointer-to-watchdog-device-from-struct-watchdog_device.patch')
-rw-r--r-- | target/linux/ipq806x/patches-4.4/009-7-watchdog-Drop-pointer-to-watchdog-device-from-struct-watchdog_device.patch | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/target/linux/ipq806x/patches-4.4/009-7-watchdog-Drop-pointer-to-watchdog-device-from-struct-watchdog_device.patch b/target/linux/ipq806x/patches-4.4/009-7-watchdog-Drop-pointer-to-watchdog-device-from-struct-watchdog_device.patch deleted file mode 100644 index 9640cd4757..0000000000 --- a/target/linux/ipq806x/patches-4.4/009-7-watchdog-Drop-pointer-to-watchdog-device-from-struct-watchdog_device.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 0254e953537c92df3e7d0176f401a211e944fd61 Mon Sep 17 00:00:00 2001 -From: Guenter Roeck <linux@roeck-us.net> -Date: Sun, 3 Jan 2016 15:11:58 -0800 -Subject: watchdog: Drop pointer to watchdog device from struct watchdog_device - -The lifetime of the watchdog device pointer is different from the lifetime -of its character device. Remove it entirely to avoid race conditions. - -Signed-off-by: Guenter Roeck <linux@roeck-us.net> -Signed-off-by: Guenter Roeck <linux@roeck-us.net> -Signed-off-by: Wim Van Sebroeck <wim@iguana.be> ---- - Documentation/watchdog/watchdog-kernel-api.txt | 2 -- - drivers/watchdog/watchdog_core.c | 8 ++++---- - drivers/watchdog/watchdog_dev.c | 9 ++++----- - include/linux/watchdog.h | 2 -- - 4 files changed, 8 insertions(+), 13 deletions(-) - ---- a/Documentation/watchdog/watchdog-kernel-api.txt -+++ b/Documentation/watchdog/watchdog-kernel-api.txt -@@ -44,7 +44,6 @@ The watchdog device structure looks like - - struct watchdog_device { - int id; -- struct device *dev; - struct device *parent; - const struct watchdog_info *info; - const struct watchdog_ops *ops; -@@ -65,7 +64,6 @@ It contains following fields: - /dev/watchdog0 cdev (dynamic major, minor 0) as well as the old - /dev/watchdog miscdev. The id is set automatically when calling - watchdog_register_device. --* dev: device under the watchdog class (created by watchdog_register_device). - * parent: set this to the parent device (or NULL) before calling - watchdog_register_device. - * info: a pointer to a watchdog_info structure. This structure gives some ---- a/drivers/watchdog/watchdog_core.c -+++ b/drivers/watchdog/watchdog_core.c -@@ -249,8 +249,8 @@ static int __watchdog_register_device(st - - ret = register_reboot_notifier(&wdd->reboot_nb); - if (ret) { -- dev_err(wdd->dev, "Cannot register reboot notifier (%d)\n", -- ret); -+ pr_err("watchdog%d: Cannot register reboot notifier (%d)\n", -+ wdd->id, ret); - watchdog_dev_unregister(wdd); - ida_simple_remove(&watchdog_ida, wdd->id); - return ret; -@@ -262,8 +262,8 @@ static int __watchdog_register_device(st - - ret = register_restart_handler(&wdd->restart_nb); - if (ret) -- dev_warn(wdd->dev, "Cannot register restart handler (%d)\n", -- ret); -+ pr_warn("watchog%d: Cannot register restart handler (%d)\n", -+ wdd->id, ret); - } - - return 0; ---- a/drivers/watchdog/watchdog_dev.c -+++ b/drivers/watchdog/watchdog_dev.c -@@ -143,7 +143,8 @@ static int watchdog_stop(struct watchdog - return 0; - - if (test_bit(WDOG_NO_WAY_OUT, &wdd->status)) { -- dev_info(wdd->dev, "nowayout prevents watchdog being stopped!\n"); -+ pr_info("watchdog%d: nowayout prevents watchdog being stopped!\n", -+ wdd->id); - return -EBUSY; - } - -@@ -604,7 +605,7 @@ static int watchdog_release(struct inode - - /* If the watchdog was not stopped, send a keepalive ping */ - if (err < 0) { -- dev_crit(wdd->dev, "watchdog did not stop!\n"); -+ pr_crit("watchdog%d: watchdog did not stop!\n", wdd->id); - watchdog_ping(wdd); - } - -@@ -750,7 +751,6 @@ int watchdog_dev_register(struct watchdo - watchdog_cdev_unregister(wdd); - return PTR_ERR(dev); - } -- wdd->dev = dev; - - return ret; - } -@@ -765,8 +765,7 @@ int watchdog_dev_register(struct watchdo - - void watchdog_dev_unregister(struct watchdog_device *wdd) - { -- device_destroy(&watchdog_class, wdd->dev->devt); -- wdd->dev = NULL; -+ device_destroy(&watchdog_class, wdd->wd_data->cdev.dev); - watchdog_cdev_unregister(wdd); - } - ---- a/include/linux/watchdog.h -+++ b/include/linux/watchdog.h -@@ -55,7 +55,6 @@ struct watchdog_ops { - /** struct watchdog_device - The structure that defines a watchdog device - * - * @id: The watchdog's ID. (Allocated by watchdog_register_device) -- * @dev: The device for our watchdog - * @parent: The parent bus device - * @info: Pointer to a watchdog_info structure. - * @ops: Pointer to the list of watchdog operations. -@@ -82,7 +81,6 @@ struct watchdog_ops { - */ - struct watchdog_device { - int id; -- struct device *dev; - struct device *parent; - const struct watchdog_info *info; - const struct watchdog_ops *ops; |