From: Andrew Jeffery <andrew@aj.id.au>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH v2 1/4] watchdog: aspeed: Retain watchdog enabled state
Date: Wed, 20 Sep 2017 15:00:17 +0930 [thread overview]
Message-ID: <20170920053020.6860-2-andrew@aj.id.au> (raw)
In-Reply-To: <20170920053020.6860-1-andrew@aj.id.au>
An unintended post-condition of probe() is that the watchdog is
disabled. This behaviour was introduced by an unnecessary write to the
control register to configure the hardware based on the devicetree. The
write is unnecessary because the cached control value that is
manipulated by the code parsing the devicetree is eventually written by
aspeed_wdt_enable(), which is when we care how the control register
should be configured.
Remove the write to restore expected behaviour.
Fixes: b7f0b8ad25f3 ("drivers/watchdog: ASPEED reference dev tree properties for config")
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
---
drivers/watchdog/aspeed_wdt.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/watchdog/aspeed_wdt.c b/drivers/watchdog/aspeed_wdt.c
index 79cc766cd30f..6c6dd3f4c48d 100644
--- a/drivers/watchdog/aspeed_wdt.c
+++ b/drivers/watchdog/aspeed_wdt.c
@@ -243,9 +243,13 @@ static int aspeed_wdt_probe(struct platform_device *pdev)
if (of_property_read_bool(np, "aspeed,external-signal"))
wdt->ctrl |= WDT_CTRL_WDT_EXT;
- writel(wdt->ctrl, wdt->base + WDT_CTRL);
-
if (readl(wdt->base + WDT_CTRL) & WDT_CTRL_ENABLE) {
+ /*
+ * The watchdog is running, but invoke aspeed_wdt_start() to
+ * write wdt->ctrl to WDT_CTRL to ensure the watchdog's
+ * configuration conforms to the driver's expectations.
+ * Primarily, ensure we're using the 1MHz clock source.
+ */
aspeed_wdt_start(&wdt->wdd);
set_bit(WDOG_HW_RUNNING, &wdt->wdd.status);
}
--
2.11.0
next prev parent reply other threads:[~2017-09-20 5:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-20 5:30 [PATCH v2 0/4] watchdog: aspeed: Retain enabled state and move to arch_initcall Andrew Jeffery
2017-09-20 5:30 ` Andrew Jeffery [this message]
2017-09-20 6:07 ` [PATCH v2 1/4] watchdog: aspeed: Retain watchdog enabled state Joel Stanley
2017-10-22 16:09 ` [v2,1/4] " Guenter Roeck
2017-09-20 5:30 ` [PATCH v2 2/4] watchdog: aspeed: Fix 'Apseed' typo in Kconfig Andrew Jeffery
2017-09-20 6:07 ` Joel Stanley
2017-09-20 5:30 ` [PATCH v2 3/4] watchdog: aspeed: Remove specific reference to AST2400 " Andrew Jeffery
2017-09-20 6:08 ` Joel Stanley
2017-09-20 5:30 ` [PATCH v2 4/4] watchdog: aspeed: Move init to arch_initcall Andrew Jeffery
2017-09-20 6:13 ` Joel Stanley
2017-10-17 11:35 ` Andrew Jeffery
2017-10-22 16:22 ` Guenter Roeck
2017-10-22 16:13 ` [v2,4/4] " Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170920053020.6860-2-andrew@aj.id.au \
--to=andrew@aj.id.au \
--cc=linux-aspeed@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox