linux/drivers/watchdog/w83627hf_wdt.c

// SPDX-License-Identifier: GPL-2.0+
/*
 *	w83627hf/thf WDT driver
 *
 *	(c) Copyright 2013 Guenter Roeck
 *		converted to watchdog infrastructure
 *
 *	(c) Copyright 2007 Vlad Drukker <[email protected]>
 *		added support for W83627THF.
 *
 *	(c) Copyright 2003,2007 Pádraig Brady <[email protected]>
 *
 *	Based on advantechwdt.c which is based on wdt.c.
 *	Original copyright messages:
 *
 *	(c) Copyright 2000-2001 Marek Michalkiewicz <[email protected]>
 *
 *	(c) Copyright 1996 Alan Cox <[email protected]>,
 *						All Rights Reserved.
 *
 *	Neither Alan Cox nor CymruNet Ltd. admit liability nor provide
 *	warranty for any of this software. This material is provided
 *	"AS-IS" and at no charge.
 *
 *	(c) Copyright 1995    Alan Cox <[email protected]>
 */

#define pr_fmt(fmt)

#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/watchdog.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/dmi.h>

#define WATCHDOG_NAME
#define WATCHDOG_TIMEOUT

static int wdt_io;
static int cr_wdt_timeout;	/* WDT timeout register */
static int cr_wdt_control;	/* WDT control register */
static int cr_wdt_csr;		/* WDT control & status register */
static int wdt_cfg_enter =;/* key to unlock configuration space */
static int wdt_cfg_leave =;/* key to lock configuration space */

enum chips {};

static int timeout;			/* in seconds */
module_param(timeout, int, 0);
MODULE_PARM_DESC();

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

static int early_disable;
module_param(early_disable, int, 0);
MODULE_PARM_DESC();

/*
 *	Kernel methods.
 */

#define WDT_EFER
#define WDT_EFIR
#define WDT_EFDR

#define W83627HF_LD_WDT

#define W83627HF_ID
#define W83627S_ID
#define W83697HF_ID
#define W83697UG_ID
#define W83637HF_ID
#define W83627THF_ID
#define W83687THF_ID
#define W83627EHF_ID
#define W83627DHG_ID
#define W83627UHG_ID
#define W83667HG_ID
#define W83627DHG_P_ID
#define W83667HG_B_ID
#define NCT6775_ID
#define NCT6776_ID
#define NCT6102_ID
#define NCT6116_ID
#define NCT6779_ID
#define NCT6791_ID
#define NCT6792_ID
#define NCT6793_ID
#define NCT6795_ID
#define NCT6796_ID

#define W83627HF_WDT_TIMEOUT
#define W83697HF_WDT_TIMEOUT
#define NCT6102D_WDT_TIMEOUT

#define W83627HF_WDT_CONTROL
#define W83697HF_WDT_CONTROL
#define NCT6102D_WDT_CONTROL

#define W836X7HF_WDT_CSR
#define NCT6102D_WDT_CSR

#define WDT_CSR_STATUS
#define WDT_CSR_KBD
#define WDT_CSR_MOUSE

static void superio_outb(int reg, int val)
{}

static inline int superio_inb(int reg)
{}

static int superio_enter(void)
{}

static void superio_select(int ld)
{}

static void superio_exit(void)
{}

static int w83627hf_init(struct watchdog_device *wdog, enum chips chip)
{}

static int wdt_set_time(unsigned int timeout)
{}

static int wdt_start(struct watchdog_device *wdog)
{}

static int wdt_stop(struct watchdog_device *wdog)
{}

static int wdt_set_timeout(struct watchdog_device *wdog, unsigned int timeout)
{}

static unsigned int wdt_get_time(struct watchdog_device *wdog)
{}

/*
 *	Kernel Interfaces
 */

static const struct watchdog_info wdt_info =;

static const struct watchdog_ops wdt_ops =;

static struct watchdog_device wdt_dev =;

/*
 *	The WDT needs to learn about soft shutdowns in order to
 *	turn the timebomb registers off.
 */

static int wdt_find(int addr)
{}

/*
 * On some systems, the NCT6791D comes with a companion chip and the
 * watchdog function is in this companion chip. We must use a different
 * unlocking sequence to access the companion chip.
 */
static int __init wdt_use_alt_key(const struct dmi_system_id *d)
{}

static const struct dmi_system_id wdt_dmi_table[] __initconst =;

static int __init wdt_init(void)
{}

static void __exit wdt_exit(void)
{}

module_init();
module_exit(wdt_exit);

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