lkml.org 
[lkml]   [2022]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/7] watchdog: imx7ulp_wdt: init wdog when it was active
    Date
    From: Jason Liu <jason.hui.liu@nxp.com>

    Paired with suspend, we can only init wdog again when it was active
    and ping it once to avoid the watchdog timeout after it resumed.

    Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
    Signed-off-by: Alice Guo <alice.guo@nxp.com>
    Reviewed-by: Ye Li <ye.li@nxp.com>
    Reviewed-by: Jacky Bai <ping.bai@nxp.com>
    Tested-by: Jacky Bai <ping.bai@nxp.com>
    ---
    drivers/watchdog/imx7ulp_wdt.c | 13 +++----------
    1 file changed, 3 insertions(+), 10 deletions(-)

    diff --git a/drivers/watchdog/imx7ulp_wdt.c b/drivers/watchdog/imx7ulp_wdt.c
    index 51eaaf24bd8f..58508f69d933 100644
    --- a/drivers/watchdog/imx7ulp_wdt.c
    +++ b/drivers/watchdog/imx7ulp_wdt.c
    @@ -136,13 +136,6 @@ static int imx7ulp_wdt_enable(struct watchdog_device *wdog, bool enable)
    return ret;
    }

    -static bool imx7ulp_wdt_is_enabled(void __iomem *base)
    -{
    - u32 val = readl(base + WDOG_CS);
    -
    - return val & WDOG_CS_EN;
    -}
    -
    static int imx7ulp_wdt_ping(struct watchdog_device *wdog)
    {
    struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
    @@ -382,11 +375,11 @@ static int __maybe_unused imx7ulp_wdt_resume_noirq(struct device *dev)
    if (ret)
    return ret;

    - if (imx7ulp_wdt_is_enabled(imx7ulp_wdt->base))
    + if (watchdog_active(&imx7ulp_wdt->wdd)) {
    imx7ulp_wdt_init(imx7ulp_wdt, timeout);
    -
    - if (watchdog_active(&imx7ulp_wdt->wdd))
    imx7ulp_wdt_start(&imx7ulp_wdt->wdd);
    + imx7ulp_wdt_ping(&imx7ulp_wdt->wdd);
    + }

    return 0;
    }
    --
    2.17.1
    \
     
     \ /
      Last update: 2022-08-16 09:10    [W:2.763 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site