On 4/8/2019 12:38 PM, Guenter Roeck wrote: > Use device managed functions to simplify error handling, reduce > source code size, improve readability, and reduce the likelyhood of bugs. > Other improvements as listed below. > > The conversion was done automatically with coccinelle using the > following semantic patches. The semantic patches and the scripts > used to generate this commit log are available at > https://github.com/groeck/coccinelle-patches > > - Use local variable 'struct device *dev' consistently > - Use devm_watchdog_register_driver() to register watchdog device > - Replace shutdown function with call to watchdog_stop_on_reboot() > > Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> > Cc: Ray Jui <rjui@xxxxxxxxxxxx> > Cc: Scott Branden <sbranden@xxxxxxxxxxxx> > Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/watchdog/bcm_kona_wdt.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/drivers/watchdog/bcm_kona_wdt.c b/drivers/watchdog/bcm_kona_wdt.c > index d52334ab0805..e2ad44816359 100644 > --- a/drivers/watchdog/bcm_kona_wdt.c > +++ b/drivers/watchdog/bcm_kona_wdt.c > @@ -271,11 +271,6 @@ static struct watchdog_device bcm_kona_wdt_wdd = { > .timeout = SECWDOG_MAX_COUNT >> SECWDOG_DEFAULT_RESOLUTION, > }; > > -static void bcm_kona_wdt_shutdown(struct platform_device *pdev) > -{ > - bcm_kona_wdt_stop(&bcm_kona_wdt_wdd); > -} > - > static int bcm_kona_wdt_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > @@ -301,7 +296,7 @@ static int bcm_kona_wdt_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, wdt); > watchdog_set_drvdata(&bcm_kona_wdt_wdd, wdt); > - bcm_kona_wdt_wdd.parent = &pdev->dev; > + bcm_kona_wdt_wdd.parent = dev; > > ret = bcm_kona_wdt_set_timeout_reg(&bcm_kona_wdt_wdd, 0); > if (ret) { > @@ -309,7 +304,9 @@ static int bcm_kona_wdt_probe(struct platform_device *pdev) > return ret; > } > > - ret = watchdog_register_device(&bcm_kona_wdt_wdd); > + watchdog_stop_on_reboot(&bcm_kona_wdt_wdd); > + watchdog_stop_on_unregister(&bcm_kona_wdt_wdd); > + ret = devm_watchdog_register_device(dev, &bcm_kona_wdt_wdd); > if (ret) { > dev_err(dev, "Failed to register watchdog device"); > return ret; > @@ -324,8 +321,6 @@ static int bcm_kona_wdt_probe(struct platform_device *pdev) > static int bcm_kona_wdt_remove(struct platform_device *pdev) > { > bcm_kona_wdt_debug_exit(pdev); > - bcm_kona_wdt_shutdown(pdev); > - watchdog_unregister_device(&bcm_kona_wdt_wdd); > dev_dbg(&pdev->dev, "Watchdog driver disabled"); > > return 0; > @@ -344,7 +339,6 @@ static struct platform_driver bcm_kona_wdt_driver = { > }, > .probe = bcm_kona_wdt_probe, > .remove = bcm_kona_wdt_remove, > - .shutdown = bcm_kona_wdt_shutdown, > }; > > module_platform_driver(bcm_kona_wdt_driver); > Change looks good to me. Thanks! Reviewed-by: Ray Jui <ray.jui@xxxxxxxxxxxx>