linux/drivers/watchdog/softdog.c
<<
>>
Prefs
   1/*
   2 *      SoftDog:        A Software Watchdog Device
   3 *
   4 *      (c) Copyright 1996 Alan Cox <alan@lxorguk.ukuu.org.uk>,
   5 *                                                      All Rights Reserved.
   6 *
   7 *      This program is free software; you can redistribute it and/or
   8 *      modify it under the terms of the GNU General Public License
   9 *      as published by the Free Software Foundation; either version
  10 *      2 of the License, or (at your option) any later version.
  11 *
  12 *      Neither Alan Cox nor CymruNet Ltd. admit liability nor provide
  13 *      warranty for any of this software. This material is provided
  14 *      "AS-IS" and at no charge.
  15 *
  16 *      (c) Copyright 1995    Alan Cox <alan@lxorguk.ukuu.org.uk>
  17 *
  18 *      Software only watchdog driver. Unlike its big brother the WDT501P
  19 *      driver this won't always recover a failed machine.
  20 *
  21 *  03/96: Angelo Haritsis <ah@doc.ic.ac.uk> :
  22 *      Modularised.
  23 *      Added soft_margin; use upon insmod to change the timer delay.
  24 *      NB: uses same minor as wdt (WATCHDOG_MINOR); we could use separate
  25 *          minors.
  26 *
  27 *  19980911 Alan Cox
  28 *      Made SMP safe for 2.3.x
  29 *
  30 *  20011127 Joel Becker (jlbec@evi1lass="line" name="L30">  30 *  20011127 Joel Becker (jlbec@ev0dog/softdog.c#L1=gx class="comment"> *  03/96: Angelo Har3tsis <ah@doc.ic.ac.u3> 3
 *  03/96: Anarised.<3span>
  26 *

  26 *
6">  26 *

 *  03/96: Anhref="dr3vers/watchdog/softdog.c3L27" 3guk.ukuu.org.uk>
  26 *

  26 *

 *

code=pr_fmtntents">pr_fmt="L3(refs();">
code=fmtntents">fmt="L3)prefs();">
code=KBUILD_MODNAMEntents">KBUILD_MODNAME="L3 ftdog.c#L28" ="ling">5" cla:#L15" i6">  26prefs();">
code=fmtntents">fmt="L3> *      (c) CopyJoel Bec4er (jlbec@evi1lass="lin4" nam40="L3> *      (c) Copygelo Har4tsis <ah@doc.ic.ac.u4> 4ng" a/verule.h/spa0dog> *      (c) Copyarised.<4span>
ng" a/veruleme="m.h/spa0dog> *      (c) Copyef="driv4ers/watchdog/softdog.c#4chang43/spa#inclucla22" ng" a/   *      (c) Copyyright 19996 Alan Cox <alan@lxINOR)44/spa#inclucla22" ng" a/ e" n.h/spa0dog> *      (c) Copyinors.
.hsis <af();">ng" a/viscd"L3">.h/spa0dog> *      (c) Copyhref="dr4vers/watchdog/softdog.c4L27" 46/spa#inclucla22"  * .hsis <af();">ng" a/ent"> * .h/spa0dog> *      (c) CopyAlan Cox4/span>
ng" a/notifi n.h/spa0dog> *      (c) CopySMP safe4for 2.3.x
ng" a/rebocl.h/spa0dog> *      (c) Copyhref="dr4vers/watchdog/softdog.c4L30" 49/spa#inclucla22" ng" a/inil.h/spa0dog> *      (c) Cop5Joel Bec5er (jlbec@evi1lass="lin5" nam50/spa#inclucla22" ng" a/jiffi s.h/spa0dog> *      (c) Cop5gelo Har5tsis <ah@doc.ic.ac.u5> 5ng" a/7 Jn00.h/spa0dog> *      (c) Cop5arised.<5span>
 *      (c) Cop5ef="driv5ers/watchdog/softdog.c#5chang53="L3#defog/prefs();">
code=TIMER_MARGINntents">TIMER_MARGIN="L3  id=06" id="L6" cla class="line" name="L2"> Defaultne" =06s0" ndscl/6">  26 *

code=/watchdog/sntents">/watchdog/s="L3 =prefs();">
code=TIMER_MARGINntents">TIMER_MARGIN="L3;a class="line" name="L2"> in6s0" ndscl/6">  26 *

code=verule_me="mntents">verule_me="m="L3(refs();">
code=/watchdog/sntents">/watchdog/s="L3,prefs();">
code=uintntents">uint="L3,p0)g> *      (c) Cop5href="dr5vers/watchdog/softdog.c5L27" 56softdefs();">
code=MODULE_PARM_DESCntents">MODULE_PARM_DESC="L3(refs();">
code=/watchdog/sntents">/watchdog/s="L3,> *      (c) Cop5Alan Cox5/span>
5" claine" name/watchdog/s in6s0" nds. (0a22" e/watchdog/s 22" e65536, default=L15" i6">  26> *      (c) Cop5SMP safe5for 2.3.x

code=__MODULE_STRINGntents">__MODULE_STRING="L3(refs();">
code=TIMER_MARGINntents">TIMER_MARGIN="L3)a class="line"="ling">5" cla)L15" i6">  26)g> *      (c) Cop5href="dr5vers/watchdog/softdog.c5L30" 59="L3> *      (c) Cop6Joel Bec6er (jlbec@evi1lass="lin6" nam60/spa	  
code=boclntents">bocl="L3 fefs();">
code=" id=outntents">" id=out="L3 =prefs();">
code=.c#L25" iNOWAYOUTntents">.c#L25" iNOWAYOUT="L3;> *      (c) Cop6gelo Har6tsis <ah@doc.ic.ac.u6> 61softdefs();">
code=verule_me="mntents">verule_me="m="L3(refs();">
code=" id=outntents">" id=out="L3,prefs();">
code=boclntents">bocl="L3,p0)g> *      (c) Cop6arised.<6span>

code=MODULE_PARM_DESCntents">MODULE_PARM_DESC="L3(refs();">
code=" id=outntents">" id=out="L3,> *      (c) Cop6ef="driv6ers/watchdog/softdog.c#6chang63="L3  id claaaaaaaaa class="line"="ling">5" claine" namecannot be stoppersonce starters(default=L15" i6">  26> *      (c) Cop6yright 16996 Alan Cox <alan@l6INOR)64="L3  id claaaaaaaaaaaaaaaaaaaaaaaaarefs();">
code=__MODULE_STRINGntents">__MODULE_STRING="L3(refs();">
code=.c#L25" iNOWAYOUTntents">.c#L25" iNOWAYOUT="L3)a class="line"="ling">5" cla)L15" i6">  26)g> *      (c) Cop6        6                       6tchdo65="L3> *      (c) Cop6ef="driveers/watchdog/softdog.c#LL27" 66/spa	  
code=/watcnoboclntents">/watcnobocl="L3 =p0g> *      (c) Cop6Alan Cox6/span>

code=verule_me="mntents">verule_me="m="L3(refs();">
code=/watcnoboclntents">/watcnobocl="L3, int,p0)g> *      (c) Cop6SMP safe6for 2.3.x

code=MODULE_PARM_DESCntents">MODULE_PARM_DESC="L3(refs();">
code=/watcnoboclntents">/watcnobocl="L3,> *      (c) Cop6href="dr6vers/watchdog/softdog.c6L30" 69="L3  id cla class="line"="ling">5" claS  03/9 ame="a,6s0t"L241"L24ignore rebocls,p0"L24rebocls(default=0)L15" i6">  26)g> *      (c) Cop7Joel Bec7er (jlbec@evi1lass="lin7" nam70="L3> *      (c) Cop7gelo Har7tsis <ah@doc.ic.ac.u7> 71/spa	  
code=/watc  2icntents">/watc  2ic="L3;> *      (c) Cop7arised.<7span>

code=verule_me="mntents">verule_me="m="L3(refs();">
code=/watc  2icntents">/watc  2ic="L3, int,p0)g> *      (c) Cop7ef="driv7ers/watchdog/softdog.c#7chang73softdefs();">
code=MODULE_PARM_DESCntents">MODULE_PARM_DESC="L3(refs();">
code=/watc  2icntents">/watc  2ic="L3,> *      (c) Cop7yright 17996 Alan Cox <alan@l7INOR)74="L3  id cla class="line"="ling">5" claS  03/9 ame="a,6s0t"L241"L24  2ic,p0"L24rebocls(default=0)L15" i6">  26)g> *      (c) Cop7        7                       7tchdo75="L3> *      (c) Cop7ef="driv7ers/watchdog/softdog.c#7L27" 7guk.ukuu.org.uk>
">   2 *      SoftDog7ogram is  free software; you can watch7tribute it and/or
 *      SoftDog7SMP safe7for 2.3.x
  26 *
 *      (c) Cop8Joel Bec8er (jlbec@evi1lass="lin8" nam80/spa	  
code=ent"> * _firentents">ent"> * _fire="L3(unsignerslong)g> *      (c) Cop8gelo Har8tsis <ah@doc.ic.ac.u8> 81="L3> *      (c) Cop8arised.<8span>

code=ne" n_lislntents">ne" n_lisl="L3 fefs();">
code=ent"> * _ent"> * _ *      (c) Cop8ef="driv8ers/watchdog/softdog.c#8chang83="L3  id claaaaaaaaa efs();">
code=TIMER_INITIALIZERntents">TIMER_INITIALIZER="L3(refs();">
code=ent"> * _firentents">ent"> * _fire="L3,p0,p0)g> *      (c) Cop8yright 18996 Alan Cox <alan@l8INOR)84="L3> *      (c) Cop8        8                       8tchdo8/softdog.c#L26" id="L26" cl">   2 *      SoftDog8ef="driv8ers/watchdog/softdog.c#8L27" 8guk.ukuu.org.uk>
  26 *
  26 *
 *

code=ent"> * _firentents">ent"> * _fire="L3(unsignerslongprefs();">
code=datantents">data="L3)> *      as publiJoel Bec9er (jlbec@evi1lass="lin9" nam90/spa{> *      as publigelo Har9tsis <ah@doc.ic.ac.u9> 91="L3  id claif (refs();">
code=/watcnoboclntents">/watcnobocl="L3)> *      as publiarised.<9span>

code=pr_critntents">pr_crit="L3(rclass="line"="ling">5" claTligg Jers- Reboclsignored\nL15" i6">  26)g> *      (c) Cop9ef="driv9ers/watchdog/softdog.c#9chang93="L3  id claelseaif (refs();">
code=/watc  2icntents">/watc  2ic="L3) {> *      as publiyright 19996 Alan Cox <alan@l9INOR)94="L3  id claaaaaaaaa efs();">
code=pr_critntents">pr_crit="L3(rclass="line"="ling">5" claInitiatings  2ic\nL15" i6">  26)g> *      (c) Cop9        9                       9tchdo95="L3  id claaaaaaaaa efs();">
code=p 2icntents">  2ic="L3(rclass="line"="ling">5" cla class="line" nameTe" naexpiredL15" i6">  26)g> *      (c) Cop9ef="driv9ers/watchdog/softdog.c#9L27" 96="L3  id cla}aelsea{> *      as publiogram is9 free software; you can9watch97="L3  id claaaaaaaaa efs();">
code=pr_critntents">pr_crit="L3(rclass="line"="ling">5" claInitiatingssystem4rebocl\nL15" i6">  26)g> *      (c) Cop9it under9 the terms of the GNU G9="dri98="L3  id claaaaaaaaa efs();">
code=e" ngencyass=tartntents">e" ngencyass=tart="L3()g> *      (c) Cop9ished by  the Free Software FoundL30" 99="L3  id claaaaaaaaa efs();">
code=pr_critntents">pr_crit="L3(rclass="line"="ling">5" claReboclsdidog.c#L20?????\nL15" i6">  26)g> *      (c) Cop10the Licensse, or (at your option) a" na a"="L3  id cla}> *      (c) Cop10href="dri0vers/watchdog/softdog.c#01 na a1="L3}> *      (c) Cop10er Alan C0ox nor CymruNet Ltd. adm02 na a2="L3> *      (c) Cop10nty for a0ny of this software. Thi03 na a the timer delay.
   2 *      SoftDog10;AS-IS&qu0ot; and at no charge.
 *      SoftDog10href="dri0vers/watchdog/softdog.c#05 na a/softdog.c#L26" id="L26" clas/6">  26 *
 *      (c) Cop10href="dri0vers/watchdog/softdog.c#07 na a7/spa	  
code=/wat * _ping"tents">/wat * _ping="L3(="luctprefs();">
code=ent"> * _d"L3">ntents">ent"> * _d"L3">  aan>6efs();">
code=entents">e="L3)> *      as publ10are only 0watchdog driver. Unlike 08 na a8/spa{> *      as publ10r this wo0n't always recover a09 na a9="L3  id cla efs();">
code=ver_ne" nntents">ver_ne" n  L3(&refs();">
code=ent"> * _ent"> * _
code=jiffi sntents">jiffi s="L3+(refs();">
code=entents">e="L3-0dog/efs();">
code=ne" outntents">ne" out="L3>6efs();">
code=HZntents">HZ="L3))g> *      (c) Cop1 the Licennse, or (at your option)  any 11"="L3  id cla="">
  0g> *      (c) Cop1 href="drivvers/watchdog/softdog.c#L1 na 11="L3}> *      (c) Cop1her Alan CCox nor CymruNet Ltd. admmit l112="L3> *      (c) Cop1anty for aany of this software. Thiis ma1erial 	  
code=/wat * _stop"tents">/wat * _stop="L3(="luctprefs();">
code=ent"> * _d"L3">ntents">ent"> * _d"L3">  aan>6efs();">
code=entents">e="L3)> *      as publ1t;AS-IS&quuot; and at no charge.1 *      as publ1 href="driivers/watchdog/softdog.c##L16"115="L3  id cla efs();">
code=del_ne" nntents">del_ne" n  L3(&refs();">
code=ent"> * _ent"> * _ *      (c) Cop1 opyright  1995    Alan Cox <alaan@lx116="L3  id cla="">
  0g> *      (c) Cop1 href="driivers/watchdog/softdog.c##L18"1id="L1}> *      (c) Cop1hare only  watchdog driver. Unlike  its 11ers/w *

code=/wat * _set_ne" outntents">/wat * _set_ne" out="L3(="luctprefs();">
code=ent"> * _d"L3">ntents">ent"> * _d"L3">  aan>6efs();">
code=entents">e="L3, unsignersintprefs();">
code=tntents">n="L3)> *      as publ1 href="dr1ivers/watchdog/softdog.c1#L21"120/spa{> *      as publ1ngelo Har1itsis <ah@doc.ic.ac.u1k>121="L3  id cla efs();">
code=entents">e="L3-0dog/efs();">
code=ne" outntents">ne" out="L3 =prefs();">
code=tntents">n="L3g> *      (c) Cop12er Alan Coox nor CymruNet Ltd. admiit l122="L3  id cla="">
  0g> *      (c) Cop1d soft_ma1rgin; use upon insmod to1 chan1e the }> *      (c) Cop1uses same1 minor as wdt (WATCHDOG_1MINOR124="L3> *      (c) Cop1minors.
   2 *      SoftDog1 href="dr1ivers/watchdog/softdog.c1#L27"1id="L27" class="line" name="L2id claNotifi n" namsystem4dow10">  10 *      2 of  Alan Cox1
  26 *

 *

code=/wat * _notify_sysntents">/wat * _notify_sys="L3(="luctprefs();">
code=notifi n_blockntents">notifi n_block  aan>6efs();">
code=g/sontents">n/so="L3, unsignerslongprefs();">
code=codentents">code="L3,> *      (c) Cop1 Joel Bec1ker (jlbec@evi1lass="lin1e" na13"="L3  id clavoidp>6efs();">
code=unusedntents">unused="L3)> *      as publ1ngelo Har13tsis <ah@doc.ic.ac.u13>13 *      as publ1narised.<13span>

code=codentents">code="L3 ==prefs();">
code=SYS_DOWNntents">SYS_DOWN="L3 ||prefs();">
code=codentents">code="L3 ==prefs();">
code=SYS_HALTntents">SYS_HALT="L3)> *      as publ1nnty for anny of this software. Thischan133="L3  id claaaaaaaaa class="line" name="L2"> T>
  e" name offcl/6">  26 *

code=/wat * _stop"tents">/wat * _stop="L3( efs();">
code=NULL"tents">NULL="L3)g> *      (c) Cop13inors.

   efs();">
code=NOTIFY_DONEntents">NOTIFY_DONE="L3g> *      (c) Cop1nhref="dr13vers/watchdog/softdog.c13L27"13guk.u}> *      (c) Cop13Alan Cox13/span>
 *      (c) Cop13SMP safe13for 2.3.x
   2 *      SoftDog13href="dr13vers/watchdog/softdog.c13L30"13d machine.
 *      SoftDog1yJoel Bec14er (jlbec@evi1lass="lin14" na14="L30">  30  26 *
 *      (c) Cop1yarised.<14span>

code=notifi n_blockntents">notifi n_block  aanrefs();">
code=/wat * _notifi nntents">/wat * _notifi n="L3 =p{> *      as publ1yef="driv14ers/watchdog/softdog.c#14chan143="L3  id cla.refs();">
code=notifi n_callntents">notifi n_call="L3  =prefs();">
code=/wat * _notify_sysntents">/wat * _notify_sys="L3,> *      (c) Cop1yyright 119996 Alan Cox <alan@l1xINOR144/spa}g> *      (c) Cop1yinors.
 *      (c) Cop1yhref="dr14vers/watchdog/softdog.c14L27"146/spa	  
code=ent"> * _infontents">ent"> * _info  aanrefs();">
code=/wat * _infontents">/wat * _info="L3 =p{> *      as publ1yAlan Cox14/span>

code=idlasityntents">idlasity="L3 =prclass="line"="ling">5" cla class="line" namL15" i6">  26,> *      (c) Cop1ySMP safe14for 2.3.x

code=L11" csntents">L11" cs="L3 =prefs();">
code=WDIOF_SETTIMEOUTntents">.DIOF_SETTIMEOUT="L3 |prefs();">
code=WDIOF_KEEPALIVEPINGntents">WDIOF_KEEPALIVEPING="L3 |prefs();">
code=WDIOF_MAGICCLOSEntents">WDIOF_MAGICCLOSE="L3,> *      (c) Cop1yhref="dr14vers/watchdog/softdog.c14L30"149/spa}g> *      (c) Cop15Joel Bec15er (jlbec@evi1lass="lin15" na150="L3> *      (c) Cop15gelo Har15tsis <ah@doc.ic.ac.u15>151/spa	  
code=ent"> * _opsntents">ent"> * _ops  aanrefs();">
code=/wat * _opsntents">/wat * _ops="L3 =p{> *      as publ15arised.<15span>

code=Lwn nntents">Lwn n="L3 =prefs();">
code=THIS_MODULEntents">THIS_MODULE="L3,> *      (c) Cop15ef="driv15ers/watchdog/softdog.c#15chan153="L3  id cla.refs();">
code==tartntents">=tart="L3 =prefs();">
code=/wat * _ping"tents">/wat * _ping="L3,> *      (c) Cop15yright 115996 Alan Cox <alan@l15INOR154="L3  id cla.refs();">
code==top"tents">/top="L3 =prefs();">
code=/wat * _stop"tents">/wat * _stop="L3,> *      (c) Cop15inors.
code=ping"tents">ping="L3 =prefs();">
code=/wat * _ping"tents">/wat * _ping="L3,> *      (c) Cop15href="dr15vers/watchdog/softdog.c15L27"156="L3  id cla.refs();">
code==et_ne" outntents">/et_ne" out="L3 =prefs();">
code=/wat * _set_ne" outntents">/wat * _set_ne" out="L3,> *      (c) Cop15Alan Cox15/span>
 *      (c) Cop15SMP safe15for 2.3.x
 *

code=ent"> * _d"L3">ntents">ent"> * _d"L3">  aanrefs();">
code=/wat * _d"Lntents">/wat * _d"L="L3 =p{> *      as publ16Joel Bec16er (jlbec@evi1lass="lin16" na160="L3  id cla.refs();">
code=infontents">info="L3 =p&refs();">
code=/wat * _infontents">/wat * _info="L3,> *      (c) Cop16gelo Har16tsis <ah@doc.ic.ac.u16>161="L3  id cla.refs();">
code=Lpsntents">ops="L3 =p&refs();">
code=/wat * _opsntents">/wat * _ops="L3,> *      (c) Cop16arised.<16span>

code=min_ne" outntents">min_ne" out="L3 =p1,> *      (c) Cop16ef="driv16ers/watchdog/softdog.c#16chan163="L3  id cla.refs();">
code=max_ne" outntents">max_ne" out="L3 =p0xFFFF> *      (c) Cop16yright 116996 Alan Cox <alan@l16INOR164/spa}g> *      (c) Cop16        16                       16tchd165="L3> *      (c) Cop16opyright 11995    Alan Cox <alanL27"166/spa	  
code=__inilntents">__inil  aanrefs();">
code=ent"> * _inilntents">ent"> * _inil="L3(void)> *      as publ16Alan Cox16/span>
 *      as publ16SMP safe16for 2.3.x

code=relntents">rel="L3g> *      (c) Cop16href="dr16vers/watchdog/softdog.c16L30"169="L3> *      (c) Cop17Joel Bec17er (jlbec@evi1lass="lin17" na170="L3  id cla class="line" name="L2"> Check thats="li*  0chdog/s  
   ne" wive/s itg.c#Lserclas17">  17 *

  26 *


code=*  0chdog/sntents">/watchdog/s="L3 22" e1 ||prefs();">
code=*  0chdog/sntents">/watchdog/s="L3 2g" e65535) {> *      as publ17ef="driv17ers/watchdog/softdog.c#17chan173="L3  id claaaaaaaaa efs();">
code=pr_infontents">pr_info="L3( class="line"="ling">5" cla*  0chdog/s must be 0a22" e/watchdog/s 22" e65536, usingsg.c7;d\nL15" i6">  26,> *      (c) Cop17yright 117996 Alan Cox <alan@l17INOR174="L3  id claaaaaaaaaaaaaaaaa efs();">
code=TIMER_MARGINntents">TIMER_MARGIN="L3)g> *      (c) Cop17        17                       17tchd175="L3  id claaaaaaaaa="">
  - efs();">
code=EINVAL"tents">EINVAL="L3g> *      (c) Cop17ef="driv17ers/watchdog/softdog.c#17L27"176="L3  id cla}> *      (c) Cop17href="drivvers/watchdog/softdog.c#Lwatc177="L3  id cla efs();">
code=/wat * _d"Lntents">/wat * _d"L="L3.refs();">
code=ne" outntents">ne" out="L3 =prefs();">
code=*  0chdog/sntents">/watchdog/s="L3g> *      (c) Cop17SMP safe17for 2.3.x
 *

code=ent"> * _set_" id=outntents">ent"> * _set_" id=out  L3(&refs();">
code=/wat * _d"Lntents">/wat * _d"L="L3,prefs();">
code=" id=outntents">" id=out="L3)g> *      (c) Cop18Joel Bec18er (jlbec@evi1lass="lin18" na180="L3> *      (c) Cop18gelo Har18tsis <ah@doc.ic.ac.u18>181="L3  id cla efs();">
code=relntents">rel="L3 =prefs();">
code=register_rebocl_notifi nntents">register_rebocl_notifi n  L3(&refs();">
code=/wat * _notifi nntents">/wat * _notifi n="L3)g> *      (c) Cop18arised.<18span>

code=relntents">rel="L3) {> *      as publ18ef="driv18ers/watchdog/softdog.c#18chan183="L3  id claaaaaaaaa efs();">
code=pr_ernntents">pr_ern="L3( class="line"="ling">5" clacannot register4reboclsnotifi n (ern=g.c7;d)\nL15" i6">  26,a efs();">
code=relntents">rel="L3)g> *      (c) Cop18yright 118996 Alan Cox <alan@l18INOR184="L3  id claaaaaaaaa="">
   efs();">
code=relntents">rel="L3g> *      (c) Cop18        18                       18tchd185="L3  id cla}> *      (c) Cop18ef="driv18ers/watchdog/softdog.c#18L27"186="L3> *      (c) Cop18ogram is18 free software; you can18watc187="L3  id cla efs();">
code=relntents">rel="L3 =prefs();">
code=ent"> * _register_d"L3">ntents">ent"> * _register_d"L3">  L3(&refs();">
code=/wat * _d"Lntents">/wat * _d"L="L3)g> *      (c) Cop18are only wwatchdog driver. Unlike i="dr188="L3  id claif (refs();">
code=relntents">rel="L3) {> *      as publ18href="dr18vers/watchdog/softdog.c18L30"189="L3  id claaaaaaaaa efs();">
code=unregister_rebocl_notifi nntents">unregister_rebocl_notifi n  L3(&refs();">
code=/wat * _notifi nntents">/wat * _notifi n="L3)g> *      (c) Cop1iJoel Bec19er (jlbec@evi1lass="lin19" na190="L3  id claaaaaaaaa="">
   efs();">
code=relntents">rel="L3g> *      (c) Cop1igelo Har19tsis <ah@doc.ic.ac.u19>191="L3  id cla}> *      (c) Cop1iarised.<19span>
 *      (c) Cop19ef="driv19ers/watchdog/softdog.c#19chan193="L3  id cla efs();">
code=pr_infontents">pr_info="L3( class="line"="ling">5" cla class="line" nameTe" n: 0.08 initialized.s/watcnobocl=g.c7;de/watchdog/s=g.c7;de/ece/watc  2ic=g.c7;de(" id=out=g.c7;d)\nL15" i6">  26,> *      (c) Cop19yright 119996 Alan Cox <alan@l19INOR194="L3  id claaaaaaaaa efs();">
code=/watcnoboclntents">/watcnobocl="L3, refs();">
code=*  0chdog/sntents">/watchdog/s="L3, refs();">
code=*  0c  2icntents">/watc  2ic="L3, refs();">
code=" id=outntents">" id=out="L3)g> *      (c) Cop19        19                       19tchd195="L3> *      (c) Cop19ef="driv19ers/watchdog/softdog.c#19L27"196="L3  id cla="">
  0g> *      (c) Cop1iogram is19 free software; you can19watc19d="L1}> *      (c) Cop19it under19 the terms of the GNU G19="dr19ers/w *

code=__exilntents">__exil  aanrefs();">
code=ent"> * _exilntents">ent"> * _exil="L3(void)> *      as publ20the Lice2sse, or (at your option)2a" na200/spa{> *      as publ20href="dr20vers/watchdog/softdog.c201 na201="L3  id cla efs();">
code=ent"> * _unregister_d"L3">ntents">ent"> * _unregister_d"L3">  L3(&refs();">
code=/wat * _d"Lntents">/wat * _d"L="L3)g> *      (c) Cop20er Alan 20ox nor CymruNet Ltd. ad202 na202="L3  id cla efs();">
code=unregister_rebocl_notifi nntents">unregister_rebocl_notifi n  L3(&refs();">
code=/wat * _notifi nntents">/wat * _notifi n="L3)g> *      (c) Cop20nty for 20ny of this software. Th203 na20 the }> *      (c) Cop20;AS-IS&q20ot; and at no charge. *      (c) Cop20href="dr20vers/watchdog/softdog.c205 na20/softdefs();">
code=verule_inilntents">verule_inil="L3( efs();">
code=ent"> * _inilntents">ent"> * _inil="L3)g> *      (c) Cop20href="dri01995    Alan Cox <al206 na206softdefs();">
code=verule_exilntents">verule_exil="L3( efs();">
code=ent"> * _exilntents">ent"> * _exil="L3)g> *      (c) Cop20Alan Cox<0vers/watchdog/softdog.c207 na20og/so> *      (c) Cop20are only20watchdog driver. Unlike208 na208softdefs();">
code=MODULE_AUTHORntents">MODULE_AUTHOR="L3( class="line"="ling">5" claname="L2L15" i6">  26)g> *      (c) Cop20r this w20n't always recover 209 na2a9="L3defs();">
code=MODULE_DESCRIPTIONntents">MODULE_DESCRIPTION="L3( class="line"="ling">5" cla class="line" nameD"L3"> Ds="coL15" i6">  26)g> *      (c) Cop2 the Lice2nse, or (at your option)2 any 2ater veefs();">
code=MODULE_LICENSEntents">MODULE_LICENSE="L3( class="line"="ling">5" claGPLL15" i6">  26)g> *      (c) Cop2 gelo Harittsis <ah@doc.ic.ac.uk&1 na211softdefs();">
code=MODULE_ALIAS_MISCDEVntents">MODULE_ALIAS_MISCDEV="L3( efs();">
code=.c#L25" id="L2ntents">.c#L25" id="L2="L3)g> *      (c) Cop2her Alan 2Cox nor CymruNet Ltd. ad2mit l2ability/prety/div>


y/div>

The orig/sal LXR#L14" id= by4="lilxn@lg" a.no="L3. y/div>
lxn.lg" a.no kindly hostersby4Redpill Lg"pro AS="L3,oprovider of Lg"ux#rinsultingss="loperclassse/erL3">se/ince dog/. y/div>