Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

watchdog: update/improve/consolidate watchdog driver

Move the limited watchdog driver help from kernel-parameters.txt
to Documentation/watchdog/watchdog-parameters.txt and add info to it
for all watchdog drivers except the ones that have driver-specific
files already.

Correct minor comments and MODULE_PARM_DESC() text in 2 places.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

authored by

Randy Dunlap and committed by
Wim Van Sebroeck
4724ba57 8b18085a

+411 -17
+4 -11
Documentation/kernel-parameters.txt
··· 290 290 advansys= [HW,SCSI] 291 291 See header of drivers/scsi/advansys.c. 292 292 293 - advwdt= [HW,WDT] Advantech WDT 294 - Format: <iostart>,<iostop> 295 - 296 293 aedsp16= [HW,OSS] Audio Excel DSP 16 297 294 Format: <io>,<irq>,<dma>,<mss_io>,<mpu_io>,<mpu_irq> 298 295 See also header of sound/oss/aedsp16.c. ··· 761 764 ether= [HW,NET] Ethernet cards parameters 762 765 This option is obsoleted by the "netdev=" option, which 763 766 has equivalent usage. See its documentation for details. 764 - 765 - eurwdt= [HW,WDT] Eurotech CPU-1220/1410 onboard watchdog. 766 - Format: <io>[,<irq>] 767 767 768 768 failslab= 769 769 fail_page_alloc= ··· 2261 2267 2262 2268 sched_debug [KNL] Enables verbose scheduler debug messages. 2263 2269 2264 - sc1200wdt= [HW,WDT] SC1200 WDT (watchdog) driver 2265 - Format: <io>[,<timeout>[,<isapnp>]] 2266 - 2267 2270 scsi_debug_*= [SCSI] 2268 2271 See drivers/scsi/scsi_debug.c. 2269 2272 ··· 2849 2858 wd7000= [HW,SCSI] 2850 2859 See header of drivers/scsi/wd7000.c. 2851 2860 2852 - wdt= [WDT] Watchdog 2853 - See Documentation/watchdog/wdt.txt. 2861 + watchdog timers [HW,WDT] For information on watchdog timers, 2862 + see Documentation/watchdog/watchdog-parameters.txt 2863 + or other driver-specific files in the 2864 + Documentation/watchdog/ directory. 2854 2865 2855 2866 x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of 2856 2867 default x2apic cluster mode on platforms
+5
Documentation/watchdog/00-INDEX
··· 1 1 00-INDEX 2 2 - this file. 3 + hpwdt.txt 4 + - information on the HP iLO2 NMI watchdog 3 5 pcwd-watchdog.txt 4 6 - documentation for Berkshire Products PC Watchdog ISA cards. 5 7 src/ 6 8 - directory holding watchdog related example programs. 7 9 watchdog-api.txt 8 10 - description of the Linux Watchdog driver API. 11 + watchdog-parameters.txt 12 + - information on driver parameters (for drivers other than 13 + the ones that have driver-specific files here) 9 14 wdt.txt 10 15 - description of the Watchdog Timer Interfaces for Linux.
+390
Documentation/watchdog/watchdog-parameters.txt
··· 1 + This file provides information on the module parameters of many of 2 + the Linux watchdog drivers. Watchdog driver parameter specs should 3 + be listed here unless the driver has its own driver-specific information 4 + file. 5 + 6 + 7 + See Documentation/kernel-parameters.txt for information on 8 + providing kernel parameters for builtin drivers versus loadable 9 + modules. 10 + 11 + 12 + ------------------------------------------------- 13 + acquirewdt: 14 + wdt_stop: Acquire WDT 'stop' io port (default 0x43) 15 + wdt_start: Acquire WDT 'start' io port (default 0x443) 16 + nowayout: Watchdog cannot be stopped once started 17 + (default=kernel config parameter) 18 + ------------------------------------------------- 19 + advantechwdt: 20 + wdt_stop: Advantech WDT 'stop' io port (default 0x443) 21 + wdt_start: Advantech WDT 'start' io port (default 0x443) 22 + timeout: Watchdog timeout in seconds. 1<= timeout <=63, default=60. 23 + nowayout: Watchdog cannot be stopped once started 24 + (default=kernel config parameter) 25 + ------------------------------------------------- 26 + alim1535_wdt: 27 + timeout: Watchdog timeout in seconds. (0 < timeout < 18000, default=60 28 + nowayout: Watchdog cannot be stopped once started 29 + (default=kernel config parameter) 30 + ------------------------------------------------- 31 + alim7101_wdt: 32 + timeout: Watchdog timeout in seconds. (1<=timeout<=3600, default=30 33 + use_gpio: Use the gpio watchdog (required by old cobalt boards). 34 + default=0/off/no 35 + nowayout: Watchdog cannot be stopped once started 36 + (default=kernel config parameter) 37 + ------------------------------------------------- 38 + ar7_wdt: 39 + margin: Watchdog margin in seconds (default=60) 40 + nowayout: Disable watchdog shutdown on close 41 + (default=kernel config parameter) 42 + ------------------------------------------------- 43 + at32ap700x_wdt: 44 + timeout: Timeout value. Limited to be 1 or 2 seconds. (default=2) 45 + nowayout: Watchdog cannot be stopped once started 46 + (default=kernel config parameter) 47 + ------------------------------------------------- 48 + at91rm9200_wdt: 49 + wdt_time: Watchdog time in seconds. (default=5) 50 + nowayout: Watchdog cannot be stopped once started 51 + (default=kernel config parameter) 52 + ------------------------------------------------- 53 + at91sam9_wdt: 54 + heartbeat: Watchdog heartbeats in seconds. (default = 15) 55 + nowayout: Watchdog cannot be stopped once started 56 + (default=kernel config parameter) 57 + ------------------------------------------------- 58 + bcm47xx_wdt: 59 + wdt_time: Watchdog time in seconds. (default=30) 60 + nowayout: Watchdog cannot be stopped once started 61 + (default=kernel config parameter) 62 + ------------------------------------------------- 63 + bfin_wdt: 64 + timeout: Watchdog timeout in seconds. (1<=timeout<=((2^32)/SCLK), default=20) 65 + nowayout: Watchdog cannot be stopped once started 66 + (default=kernel config parameter) 67 + ------------------------------------------------- 68 + coh901327_wdt: 69 + margin: Watchdog margin in seconds (default 60s) 70 + ------------------------------------------------- 71 + cpu5wdt: 72 + port: base address of watchdog card, default is 0x91 73 + verbose: be verbose, default is 0 (no) 74 + ticks: count down ticks, default is 10000 75 + ------------------------------------------------- 76 + cpwd: 77 + wd0_timeout: Default watchdog0 timeout in 1/10secs 78 + wd1_timeout: Default watchdog1 timeout in 1/10secs 79 + wd2_timeout: Default watchdog2 timeout in 1/10secs 80 + ------------------------------------------------- 81 + davinci_wdt: 82 + heartbeat: Watchdog heartbeat period in seconds from 1 to 600, default 60 83 + ------------------------------------------------- 84 + ep93xx_wdt: 85 + nowayout: Watchdog cannot be stopped once started 86 + timeout: Watchdog timeout in seconds. (1<=timeout<=3600, default=TBD) 87 + ------------------------------------------------- 88 + eurotechwdt: 89 + nowayout: Watchdog cannot be stopped once started 90 + (default=kernel config parameter) 91 + io: Eurotech WDT io port (default=0x3f0) 92 + irq: Eurotech WDT irq (default=10) 93 + ev: Eurotech WDT event type (default is `int') 94 + ------------------------------------------------- 95 + gef_wdt: 96 + nowayout: Watchdog cannot be stopped once started 97 + (default=kernel config parameter) 98 + ------------------------------------------------- 99 + geodewdt: 100 + timeout: Watchdog timeout in seconds. 1<= timeout <=131, default=60. 101 + nowayout: Watchdog cannot be stopped once started 102 + (default=kernel config parameter) 103 + ------------------------------------------------- 104 + i6300esb: 105 + heartbeat: Watchdog heartbeat in seconds. (1<heartbeat<2046, default=30) 106 + nowayout: Watchdog cannot be stopped once started 107 + (default=kernel config parameter) 108 + ------------------------------------------------- 109 + iTCO_wdt: 110 + heartbeat: Watchdog heartbeat in seconds. 111 + (2<heartbeat<39 (TCO v1) or 613 (TCO v2), default=30) 112 + nowayout: Watchdog cannot be stopped once started 113 + (default=kernel config parameter) 114 + ------------------------------------------------- 115 + iTCO_vendor_support: 116 + vendorsupport: iTCO vendor specific support mode, default=0 (none), 117 + 1=SuperMicro Pent3, 2=SuperMicro Pent4+, 911=Broken SMI BIOS 118 + ------------------------------------------------- 119 + ib700wdt: 120 + timeout: Watchdog timeout in seconds. 0<= timeout <=30, default=30. 121 + nowayout: Watchdog cannot be stopped once started 122 + (default=kernel config parameter) 123 + ------------------------------------------------- 124 + ibmasr: 125 + nowayout: Watchdog cannot be stopped once started 126 + (default=kernel config parameter) 127 + ------------------------------------------------- 128 + indydog: 129 + nowayout: Watchdog cannot be stopped once started 130 + (default=kernel config parameter) 131 + ------------------------------------------------- 132 + iop_wdt: 133 + nowayout: Watchdog cannot be stopped once started 134 + (default=kernel config parameter) 135 + ------------------------------------------------- 136 + it8712f_wdt: 137 + margin: Watchdog margin in seconds (default 60) 138 + nowayout: Disable watchdog shutdown on close 139 + (default=kernel config parameter) 140 + ------------------------------------------------- 141 + it87_wdt: 142 + nogameport: Forbid the activation of game port, default=0 143 + exclusive: Watchdog exclusive device open, default=1 144 + timeout: Watchdog timeout in seconds, default=60 145 + testmode: Watchdog test mode (1 = no reboot), default=0 146 + nowayout: Watchdog cannot be stopped once started 147 + (default=kernel config parameter) 148 + ------------------------------------------------- 149 + ixp2000_wdt: 150 + heartbeat: Watchdog heartbeat in seconds (default 60s) 151 + nowayout: Watchdog cannot be stopped once started 152 + (default=kernel config parameter) 153 + ------------------------------------------------- 154 + ixp4xx_wdt: 155 + heartbeat: Watchdog heartbeat in seconds (default 60s) 156 + nowayout: Watchdog cannot be stopped once started 157 + (default=kernel config parameter) 158 + ------------------------------------------------- 159 + ks8695_wdt: 160 + wdt_time: Watchdog time in seconds. (default=5) 161 + nowayout: Watchdog cannot be stopped once started 162 + (default=kernel config parameter) 163 + ------------------------------------------------- 164 + machzwd: 165 + nowayout: Watchdog cannot be stopped once started 166 + (default=kernel config parameter) 167 + action: after watchdog resets, generate: 168 + 0 = RESET(*) 1 = SMI 2 = NMI 3 = SCI 169 + ------------------------------------------------- 170 + max63xx_wdt: 171 + heartbeat: Watchdog heartbeat period in seconds from 1 to 60, default 60 172 + nowayout: Watchdog cannot be stopped once started 173 + (default=kernel config parameter) 174 + nodelay: Force selection of a timeout setting without initial delay 175 + (max6373/74 only, default=0) 176 + ------------------------------------------------- 177 + mixcomwd: 178 + nowayout: Watchdog cannot be stopped once started 179 + (default=kernel config parameter) 180 + ------------------------------------------------- 181 + mpc8xxx_wdt: 182 + timeout: Watchdog timeout in ticks. (0<timeout<65536, default=65535) 183 + reset: Watchdog Interrupt/Reset Mode. 0 = interrupt, 1 = reset 184 + nowayout: Watchdog cannot be stopped once started 185 + (default=kernel config parameter) 186 + ------------------------------------------------- 187 + mpcore_wdt: 188 + mpcore_margin: MPcore timer margin in seconds. 189 + (0 < mpcore_margin < 65536, default=60) 190 + nowayout: Watchdog cannot be stopped once started 191 + (default=kernel config parameter) 192 + mpcore_noboot: MPcore watchdog action, set to 1 to ignore reboots, 193 + 0 to reboot (default=0 194 + ------------------------------------------------- 195 + mv64x60_wdt: 196 + nowayout: Watchdog cannot be stopped once started 197 + (default=kernel config parameter) 198 + ------------------------------------------------- 199 + nuc900_wdt: 200 + heartbeat: Watchdog heartbeats in seconds. 201 + (default = 15) 202 + nowayout: Watchdog cannot be stopped once started 203 + (default=kernel config parameter) 204 + ------------------------------------------------- 205 + omap_wdt: 206 + timer_margin: initial watchdog timeout (in seconds) 207 + ------------------------------------------------- 208 + orion_wdt: 209 + heartbeat: Initial watchdog heartbeat in seconds 210 + nowayout: Watchdog cannot be stopped once started 211 + (default=kernel config parameter) 212 + ------------------------------------------------- 213 + pc87413_wdt: 214 + io: pc87413 WDT I/O port (default: io). 215 + timeout: Watchdog timeout in minutes (default=timeout). 216 + nowayout: Watchdog cannot be stopped once started 217 + (default=kernel config parameter) 218 + ------------------------------------------------- 219 + pika_wdt: 220 + heartbeat: Watchdog heartbeats in seconds. (default = 15) 221 + nowayout: Watchdog cannot be stopped once started 222 + (default=kernel config parameter) 223 + ------------------------------------------------- 224 + pnx4008_wdt: 225 + heartbeat: Watchdog heartbeat period in seconds from 1 to 60, default 19 226 + nowayout: Set to 1 to keep watchdog running after device release 227 + ------------------------------------------------- 228 + pnx833x_wdt: 229 + timeout: Watchdog timeout in Mhz. (68Mhz clock), default=2040000000 (30 seconds) 230 + nowayout: Watchdog cannot be stopped once started 231 + (default=kernel config parameter) 232 + start_enabled: Watchdog is started on module insertion (default=1) 233 + ------------------------------------------------- 234 + rc32434_wdt: 235 + timeout: Watchdog timeout value, in seconds (default=20) 236 + nowayout: Watchdog cannot be stopped once started 237 + (default=kernel config parameter) 238 + ------------------------------------------------- 239 + riowd: 240 + riowd_timeout: Watchdog timeout in minutes (default=1) 241 + ------------------------------------------------- 242 + s3c2410_wdt: 243 + tmr_margin: Watchdog tmr_margin in seconds. (default=15) 244 + tmr_atboot: Watchdog is started at boot time if set to 1, default=0 245 + nowayout: Watchdog cannot be stopped once started 246 + (default=kernel config parameter) 247 + soft_noboot: Watchdog action, set to 1 to ignore reboots, 0 to reboot 248 + debug: Watchdog debug, set to >1 for debug, (default 0) 249 + ------------------------------------------------- 250 + sa1100_wdt: 251 + margin: Watchdog margin in seconds (default 60s) 252 + ------------------------------------------------- 253 + sb_wdog: 254 + timeout: Watchdog timeout in microseconds (max/default 8388607 or 8.3ish secs) 255 + ------------------------------------------------- 256 + sbc60xxwdt: 257 + wdt_stop: SBC60xx WDT 'stop' io port (default 0x45) 258 + wdt_start: SBC60xx WDT 'start' io port (default 0x443) 259 + timeout: Watchdog timeout in seconds. (1<=timeout<=3600, default=30) 260 + nowayout: Watchdog cannot be stopped once started 261 + (default=kernel config parameter) 262 + ------------------------------------------------- 263 + sbc7240_wdt: 264 + timeout: Watchdog timeout in seconds. (1<=timeout<=255, default=30) 265 + nowayout: Disable watchdog when closing device file 266 + ------------------------------------------------- 267 + sbc8360: 268 + timeout: Index into timeout table (0-63) (default=27 (60s)) 269 + nowayout: Watchdog cannot be stopped once started 270 + (default=kernel config parameter) 271 + ------------------------------------------------- 272 + sbc_epx_c3: 273 + nowayout: Watchdog cannot be stopped once started 274 + (default=kernel config parameter) 275 + ------------------------------------------------- 276 + sbc_fitpc2_wdt: 277 + margin: Watchdog margin in seconds (default 60s) 278 + nowayout: Watchdog cannot be stopped once started 279 + ------------------------------------------------- 280 + sc1200wdt: 281 + isapnp: When set to 0 driver ISA PnP support will be disabled (default=1) 282 + io: io port 283 + timeout: range is 0-255 minutes, default is 1 284 + nowayout: Watchdog cannot be stopped once started 285 + (default=kernel config parameter) 286 + ------------------------------------------------- 287 + sc520_wdt: 288 + timeout: Watchdog timeout in seconds. (1 <= timeout <= 3600, default=30) 289 + nowayout: Watchdog cannot be stopped once started 290 + (default=kernel config parameter) 291 + ------------------------------------------------- 292 + sch311x_wdt: 293 + force_id: Override the detected device ID 294 + therm_trip: Should a ThermTrip trigger the reset generator 295 + timeout: Watchdog timeout in seconds. 1<= timeout <=15300, default=60 296 + nowayout: Watchdog cannot be stopped once started 297 + (default=kernel config parameter) 298 + ------------------------------------------------- 299 + scx200_wdt: 300 + margin: Watchdog margin in seconds 301 + nowayout: Disable watchdog shutdown on close 302 + ------------------------------------------------- 303 + shwdt: 304 + clock_division_ratio: Clock division ratio. Valid ranges are from 0x5 (1.31ms) 305 + to 0x7 (5.25ms). (default=7) 306 + heartbeat: Watchdog heartbeat in seconds. (1 <= heartbeat <= 3600, default=30 307 + nowayout: Watchdog cannot be stopped once started 308 + (default=kernel config parameter) 309 + ------------------------------------------------- 310 + smsc37b787_wdt: 311 + timeout: range is 1-255 units, default is 60 312 + nowayout: Watchdog cannot be stopped once started 313 + (default=kernel config parameter) 314 + ------------------------------------------------- 315 + softdog: 316 + soft_margin: Watchdog soft_margin in seconds. 317 + (0 < soft_margin < 65536, default=60) 318 + nowayout: Watchdog cannot be stopped once started 319 + (default=kernel config parameter) 320 + soft_noboot: Softdog action, set to 1 to ignore reboots, 0 to reboot 321 + (default=0) 322 + ------------------------------------------------- 323 + stmp3xxx_wdt: 324 + heartbeat: Watchdog heartbeat period in seconds from 1 to 4194304, default 19 325 + ------------------------------------------------- 326 + ts72xx_wdt: 327 + timeout: Watchdog timeout in seconds. (1 <= timeout <= 8, default=8) 328 + nowayout: Disable watchdog shutdown on close 329 + ------------------------------------------------- 330 + twl4030_wdt: 331 + nowayout: Watchdog cannot be stopped once started 332 + (default=kernel config parameter) 333 + ------------------------------------------------- 334 + txx9wdt: 335 + timeout: Watchdog timeout in seconds. (0<timeout<N, default=60) 336 + nowayout: Watchdog cannot be stopped once started 337 + (default=kernel config parameter) 338 + ------------------------------------------------- 339 + w83627hf_wdt: 340 + wdt_io: w83627hf/thf WDT io port (default 0x2E) 341 + timeout: Watchdog timeout in seconds. 1 <= timeout <= 255, default=60. 342 + nowayout: Watchdog cannot be stopped once started 343 + (default=kernel config parameter) 344 + ------------------------------------------------- 345 + w83697hf_wdt: 346 + wdt_io: w83697hf/hg WDT io port (default 0x2e, 0 = autodetect) 347 + timeout: Watchdog timeout in seconds. 1<= timeout <=255 (default=60) 348 + nowayout: Watchdog cannot be stopped once started 349 + (default=kernel config parameter) 350 + early_disable: Watchdog gets disabled at boot time (default=1) 351 + ------------------------------------------------- 352 + w83697ug_wdt: 353 + wdt_io: w83697ug/uf WDT io port (default 0x2e) 354 + timeout: Watchdog timeout in seconds. 1<= timeout <=255 (default=60) 355 + nowayout: Watchdog cannot be stopped once started 356 + (default=kernel config parameter) 357 + ------------------------------------------------- 358 + w83877f_wdt: 359 + timeout: Watchdog timeout in seconds. (1<=timeout<=3600, default=30) 360 + nowayout: Watchdog cannot be stopped once started 361 + (default=kernel config parameter) 362 + ------------------------------------------------- 363 + w83977f_wdt: 364 + timeout: Watchdog timeout in seconds (15..7635), default=45) 365 + testmode: Watchdog testmode (1 = no reboot), default=0 366 + nowayout: Watchdog cannot be stopped once started 367 + (default=kernel config parameter) 368 + ------------------------------------------------- 369 + wafer5823wdt: 370 + timeout: Watchdog timeout in seconds. 1 <= timeout <= 255, default=60. 371 + nowayout: Watchdog cannot be stopped once started 372 + (default=kernel config parameter) 373 + ------------------------------------------------- 374 + wdt285: 375 + soft_margin: Watchdog timeout in seconds (default=60) 376 + ------------------------------------------------- 377 + wdt977: 378 + timeout: Watchdog timeout in seconds (60..15300, default=60) 379 + testmode: Watchdog testmode (1 = no reboot), default=0 380 + nowayout: Watchdog cannot be stopped once started 381 + (default=kernel config parameter) 382 + ------------------------------------------------- 383 + wm831x_wdt: 384 + nowayout: Watchdog cannot be stopped once started 385 + (default=kernel config parameter) 386 + ------------------------------------------------- 387 + wm8350_wdt: 388 + nowayout: Watchdog cannot be stopped once started 389 + (default=kernel config parameter) 390 + -------------------------------------------------
+11 -4
Documentation/watchdog/wdt.txt
··· 14 14 boards physically pull the machine down off their own onboard timers and 15 15 will reboot from almost anything. 16 16 17 - A second temperature monitoring interface is available on the WDT501P cards 17 + A second temperature monitoring interface is available on the WDT501P cards. 18 18 This provides /dev/temperature. This is the machine internal temperature in 19 19 degrees Fahrenheit. Each read returns a single byte giving the temperature. 20 20 21 21 The third interface logs kernel messages on additional alert events. 22 22 23 - The wdt card cannot be safely probed for. Instead you need to pass 24 - wdt=ioaddr,irq as a boot parameter - eg "wdt=0x240,11". 23 + The ICS ISA-bus wdt card cannot be safely probed for. Instead you need to 24 + pass IO address and IRQ boot parameters. E.g.: 25 + wdt.io=0x240 wdt.irq=11 26 + 27 + Other "wdt" driver parameters are: 28 + heartbeat Watchdog heartbeat in seconds (default 60) 29 + nowayout Watchdog cannot be stopped once started (kernel 30 + build parameter) 31 + tachometer WDT501-P Fan Tachometer support (0=disable, default=0) 32 + type WDT501-P Card type (500 or 501, default=500) 25 33 26 34 Features 27 35 -------- ··· 48 40 49 41 50 42 Example Watchdog Driver: see Documentation/watchdog/src/watchdog-simple.c 51 -
-1
drivers/watchdog/eurotechwdt.c
··· 68 68 69 69 /* 70 70 * You must set these - there is no sane way to probe for this board. 71 - * You can use eurwdt=x,y to set these now. 72 71 */ 73 72 74 73 static int io = 0x3f0;
+1 -1
drivers/watchdog/wdt.c
··· 91 91 static int type = 500; 92 92 module_param(type, int, 0); 93 93 MODULE_PARM_DESC(type, 94 - "WDT501-P Card type (500 or 501 , default=500)"); 94 + "WDT501-P Card type (500 or 501, default=500)"); 95 95 96 96 /* 97 97 * Programming support