// SPDX-License-Identifier: GPL-2.0-only /* * ACPI watchdog table parsing support. * * Copyright (C) 2016, Intel Corporation * Author: Mika Westerberg <[email protected]> */ #define pr_fmt(fmt) … #include <linux/acpi.h> #include <linux/ioport.h> #include <linux/platform_device.h> #include "internal.h" #ifdef CONFIG_RTC_MC146818_LIB #include <linux/mc146818rtc.h> /* * There are several systems where the WDAT table is accessing RTC SRAM to * store persistent information. This does not work well with the Linux RTC * driver so on those systems we skip WDAT driver and prefer iTCO_wdt * instead. * * See also https://bugzilla.kernel.org/show_bug.cgi?id=199033. */ static bool acpi_watchdog_uses_rtc(const struct acpi_table_wdat *wdat) { … } #else static bool acpi_watchdog_uses_rtc(const struct acpi_table_wdat *wdat) { return false; } #endif static bool acpi_no_watchdog; static const struct acpi_table_wdat *acpi_watchdog_get_wdat(void) { … } /* * Returns true if this system should prefer ACPI based watchdog instead of * the native one (which are typically the same hardware). */ bool acpi_has_watchdog(void) { … } EXPORT_SYMBOL_GPL(…); /* ACPI watchdog can be disabled on boot command line */ static int __init disable_acpi_watchdog(char *str) { … } __setup(…); void __init acpi_watchdog_init(void) { … }