Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932872AbbKDPro (ORCPT ); Wed, 4 Nov 2015 10:47:44 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:59833 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932323AbbKDPrm (ORCPT ); Wed, 4 Nov 2015 10:47:42 -0500 Subject: Re: [PATCH v2 2/2] watchdog: imx2_wdt: add set_pretimeout interface To: Robin Gong , , References: <1446531084-15365-1-git-send-email-b38343@freescale.com> <1446531084-15365-2-git-send-email-b38343@freescale.com> CC: , , From: Vladimir Zapolskiy Message-ID: <563A2849.5040707@mentor.com> Date: Wed, 4 Nov 2015 17:46:17 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Icedove/38.1.0 MIME-Version: 1.0 In-Reply-To: <1446531084-15365-2-git-send-email-b38343@freescale.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [137.202.0.76] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1534 Lines: 49 Hi Robin, On 03.11.2015 08:11, Robin Gong wrote: > Enable set_pretimeout interface and trigger the pretimeout interrupt before > watchdog timeout event happen. > > Signed-off-by: Robin Gong > --- [snip] > + > +static irqreturn_t imx2_wdt_isr(int irq, void *dev_id) > +{ > + struct platform_device *pdev = dev_id; > + struct watchdog_device *wdog = platform_get_drvdata(pdev); > + struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog); > + u32 val; > + > + regmap_read(wdev->regmap, IMX2_WDT_WICR, &val); > + if (val & IMX2_WDT_WICR_WTIS) { > + /*clear interrupt status bit*/ > + regmap_write(wdev->regmap, IMX2_WDT_WICR, val); > + panic("pre-timeout:%d, %d Seconds remained\n", wdog->pretimeout, > + wdog->timeout - wdog->pretimeout); I don't think it is a good idea to panic on pretimeout interrupt, for instance pretimeout interrupt may be used for any other purposes - ping watchdog, dump some system information before reboot and so on. In general I am even not completely convinced that the pretimeout interrupt handler should be placed in the driver, it may happen that there are some users outside, who wants to get this interrupt and act according to the event. > + } > + > + return IRQ_HANDLED; > +} > + -- With best wishes, Vladimir -- 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/