Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752447AbbKYToO (ORCPT ); Wed, 25 Nov 2015 14:44:14 -0500 Received: from proxima.lp0.eu ([81.2.80.65]:58435 "EHLO proxima.lp0.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751270AbbKYToL (ORCPT ); Wed, 25 Nov 2015 14:44:11 -0500 Subject: Re: [PATCH 5/10] watchdog: bcm63xx_wdt: Use WATCHDOG_CORE To: Guenter Roeck References: <5650BFD6.5030700@simon.arlott.org.uk> <5650C08C.6090300@simon.arlott.org.uk> <5650E2FA.6090408@roeck-us.net> <5650E5BB.6020404@simon.arlott.org.uk> <56512937.6030903@roeck-us.net> <5651CB13.4090704@simon.arlott.org.uk> <5651CBF0.30904@simon.arlott.org.uk> <56552099.7070709@roeck-us.net> <726719450643bb69683224d731b582b0df27fe1f@8b5064a13e22126c1b9329f0dc35b8915774b7c3.invalid> <5655C149.5010008@roeck-us.net> Cc: "devicetree@vger.kernel.org" , Ralf Baechle , Thomas Gleixner , Jason Cooper , Marc Zyngier , Kevin Cernekee , Florian Fainelli , Wim Van Sebroeck , Maxime Bizon , Linux Kernel Mailing List , linux-mips@linux-mips.org, linux-watchdog@vger.kernel.org, Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Jonas Gorski From: Simon Arlott Message-ID: <56560F76.60000@simon.arlott.org.uk> Date: Wed, 25 Nov 2015 19:43:50 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <5655C149.5010008@roeck-us.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1445 Lines: 40 On 25/11/15 14:10, Guenter Roeck wrote: > On 11/25/2015 05:02 AM, Simon Arlott wrote: >> 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. >> > > Does unregistering the timer disable the interrupt ? No, it sets the callback for that timer to NULL so that it won't be called. -- Simon Arlott -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/