Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4675576pxj; Tue, 22 Jun 2021 05:45:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxstyIkeIq6jOg705SyCGMcdZj2THaymA04XQnATxtkaikr5wfu/GH0T+jHhihzSIQ1p/uS X-Received: by 2002:a05:6e02:1aa9:: with SMTP id l9mr2496442ilv.210.1624365938752; Tue, 22 Jun 2021 05:45:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624365938; cv=none; d=google.com; s=arc-20160816; b=NVqLSijWMm/LGnNHUQ2qnOxg58J5ftZy9YTdP24KkAHltT0p7NLHAXmSrtVV1rIgqP b9x6OcApGpPEnAAMP5Y37jgCy6I7taysATNKrimeZE9eWG9mznptKioGkvyiWNlvp+32 yUp9jRoEf7gUZXjFgz2/SdBtPzKJZIHgdvmqo7ZxTiy/FlFuSv0KB42OoUVP5NxclUXm KaCeicUIgb7IC/YWkLq8Q5NuXe8rPD4hAZvPU4AqpQucNXhJuSNFm74BO3FypenX+YtU qWhAQGlGtqvv+vgNwO/24GtsrCZKPhk/ITO2taK0N3L6+wTtMTXAjftE6k5OJThaWZlK oSIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:organization :from:references:cc:to:subject:dkim-signature; bh=IWa3yvDMZC05F09Gb0TJwUqbgaqCJLtXoPOpUHqNy40=; b=bDYiPZ327KurnNcGKw+SYoFHO5fv4M7b1ME0Lkhc1yJPb5QXl53ervGqxZsMYE2SMS glPBnI/u0V9BjvVshEa0rPIlDQDS2Fe+Nq0D8px8C06JzNHCdP8TnLwMNn1whGYZi+IP Qxu0IugbMIzTVy/a8rGAvvJhnSglGtJdTooGKsKRFqQb267Zkc9FhAZL5IX0pfGH10rD PQRiirZ+jSza2QIZXMOhNkaWwZInwKhIWAEsZVv+nTlgSicHVmcpzAVdy2LvhHT1gEQp I+Ol1CG7pOjExjApoQm+0Gqyyto7P8PCfV4eyYKITYh8VskUDZI/nqYAzfeP7GD7gw+O hzyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=HIImoI6q; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d5si15229932ilr.23.2021.06.22.05.45.26; Tue, 22 Jun 2021 05:45:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=HIImoI6q; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231766AbhFVMqF (ORCPT + 99 others); Tue, 22 Jun 2021 08:46:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231760AbhFVMqE (ORCPT ); Tue, 22 Jun 2021 08:46:04 -0400 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06929C061574 for ; Tue, 22 Jun 2021 05:43:49 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id l18-20020a1ced120000b029014c1adff1edso1655271wmh.4 for ; Tue, 22 Jun 2021 05:43:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=IWa3yvDMZC05F09Gb0TJwUqbgaqCJLtXoPOpUHqNy40=; b=HIImoI6qMkUOuMDOIfq/jhmSoNcFXAmToJNHbsufhKclBs5xgHEnnOOELPRwTvhbOD VGcrS0iSnncjUBPRUPCzW8VXUVo3VPyeqQH2WcXv7uWsaHfjt6DBXYXVlky5ME0XbhiW paEkYrxZk094FkBS2Wqkc5US86GnxzUJaj8wr0ATVa6Gc1wgC1wjisOCaIBdIeKFhaDW h+d6BeC4Ebo+XqYmQGQ5FyayvodsGiLbwrtOb3Nl5VB/jFq5R2FjJxWYCIQLzd3VrRK6 FdZuOINbex9KtjIegfbcb3xW5hzoSHANtmujLhsTdltypEBwM5MqocIBRSvPTszZiqyo kExw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=IWa3yvDMZC05F09Gb0TJwUqbgaqCJLtXoPOpUHqNy40=; b=KlOr9s/aJd8CoYkNuM+SUuMKyVpBfHdJi7HIFkTEbKZlTZZFYQFCMmVWGrz+kXdig8 ddWSbQHXTKeGMUKD7EEKo5XYFqYHUDcQqQ5zNd9Ox2cEdaR+JqmwchNGus2oBUdigwzn EXqxcvIPyYB9NlofiuVZIrS/I2O4LVYpLUGyTjAzeRBbAvCssjC0k69CAanGNd3k7iep RyBedseBsscdu0RDfWrq9HgaArNLTtjFKNjTGEBfNGj/fNIJ6vurJHgwoV3koqZi/Ubv QA8CN0nmp7fL8WjQusO/1Urzn+zFPHskUwFKK5HGtfgNNdEJXsHUnsfpEEMjHiZun9Ma HqcA== X-Gm-Message-State: AOAM531RreBycI6XNe+q6q7Pu/XCfiQqi12vZe16+rGZfE0KJLXO9TQ5 JJ1fd344c11XjqjRHXPav2SYaw== X-Received: by 2002:a7b:cb1a:: with SMTP id u26mr4283571wmj.125.1624365827472; Tue, 22 Jun 2021 05:43:47 -0700 (PDT) Received: from ?IPv6:2001:861:44c0:66c0:b049:62d0:2ee2:34f7? ([2001:861:44c0:66c0:b049:62d0:2ee2:34f7]) by smtp.gmail.com with ESMTPSA id s16sm9517373wrm.36.2021.06.22.05.43.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 22 Jun 2021 05:43:47 -0700 (PDT) Subject: Re: [PATCH] watchdog: meson_gxbb_wdt: improve To: Art Nikpal Cc: wim@linux-watchdog.org, linux@roeck-us.net, Kevin Hilman , Jerome Brunet , Christian Hewitt , Martin Blumenstingl , linux-watchdog@vger.kernel.org, linux-arm-kernel , "open list:ARM/Amlogic Meson..." , linux-kernel@vger.kernel.org, Artem Lapkin , Nick Xie , Gouwa Wang References: <20210622095639.1280774-1-art@khadas.com> From: Neil Armstrong Organization: Baylibre Message-ID: <0d5e53b2-873e-0ffa-32eb-87e96b51e263@baylibre.com> Date: Tue, 22 Jun 2021 14:43:45 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 22/06/2021 13:53, Art Nikpal wrote: >> Neil >> Can you split the patch in 4 distinct changes ? > > yes no problem i can try to do it tomorrow ! > maybe somebody have other ideas, suggestion, comments ... The changeset is clean, and overall I'm ok with the changes, but I'm pretty sure the wdt maintainers will prefer separate changes in order to comment of each. Neil > > > On Tue, Jun 22, 2021 at 7:08 PM Neil Armstrong wrote: >> >> Hi Art, >> >> On 22/06/2021 11:56, Artem Lapkin wrote: >>> Improve meson_gxbb_wdt watchdog driver >>> 1) added module param timeout and nowayout same as other modules >>> 2) print watchdog driver start status >>> 3) add watchdog_stop_on_unregister >>> 4) remove watchdog_stop_on_reboot ( still can be activated by >>> watchdog.stop_on_reboot=1 ) i think this driver configuration more useful >>> becouse we can get reboot waranty for abnormal situations on shutdown stage >> >> Can you split the patch in 4 distinct changes ? >> >> Neil >> >>> >>> Signed-off-by: Artem Lapkin >>> --- >>> drivers/watchdog/meson_gxbb_wdt.c | 20 ++++++++++++++++++-- >>> 1 file changed, 18 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/watchdog/meson_gxbb_wdt.c b/drivers/watchdog/meson_gxbb_wdt.c >>> index 5a9ca10fbcfa..15c889932c13 100644 >>> --- a/drivers/watchdog/meson_gxbb_wdt.c >>> +++ b/drivers/watchdog/meson_gxbb_wdt.c >>> @@ -35,6 +35,17 @@ struct meson_gxbb_wdt { >>> struct clk *clk; >>> }; >>> >>> +static bool nowayout = WATCHDOG_NOWAYOUT; >>> +static unsigned int timeout = DEFAULT_TIMEOUT; >>> + >>> +module_param(nowayout, bool, 0); >>> +MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started default=" >>> + __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); >>> + >>> +module_param(timeout, uint, 0); >>> +MODULE_PARM_DESC(timeout, "Watchdog heartbeat in seconds=" >>> + __MODULE_STRING(DEFAULT_TIMEOUT) ")"); >>> + >>> static int meson_gxbb_wdt_start(struct watchdog_device *wdt_dev) >>> { >>> struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); >>> @@ -174,7 +185,7 @@ static int meson_gxbb_wdt_probe(struct platform_device *pdev) >>> data->wdt_dev.ops = &meson_gxbb_wdt_ops; >>> data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK; >>> data->wdt_dev.min_timeout = 1; >>> - data->wdt_dev.timeout = DEFAULT_TIMEOUT; >>> + data->wdt_dev.timeout = timeout; >>> watchdog_set_drvdata(&data->wdt_dev, data); >>> >>> /* Setup with 1ms timebase */ >>> @@ -186,7 +197,12 @@ static int meson_gxbb_wdt_probe(struct platform_device *pdev) >>> >>> meson_gxbb_wdt_set_timeout(&data->wdt_dev, data->wdt_dev.timeout); >>> >>> - watchdog_stop_on_reboot(&data->wdt_dev); >>> + watchdog_set_nowayout(&data->wdt_dev, nowayout); >>> + watchdog_stop_on_unregister(&data->wdt_dev); >>> + >>> + dev_info(dev, "Watchdog enabled (timeout=%d sec, nowayout=%d)", >>> + data->wdt_dev.timeout, nowayout); >>> + >>> return devm_watchdog_register_device(dev, &data->wdt_dev); >>> } >>> >>> >>