Messages in this thread | | | Date | Wed, 25 Nov 2015 13:02:10 -0000 | Subject | Re: [PATCH 5/10] watchdog: bcm63xx_wdt: Use WATCHDOG_CORE | From | "Simon Arlott" <> |
| |
On Wed, November 25, 2015 02:44, Guenter Roeck wrote: > The "running" flag should no longer be needed. watchdog_active() > should provide that information.
I'm going to need to keep that because I need to know if it's running in the interrupt handler, and wdd->lock is a mutex.
>> @@ -306,17 +202,18 @@ unregister_timer: >> >> static int bcm63xx_wdt_remove(struct platform_device *pdev) >> { >> - if (!nowayout) >> - bcm63xx_wdt_hw_stop(); >> + struct watchdog_device *wdd = platform_get_drvdata(pdev); >> >> - misc_deregister(&bcm63xx_wdt_miscdev); >> bcm63xx_timer_unregister(TIMER_WDT_ID); >> + watchdog_unregister_device(wdd); > > Shouldn't that come first, before unregistering the timer ?
No, because wdd->dev is used in the interrupt handler. I will have to move registration of the interrupt to after creating the watchdog because it could currently be used before wdd->dev is set.
-- Simon Arlott
| |