aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-4.4/009-3-watchdog-Use-static-struct-class-watchdog_class-instead-of-pointer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/patches-4.4/009-3-watchdog-Use-static-struct-class-watchdog_class-instead-of-pointer.patch')
-rw-r--r--target/linux/ipq806x/patches-4.4/009-3-watchdog-Use-static-struct-class-watchdog_class-instead-of-pointer.patch111
1 files changed, 0 insertions, 111 deletions
diff --git a/target/linux/ipq806x/patches-4.4/009-3-watchdog-Use-static-struct-class-watchdog_class-instead-of-pointer.patch b/target/linux/ipq806x/patches-4.4/009-3-watchdog-Use-static-struct-class-watchdog_class-instead-of-pointer.patch
deleted file mode 100644
index 1906a1f4e5..0000000000
--- a/target/linux/ipq806x/patches-4.4/009-3-watchdog-Use-static-struct-class-watchdog_class-instead-of-pointer.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 906d7a5cfeda508e7361f021605579a00cd82815 Mon Sep 17 00:00:00 2001
-From: Pratyush Anand <panand@redhat.com>
-Date: Thu, 17 Dec 2015 17:53:58 +0530
-Subject: watchdog: Use static struct class watchdog_class in stead of pointer
-
-We need few sysfs attributes to know different status of a watchdog device.
-To do that, we need to associate .dev_groups with watchdog_class. So
-convert it from pointer to static.
-Putting this static struct in watchdog_dev.c, so that static device
-attributes defined in that file can be attached to it.
-
-Signed-off-by: Pratyush Anand <panand@redhat.com>
-Suggested-by: Guenter Roeck <linux@roeck-us.net>
-Reviewed-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>
----
- drivers/watchdog/watchdog_core.c | 15 ++-------------
- drivers/watchdog/watchdog_core.h | 2 +-
- drivers/watchdog/watchdog_dev.c | 26 ++++++++++++++++++++++----
- 3 files changed, 25 insertions(+), 18 deletions(-)
-
---- a/drivers/watchdog/watchdog_core.c
-+++ b/drivers/watchdog/watchdog_core.c
-@@ -370,19 +370,9 @@ static int __init watchdog_deferred_regi
-
- static int __init watchdog_init(void)
- {
-- int err;
--
-- watchdog_class = class_create(THIS_MODULE, "watchdog");
-- if (IS_ERR(watchdog_class)) {
-- pr_err("couldn't create class\n");
-+ watchdog_class = watchdog_dev_init();
-+ if (IS_ERR(watchdog_class))
- return PTR_ERR(watchdog_class);
-- }
--
-- err = watchdog_dev_init();
-- if (err < 0) {
-- class_destroy(watchdog_class);
-- return err;
-- }
-
- watchdog_deferred_registration();
- return 0;
-@@ -391,7 +381,6 @@ static int __init watchdog_init(void)
- static void __exit watchdog_exit(void)
- {
- watchdog_dev_exit();
-- class_destroy(watchdog_class);
- ida_destroy(&watchdog_ida);
- }
-
---- a/drivers/watchdog/watchdog_core.h
-+++ b/drivers/watchdog/watchdog_core.h
-@@ -33,5 +33,5 @@
- */
- extern int watchdog_dev_register(struct watchdog_device *);
- extern int watchdog_dev_unregister(struct watchdog_device *);
--extern int __init watchdog_dev_init(void);
-+extern struct class * __init watchdog_dev_init(void);
- extern void __exit watchdog_dev_exit(void);
---- a/drivers/watchdog/watchdog_dev.c
-+++ b/drivers/watchdog/watchdog_dev.c
-@@ -581,18 +581,35 @@ int watchdog_dev_unregister(struct watch
- return 0;
- }
-
-+static struct class watchdog_class = {
-+ .name = "watchdog",
-+ .owner = THIS_MODULE,
-+};
-+
- /*
- * watchdog_dev_init: init dev part of watchdog core
- *
- * Allocate a range of chardev nodes to use for watchdog devices
- */
-
--int __init watchdog_dev_init(void)
-+struct class * __init watchdog_dev_init(void)
- {
-- int err = alloc_chrdev_region(&watchdog_devt, 0, MAX_DOGS, "watchdog");
-- if (err < 0)
-+ int err;
-+
-+ err = class_register(&watchdog_class);
-+ if (err < 0) {
-+ pr_err("couldn't register class\n");
-+ return ERR_PTR(err);
-+ }
-+
-+ err = alloc_chrdev_region(&watchdog_devt, 0, MAX_DOGS, "watchdog");
-+ if (err < 0) {
- pr_err("watchdog: unable to allocate char dev region\n");
-- return err;
-+ class_unregister(&watchdog_class);
-+ return ERR_PTR(err);
-+ }
-+
-+ return &watchdog_class;
- }
-
- /*
-@@ -604,4 +621,5 @@ int __init watchdog_dev_init(void)
- void __exit watchdog_dev_exit(void)
- {
- unregister_chrdev_region(watchdog_devt, MAX_DOGS);
-+ class_unregister(&watchdog_class);
- }