Message ID | 20180320213626.14208-1-wsa+renesas@sang-engineering.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
On Tue, Mar 20, 2018 at 10:36:26PM +0100, Wolfram Sang wrote: > From: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > > This patch adds the WDIOF_CARDRESET support for the Renessas platform > watchdog, to know if the board reboot is due to a watchdog reset. > > This is done via the WOVF bit (bit 4) of the RWTCSRA register, which > indicates if RWTCNT overflowed, triggering the reset in last boot. > > Signed-off-by: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > [takeshi.kihara.df: changed to read the RWTCSRA register while clock is > enabled] > Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Guenetr Roeck <linux@roeck-us.net> > --- > drivers/watchdog/renesas_wdt.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/watchdog/renesas_wdt.c b/drivers/watchdog/renesas_wdt.c > index 6b8c6ddfe30b31..514db5cc159511 100644 > --- a/drivers/watchdog/renesas_wdt.c > +++ b/drivers/watchdog/renesas_wdt.c > @@ -121,7 +121,8 @@ static int rwdt_restart(struct watchdog_device *wdev, unsigned long action, > } > > static const struct watchdog_info rwdt_ident = { > - .options = WDIOF_MAGICCLOSE | WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT, > + .options = WDIOF_MAGICCLOSE | WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT | > + WDIOF_CARDRESET, > .identity = "Renesas WDT Watchdog", > }; > > @@ -197,9 +198,10 @@ static int rwdt_probe(struct platform_device *pdev) > return PTR_ERR(clk); > > pm_runtime_enable(&pdev->dev); > - > pm_runtime_get_sync(&pdev->dev); > priv->clk_rate = clk_get_rate(clk); > + priv->wdev.bootstatus = (readb_relaxed(priv->base + RWTCSRA) & > + RWTCSRA_WOVF) ? WDIOF_CARDRESET : 0; > pm_runtime_put(&pdev->dev); > > if (!priv->clk_rate) { > -- > 2.11.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Wolfram, On 03/20/2018 11:36 PM, Wolfram Sang wrote: > From: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > > This patch adds the WDIOF_CARDRESET support for the Renessas platform typo, s/Renessas/Renesas/ > watchdog, to know if the board reboot is due to a watchdog reset. > > This is done via the WOVF bit (bit 4) of the RWTCSRA register, which > indicates if RWTCNT overflowed, triggering the reset in last boot. > > Signed-off-by: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > [takeshi.kihara.df: changed to read the RWTCSRA register while clock is > enabled] > Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Vladimir Zapolskiy <vz@mleia.com> -- With best wishes, Vladimir
On Wed, Mar 21, 2018 at 01:40:55AM +0200, Vladimir Zapolskiy wrote: > Hi Wolfram, > > On 03/20/2018 11:36 PM, Wolfram Sang wrote: > > From: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > > > > This patch adds the WDIOF_CARDRESET support for the Renessas platform > > typo, s/Renessas/Renesas/ Ooops, thanks!
On Tue, Mar 20, 2018 at 10:36 PM, Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > From: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > > This patch adds the WDIOF_CARDRESET support for the Renessas platform > watchdog, to know if the board reboot is due to a watchdog reset. > > This is done via the WOVF bit (bit 4) of the RWTCSRA register, which > indicates if RWTCNT overflowed, triggering the reset in last boot. > > Signed-off-by: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com> > [takeshi.kihara.df: changed to read the RWTCSRA register while clock is > enabled] > Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert
> Reviewed-by: Guenetr Roeck <linux@roeck-us.net>
Guenter, how about a keyboard macro to avoid such typos? ;)
Fixed it in v2.
diff --git a/drivers/watchdog/renesas_wdt.c b/drivers/watchdog/renesas_wdt.c index 6b8c6ddfe30b31..514db5cc159511 100644 --- a/drivers/watchdog/renesas_wdt.c +++ b/drivers/watchdog/renesas_wdt.c @@ -121,7 +121,8 @@ static int rwdt_restart(struct watchdog_device *wdev, unsigned long action, } static const struct watchdog_info rwdt_ident = { - .options = WDIOF_MAGICCLOSE | WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT, + .options = WDIOF_MAGICCLOSE | WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT | + WDIOF_CARDRESET, .identity = "Renesas WDT Watchdog", }; @@ -197,9 +198,10 @@ static int rwdt_probe(struct platform_device *pdev) return PTR_ERR(clk); pm_runtime_enable(&pdev->dev); - pm_runtime_get_sync(&pdev->dev); priv->clk_rate = clk_get_rate(clk); + priv->wdev.bootstatus = (readb_relaxed(priv->base + RWTCSRA) & + RWTCSRA_WOVF) ? WDIOF_CARDRESET : 0; pm_runtime_put(&pdev->dev); if (!priv->clk_rate) {