linux/drivers/watchdog/wdat_wdt.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * ACPI Hardware Watchdog (WDAT) driver.
 *
 * Copyright (C) 2016, Intel Corporation
 * Author: Mika Westerberg <[email protected]>
 */

#include <linux/acpi.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/watchdog.h>

#define MAX_WDAT_ACTIONS

/**
 * struct wdat_instruction - Single ACPI WDAT instruction
 * @entry: Copy of the ACPI table instruction
 * @reg: Register the instruction is accessing
 * @node: Next instruction in action sequence
 */
struct wdat_instruction {};

/**
 * struct wdat_wdt - ACPI WDAT watchdog device
 * @pdev: Parent platform device
 * @wdd: Watchdog core device
 * @period: How long is one watchdog period in ms
 * @stopped_in_sleep: Is this watchdog stopped by the firmware in S1-S5
 * @stopped: Was the watchdog stopped by the driver in suspend
 * @instructions: An array of instruction lists indexed by an action number from
 *                the WDAT table. There can be %NULL entries for not implemented
 *                actions.
 */
struct wdat_wdt {};

#define to_wdat_wdt(wdd)

static bool nowayout = WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0);
MODULE_PARM_DESC();

#define WDAT_DEFAULT_TIMEOUT

static int timeout =;
module_param(timeout, int, 0);
MODULE_PARM_DESC();

static int wdat_wdt_read(struct wdat_wdt *wdat,
	 const struct wdat_instruction *instr, u32 *value)
{}

static int wdat_wdt_write(struct wdat_wdt *wdat,
	const struct wdat_instruction *instr, u32 value)
{}

static int wdat_wdt_run_action(struct wdat_wdt *wdat, unsigned int action,
			       u32 param, u32 *retval)
{}

static int wdat_wdt_enable_reboot(struct wdat_wdt *wdat)
{}

static void wdat_wdt_boot_status(struct wdat_wdt *wdat)
{}

static void wdat_wdt_set_running(struct wdat_wdt *wdat)
{}

static int wdat_wdt_start(struct watchdog_device *wdd)
{}

static int wdat_wdt_stop(struct watchdog_device *wdd)
{}

static int wdat_wdt_ping(struct watchdog_device *wdd)
{}

static int wdat_wdt_set_timeout(struct watchdog_device *wdd,
				unsigned int timeout)
{}

static unsigned int wdat_wdt_get_timeleft(struct watchdog_device *wdd)
{}

static const struct watchdog_info wdat_wdt_info =;

static struct watchdog_ops wdat_wdt_ops =;

static int wdat_wdt_probe(struct platform_device *pdev)
{}

static int wdat_wdt_suspend_noirq(struct device *dev)
{}

static int wdat_wdt_resume_noirq(struct device *dev)
{}

static const struct dev_pm_ops wdat_wdt_pm_ops =;

static struct platform_driver wdat_wdt_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_ALIAS();