linux/drivers/watchdog/f71808e_wdt.c

// SPDX-License-Identifier: GPL-2.0-or-later
/***************************************************************************
 *   Copyright (C) 2006 by Hans Edgington <[email protected]>              *
 *   Copyright (C) 2007-2009 Hans de Goede <[email protected]>           *
 *   Copyright (C) 2010 Giel van Schijndel <[email protected]>                  *
 *                                                                         *
 ***************************************************************************/

#define pr_fmt(fmt)

#include <linux/err.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/watchdog.h>

#define DRVNAME

#define SIO_F71808FG_LD_WDT
#define SIO_UNLOCK_KEY
#define SIO_LOCK_KEY

#define SIO_REG_LDSEL
#define SIO_REG_DEVID
#define SIO_REG_DEVREV
#define SIO_REG_MANID
#define SIO_REG_CLOCK_SEL
#define SIO_REG_ROM_ADDR_SEL
#define SIO_F81866_REG_PORT_SEL
#define SIO_REG_TSI_LEVEL_SEL
#define SIO_REG_MFUNCT1
#define SIO_REG_MFUNCT2
#define SIO_REG_MFUNCT3
#define SIO_F81866_REG_GPIO1
#define SIO_REG_ENABLE
#define SIO_REG_ADDR

#define SIO_FINTEK_ID
#define SIO_F71808_ID
#define SIO_F71858_ID
#define SIO_F71862_ID
#define SIO_F71868_ID
#define SIO_F71869_ID
#define SIO_F71869A_ID
#define SIO_F71882_ID
#define SIO_F71889_ID
#define SIO_F81803_ID
#define SIO_F81865_ID
#define SIO_F81866_ID
#define SIO_F81966_ID

#define F71808FG_REG_WDO_CONF
#define F71808FG_REG_WDT_CONF
#define F71808FG_REG_WD_TIME

#define F71808FG_FLAG_WDOUT_EN

#define F71808FG_FLAG_WDTMOUT_STS
#define F71808FG_FLAG_WD_EN
#define F71808FG_FLAG_WD_PULSE
#define F71808FG_FLAG_WD_UNIT

#define F81865_REG_WDO_CONF
#define F81865_FLAG_WDOUT_EN

/* Default values */
#define WATCHDOG_TIMEOUT
#define WATCHDOG_MAX_TIMEOUT
#define WATCHDOG_PULSE_WIDTH
#define WATCHDOG_F71862FG_PIN

static unsigned short force_id;
module_param(force_id, ushort, 0);
MODULE_PARM_DESC();

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

static unsigned int pulse_width =;
module_param(pulse_width, uint, 0);
MODULE_PARM_DESC();

static unsigned int f71862fg_pin =;
module_param(f71862fg_pin, uint, 0);
MODULE_PARM_DESC();

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

static unsigned int start_withtimeout;
module_param(start_withtimeout, uint, 0);
MODULE_PARM_DESC();

enum chips {};

static const char * const fintek_wdt_names[] =;

/* Super-I/O Function prototypes */
static inline int superio_inb(int base, int reg);
static inline int superio_inw(int base, int reg);
static inline void superio_outb(int base, int reg, u8 val);
static inline void superio_set_bit(int base, int reg, int bit);
static inline void superio_clear_bit(int base, int reg, int bit);
static inline int superio_enter(int base);
static inline void superio_select(int base, int ld);
static inline void superio_exit(int base);

struct fintek_wdt {};

struct fintek_wdt_pdata {};

/* Super I/O functions */
static inline int superio_inb(int base, int reg)
{}

static int superio_inw(int base, int reg)
{}

static inline void superio_outb(int base, int reg, u8 val)
{}

static inline void superio_set_bit(int base, int reg, int bit)
{}

static inline void superio_clear_bit(int base, int reg, int bit)
{}

static inline int superio_enter(int base)
{}

static inline void superio_select(int base, int ld)
{}

static inline void superio_exit(int base)
{}

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

static int fintek_wdt_set_pulse_width(struct fintek_wdt *wd, unsigned int pw)
{}

static int fintek_wdt_keepalive(struct watchdog_device *wdd)
{}

static int fintek_wdt_start(struct watchdog_device *wdd)
{}

static int fintek_wdt_stop(struct watchdog_device *wdd)
{}

static bool fintek_wdt_is_running(struct fintek_wdt *wd, u8 wdt_conf)
{}

static const struct watchdog_ops fintek_wdt_ops =;

static int fintek_wdt_probe(struct platform_device *pdev)
{}

static int __init fintek_wdt_find(int sioaddr)
{}

static struct platform_driver fintek_wdt_driver =;

static struct platform_device *fintek_wdt_pdev;

static int __init fintek_wdt_init(void)
{}

static void __exit fintek_wdt_exit(void)
{}

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

module_init();
module_exit(fintek_wdt_exit);