Lines Matching +full:timer +full:- +full:watchdog

1 // SPDX-License-Identifier: GPL-2.0+
3 * Acquire Single Board Computer Watchdog Timer driver
12 * "AS-IS" and at no charge.
16 * 14-Dec-2001 Matt Domsch <Matt_Domsch@dell.com>
18 * Can't add timeout - driver doesn't allow changing value
23 * The Watch-Dog Timer is provided to ensure that standalone
28 * reset (cold boot) or a non-maskable interrupt (NMI) to bring the
31 * The Watch-Dog Timer is controlled by two I/O Ports.
32 * 443 hex - Read - Enable or refresh the Watch-Dog Timer
33 * 043 hex - Read - Disable the Watch-Dog Timer
35 * To enable the Watch-Dog Timer, a read from I/O port 443h must
36 * be performed. This will enable and activate the countdown timer
39 * reset condition does not occur, the Watch-Dog Timer must be
41 * The Watch-Dog Timer is disabled by reading I/O port 043h.
43 * The Watch-Dog Timer Time-Out Period is set via jumpers.
57 #include <linux/errno.h> /* For the -ENODEV/... values */
60 #include <linux/watchdog.h> /* For the watchdog specific items */
62 #include <linux/ioport.h> /* For io-port access */
71 /* There is no way to see what the correct time-out period is */
75 /* the watchdog platform device */
81 /* You must set this - there is no sane way to probe for this board. */
86 /* You must set this - there is no sane way to probe for this board. */
94 "Watchdog cannot be stopped once started (default="
98 * Watchdog Operations
103 /* Write a watchdog value */ in acq_keepalive()
114 * /dev/watchdog handling
120 /* See if we got the magic character 'V' and reload the timer */ in acq_write()
132 return -EFAULT; in acq_write()
146 int options, retval = -EINVAL; in acq_ioctl()
157 return copy_to_user(argp, &ident, sizeof(ident)) ? -EFAULT : 0; in acq_ioctl()
166 return -EFAULT; in acq_ioctl()
185 return -ENOTTY; in acq_ioctl()
192 return -EBUSY; in acq_open()
207 pr_crit("Unexpected close, not stopping watchdog!\n"); in acq_close()
231 .name = "watchdog",
246 ret = -EIO; in acq_probe()
253 ret = -EIO; in acq_probe()
305 -1, NULL, 0); in acq_init()
323 pr_info("Watchdog Module Unloaded\n"); in acq_exit()
330 MODULE_DESCRIPTION("Acquire Inc. Single Board Computer Watchdog Timer driver");