Message ID | 1390295561-3466-7-git-send-email-ezequiel.garcia@free-electrons.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jan 21, 2014 at 06:12:32AM -0300, Ezequiel Garcia wrote: > After adding the IRQ request, the BRIDGE_CAUSE bit should be cleared by the > bridge interrupt controller. There's no longer a need to do it in the watchdog > driver, so we can simply remove it. When we talked about this before I pointed out that sequence here is important: - Disable WDT - Clear bridge - Enable WDT Looking at this patch in isolation it looks to me like the clear bridge lines should be replaced with a request_irq (as that does the clear) - is the request_irq in the wrong spot? > @@ -68,9 +66,6 @@ static int orion_wdt_start(struct watchdog_device *wdt_dev) > /* Set watchdog duration */ > writel(wdt_tclk * wdt_dev->timeout, wdt_reg + WDT_VAL); > > - /* Clear watchdog timer interrupt */ > - writel(~WDT_INT_REQ, BRIDGE_CAUSE); > - > /* Enable watchdog timer */ > atomic_io_modify(wdt_reg + TIMER_CTRL, WDT_EN, WDT_EN); > Regards, Jason
diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c index 9c7d695..33e323d 100644 --- a/drivers/watchdog/orion_wdt.c +++ b/drivers/watchdog/orion_wdt.c @@ -25,7 +25,6 @@ #include <linux/clk.h> #include <linux/err.h> #include <linux/of.h> -#include <mach/bridge-regs.h> /* * Watchdog timer block registers. @@ -39,7 +38,6 @@ #define WDT_OK_TO_CLOSE 1 #define WDT_RESET_OUT_EN BIT(1) -#define WDT_INT_REQ BIT(3) static bool nowayout = WATCHDOG_NOWAYOUT; static int heartbeat = -1; /* module parameter (seconds) */ @@ -68,9 +66,6 @@ static int orion_wdt_start(struct watchdog_device *wdt_dev) /* Set watchdog duration */ writel(wdt_tclk * wdt_dev->timeout, wdt_reg + WDT_VAL); - /* Clear watchdog timer interrupt */ - writel(~WDT_INT_REQ, BRIDGE_CAUSE); - /* Enable watchdog timer */ atomic_io_modify(wdt_reg + TIMER_CTRL, WDT_EN, WDT_EN);
After adding the IRQ request, the BRIDGE_CAUSE bit should be cleared by the bridge interrupt controller. There's no longer a need to do it in the watchdog driver, so we can simply remove it. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> --- drivers/watchdog/orion_wdt.c | 5 ----- 1 file changed, 5 deletions(-)