[U-Boot] [PATCH 2/2 v2] watchdog: cadence: Remove driver specific "timeout-sec" handling
Michal Simek
michal.simek at xilinx.com
Tue Apr 9 10:44:09 UTC 2019
On 08. 04. 19 11:28, Stefan Roese wrote:
> Now that we have a generic DT property "timeout-sec" handling, the
> driver specific implementation can be dropped.
>
> This patch also changes the timeout restriction to the min and max
> values (clipping). Before this patch, the value provided via
> "timeout-sec" was used if the parameter was too high or low. Now
> the driver specific min and max values are used instead.
>
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Michal Simek <michal.simek at xilinx.com>
> ---
> v2:
> - New patch
>
> drivers/watchdog/cdns_wdt.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/watchdog/cdns_wdt.c b/drivers/watchdog/cdns_wdt.c
> index fc85fbcec2..3ba3c8501c 100644
> --- a/drivers/watchdog/cdns_wdt.c
> +++ b/drivers/watchdog/cdns_wdt.c
> @@ -23,7 +23,6 @@ struct cdns_regs {
>
> struct cdns_wdt_priv {
> bool rst;
> - u32 timeout;
> struct cdns_regs *regs;
> };
>
> @@ -142,10 +141,9 @@ static int cdns_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
> return -1;
> }
>
> - if ((timeout < CDNS_WDT_MIN_TIMEOUT) ||
> - (timeout > CDNS_WDT_MAX_TIMEOUT)) {
> - timeout = priv->timeout;
> - }
here should be timeout /= 1000;
because the whole timeout is handled in seconds not miliseconds.
> + /* Restrict timeout to min and max value */
> + timeout = max_t(u64, timeout, CDNS_WDT_MIN_TIMEOUT);
> + timeout = min_t(u64, timeout, CDNS_WDT_MAX_TIMEOUT);
>
> debug("%s: CLK_FREQ %ld, timeout %lld\n", __func__, clk_f, timeout);
>
> @@ -235,12 +233,9 @@ static int cdns_wdt_ofdata_to_platdata(struct udevice *dev)
> if (IS_ERR(priv->regs))
> return PTR_ERR(priv->regs);
>
> - priv->timeout = dev_read_u32_default(dev, "timeout-sec",
> - CDNS_WDT_DEFAULT_TIMEOUT);
> -
> priv->rst = dev_read_bool(dev, "reset-on-timeout");
>
> - debug("%s: timeout %d, reset %d\n", __func__, priv->timeout, priv->rst);
> + debug("%s: reset %d\n", __func__, priv->rst);
>
> return 0;
> }
>
M
More information about the U-Boot
mailing list