diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-04-26 11:05:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-04-26 11:05:36 -0700 |
commit | c01c0716ccf5db2086d9693033472f37de96a699 (patch) | |
tree | 330fbb4c8a386073a25fb17ee29be15e21266ab3 /drivers/watchdog | |
parent | 8e3a3249502d8ff92d73d827fb41dd44c5a16f76 (diff) | |
parent | a943d76352dbb4707a5e5537bbe696c00f5ddd36 (diff) | |
download | linux-c01c0716ccf5db2086d9693033472f37de96a699.tar.gz linux-c01c0716ccf5db2086d9693033472f37de96a699.tar.bz2 linux-c01c0716ccf5db2086d9693033472f37de96a699.zip |
Merge tag 'driver-core-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg KH:
"Here is the "big" set of driver core changes for 5.13-rc1.
Nothing major, just lots of little core changes and cleanups, notable
things are:
- finally set 'fw_devlink=on' by default.
All reported issues with this have been shaken out over the past 9
months or so, but we will be paying attention to any fallout here
in case we need to revert this as the default boot value (symptoms
of problems are a simple lack of booting)
- fixes found to be needed by fw_devlink=on value in some subsystems
(like clock).
- delayed work initialization cleanup
- driver core cleanups and minor updates
- software node cleanups and tweaks
- devtmpfs cleanups
- minor debugfs cleanups
All of these have been in linux-next for a while with no reported
issues"
* tag 'driver-core-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (53 commits)
devm-helpers: Fix devm_delayed_work_autocancel() kerneldoc
PM / wakeup: use dev_set_name() directly
software node: Allow node addition to already existing device
kunit: software node: adhear to KUNIT formatting standard
node: fix device cleanups in error handling code
kobject_uevent: remove warning in init_uevent_argv()
debugfs: Make debugfs_allow RO after init
Revert "driver core: platform: Make platform_get_irq_optional() optional"
media: ipu3-cio2: Switch to use SOFTWARE_NODE_REFERENCE()
software node: Introduce SOFTWARE_NODE_REFERENCE() helper macro
software node: Imply kobj_to_swnode() to be no-op
software node: Deduplicate code in fwnode_create_software_node()
software node: Introduce software_node_alloc()/software_node_free()
software node: Free resources explicitly when swnode_register() fails
debugfs: drop pointless nul-termination in debugfs_read_file_bool()
driver core: add helper for deferred probe reason setting
driver core: Improve fw_devlink & deferred_probe_timeout interaction
of: property: fw_devlink: Add support for remote-endpoint
driver core: platform: Make platform_get_irq_optional() optional
driver core: Replace printf() specifier and drop unneeded casting
...
Diffstat (limited to 'drivers/watchdog')
-rw-r--r-- | drivers/watchdog/retu_wdt.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/drivers/watchdog/retu_wdt.c b/drivers/watchdog/retu_wdt.c index 258dfcf9cbda..2b9017e1cd91 100644 --- a/drivers/watchdog/retu_wdt.c +++ b/drivers/watchdog/retu_wdt.c @@ -8,6 +8,7 @@ * Rewritten by Aaro Koskinen. */ +#include <linux/devm-helpers.h> #include <linux/slab.h> #include <linux/errno.h> #include <linux/device.h> @@ -127,9 +128,12 @@ static int retu_wdt_probe(struct platform_device *pdev) wdev->rdev = rdev; wdev->dev = &pdev->dev; - INIT_DELAYED_WORK(&wdev->ping_work, retu_wdt_ping_work); + ret = devm_delayed_work_autocancel(&pdev->dev, &wdev->ping_work, + retu_wdt_ping_work); + if (ret) + return ret; - ret = watchdog_register_device(retu_wdt); + ret = devm_watchdog_register_device(&pdev->dev, retu_wdt); if (ret < 0) return ret; @@ -138,25 +142,11 @@ static int retu_wdt_probe(struct platform_device *pdev) else retu_wdt_ping_enable(wdev); - platform_set_drvdata(pdev, retu_wdt); - - return 0; -} - -static int retu_wdt_remove(struct platform_device *pdev) -{ - struct watchdog_device *wdog = platform_get_drvdata(pdev); - struct retu_wdt_dev *wdev = watchdog_get_drvdata(wdog); - - watchdog_unregister_device(wdog); - cancel_delayed_work_sync(&wdev->ping_work); - return 0; } static struct platform_driver retu_wdt_driver = { .probe = retu_wdt_probe, - .remove = retu_wdt_remove, .driver = { .name = "retu-wdt", }, |