Linux-Watchdog Archive on lore.kernel.org
 help / color / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Jean Delvare <jdelvare@suse.de>
Cc: Guenter Roeck <linux@roeck-us.net>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org,
	Wim Van Sebroeck <wim@linux-watchdog.org>,
	linux-watchdog@vger.kernel.org, Tom Abraham <tabraham@suse.com>
Subject: Re: Forcing non-ACPI watchdog driver
Date: Thu, 6 Feb 2020 16:56:02 +0200
Message-ID: <20200206145602.GQ2667@lahna.fi.intel.com> (raw)
In-Reply-To: <20200206154532.359086d6@endymion>

On Thu, Feb 06, 2020 at 03:45:32PM +0100, Jean Delvare wrote:
> Hi Mika,
> 
> On Wed, 5 Feb 2020 18:38:31 +0200, Mika Westerberg wrote:
> > On Wed, Feb 05, 2020 at 08:30:48AM -0800, Guenter Roeck wrote:
> > > On Wed, Feb 05, 2020 at 05:24:35PM +0200, Mika Westerberg wrote:  
> > > > You should be able to revert to iTCO_wdt by simply disabling
> > > > CONFIG_WDAT_WDT from .config. Then acpi_has_watchdog() returns false
> > > > which means that iTCO_wdt is used instead.  
> > > 
> > > That may not be possible in a generic distribution.  
> > 
> > Right, they would need to build their own kernel. Currently there is no
> > way to do that without changing .config.
> 
> OK, that's pretty much what I was compl^Wworried about ;-) Would you
> consider applying something like the following patch?

Yes, I think the patch makes sense.

Rafael, I guess you will take this since it is touching ACPI?

> From: Jean Delvare <jdelvare@suse.de>
> Subject: ACPI / watchdog: Allow disabling WDAT at boot
> 
> In case the WDAT interface is broken, give the user the option to
> ignore it to let a native driver bind to the watchdog device instead.
> 
> Signed-off-by: Jean Delvare <jdelvare@suse.de>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  Documentation/admin-guide/kernel-parameters.txt |    4 ++++
>  drivers/acpi/acpi_watchdog.c                    |   12 +++++++++++-
>  2 files changed, 15 insertions(+), 1 deletion(-)
> 
> --- linux-5.4.orig/drivers/acpi/acpi_watchdog.c	2020-02-06 15:20:27.187333079 +0100
> +++ linux-5.4/drivers/acpi/acpi_watchdog.c	2020-02-06 15:30:08.707408406 +0100
> @@ -55,12 +55,14 @@ static bool acpi_watchdog_uses_rtc(const
>  }
>  #endif
>  
> +static bool acpi_no_watchdog;
> +
>  static const struct acpi_table_wdat *acpi_watchdog_get_wdat(void)
>  {
>  	const struct acpi_table_wdat *wdat = NULL;
>  	acpi_status status;
>  
> -	if (acpi_disabled)
> +	if (acpi_disabled || acpi_no_watchdog)
>  		return NULL;
>  
>  	status = acpi_get_table(ACPI_SIG_WDAT, 0,
> @@ -88,6 +90,14 @@ bool acpi_has_watchdog(void)
>  }
>  EXPORT_SYMBOL_GPL(acpi_has_watchdog);
>  
> +/* ACPI watchdog can be disabled on boot command line */
> +static int __init disable_acpi_watchdog(char *str)
> +{
> +	acpi_no_watchdog = true;
> +	return 1;
> +}
> +__setup("acpi_no_watchdog", disable_acpi_watchdog);
> +
>  void __init acpi_watchdog_init(void)
>  {
>  	const struct acpi_wdat_entry *entries;
> --- linux-5.4.orig/Documentation/admin-guide/kernel-parameters.txt	2020-02-06 15:20:27.187333079 +0100
> +++ linux-5.4/Documentation/admin-guide/kernel-parameters.txt	2020-02-06 15:31:16.614155680 +0100
> @@ -136,6 +136,10 @@
>  			dynamic table installation which will install SSDT
>  			tables to /sys/firmware/acpi/tables/dynamic.
>  
> +	acpi_no_watchdog	[HW,ACPI,WDT]
> +			Ignore the ACPI-based watchdog interface (WDAT) and let
> +			a native driver control the watchdog device instead.
> +
>  	acpi_rsdp=	[ACPI,EFI,KEXEC]
>  			Pass the RSDP address to the kernel, mostly used
>  			on machines running EFI runtime service to boot the
> 
> Thanks,
> -- 
> Jean Delvare
> SUSE L3 Support

  reply index

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-05 15:05 Jean Delvare
2020-02-05 15:24 ` Mika Westerberg
2020-02-05 16:30   ` Guenter Roeck
2020-02-05 16:38     ` Mika Westerberg
2020-02-06 14:45       ` Jean Delvare
2020-02-06 14:56         ` Mika Westerberg [this message]
2020-02-06 15:50           ` Rafael J. Wysocki
2020-02-06 16:00             ` Rafael J. Wysocki
2020-02-06 19:14               ` Mika Westerberg

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=20200206145602.GQ2667@lahna.fi.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=jdelvare@suse.de \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=rjw@rjwysocki.net \
    --cc=tabraham@suse.com \
    --cc=wim@linux-watchdog.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

Linux-Watchdog Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-watchdog/0 linux-watchdog/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-watchdog linux-watchdog/ https://lore.kernel.org/linux-watchdog \
		linux-watchdog@vger.kernel.org
	public-inbox-index linux-watchdog

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-watchdog


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git