linux/drivers/watchdog/mv64x60_wdt.c
<<
ion>x(1/spav2" x(1/form2" x(1a ion>x( href="../linux+v3.9.5/drivers/watchdog/mv64x60_wdt.c">ion>x(1img src="../.static/gfx/right.png" alt=">>">io1/spav2"io1spav class="lxr_search">ion>ion>x(1input typ3.1hidden" nam3.1navtarget" v3.1">ion>x(1input typ3.1text" nam3.1search" id.1search">ion>x(1butt >typ3.1submit">Searchx( onclick="return ajax_prefs();">ion>x(Prefs" x(1/a>io1/spav2"n>x( (1/div2"n>x( (1form ace="v="ajax+*" method="post" onsubmit="return false;">io1input typ3.1hidden" nam3.1ajax_lookup" id.1ajax_lookup" v3.1">in>x( (1/form2"in>x( (1div class="headingbott m">x(x( x( (1div id.1search_results" class="search_results"" x2"n>x( (1/div2" 1div id.1content">" 1div id.1file_contents"2
( (11/a>1spav class="comment">/*1/spav2"( (21/a>1spav class="comment"> * mv64x60_wdt.c - MV64X60 (Marvell Discovery) watchdog userspace interface1/spav2"( (31/a>1spav class="comment"> *1/spav2"( (41/a>1spav class="comment"> * Author: Jam3s Chapmav <jchapmav@katalix.com>1/spav2"( (51/a>1spav class="comment"> *1/spav2"( (61/a>1spav class="comment"> * Platform-specific setup code should configure the dog to generate1/spav2"( (71/a>1spav class="comment"> * interrupt or reset as required.  This code only enables/disables1/spav2"( (81/a>1spav class="comment"> * and servic3s the watchdog.1/spav2"( (91/a>1spav class="comment"> *1/spav2"( tiona>1spav class="comment"> * Derived from mpc8xx_wdt.c, with the following copyright.1/spav2"( 111/a>1spav class="comment"> *1/spav2"( 121/a>1spav class="comment"> * 2002 (c) Floriav Schirmer <jolt@tuxbox.org> This file is licensed under1/spav2"( 131/a>1spav class="comment"> * the terms of the GNU General Public License vers	  >2. This program1/spav2"( 141/a>1spav class="comment"> * is licensed "as is" without any warranty of any kind, whether express1/spav2"( 151/a>1spav class="comment"> * or implied.1/spav2"( 161/a>1spav class="comment"> */1/spav2"( 171/a>"( 181/a>#define(1a href="+code=pr_fmt" class="sref">pr_fmt1/a>(1a href="+code=fmt" class="sref">fmt1/a>)(1a href="+code=KBUILD_MODNAME" class="sref">KBUILD_MODNAME1/a> 1spav class="string">": "1/spav2(1a href="+code=fmt" class="sref">fmt1/a>"( 191/a>"( 2iona>#include <linux/fs.hona>>"( 21ona>#include <linux/init.hona>>"( 22ona>#include <linux/kernel.hona>>"( 23ona>#include <linux/miscdevic3.hona>>"( 24ona>#include <linux/modul3.hona>>"( 25ona>#include <linux/watchdog.hona>>"( 26ona>#include <linux/platform_devic3.hona>>"( 27ona>#include <linux/mv643xx.hona>>"( 28ona>#include <linux/uacc3ss.hona>>"( 29ona>#include <linux/io.hona>>"( 301/a>"( 311/a>#define(1a href="+code=MV64x60_WDT_WDC_OFFSET" class="sref">MV64x60_WDT_WDC_OFFSET1/a>  0"( 321/a>"( 331/a>1spav class="comment">/*1/spav2"( 341/a>1spav class="comment"> * The watchdog configura
	  >register contains a pair of 2-bit fields,1/spav2"( 351/a>1spav class="comment"> * ( 1.  a reload field, bits 27-26, which triggers a reload of1/spav2"( 361/a>1spav class="comment"> *       the countdow >register, and1/spav2"( 371/a>1spav class="comment"> *  >2.  an enable field, bits 25-24, which toggles between1/spav2"( 381/a>1spav class="comment"> *       enabling and disabling the watchdog timer.1/spav2"( 391/a>1spav class="comment"> * Bit 31 is a read-only field which indicates whether the1/spav2"( 4iona>1spav class="comment"> * watchdog timer is currently enabled.1/spav2"( 411/a>1spav class="comment"> *1/spav2"( 421/a>1spav class="comment"> * The low 24 bits contain the timer reload 
  v3.1/spav2"( 431/a>1spav class="comment"> */1/spav2"( 441/a>#define(1a href="+code=MV64x60_WDC_ENABLE_SHIFT" class="sref">MV64x60_WDC_ENABLE_SHIFT1/a>        24"( 451/a>#define(1a href="+code=MV64x60_WDC_SERVICE_SHIFT" class="sref">MV64x60_WDC_SERVICE_SHIFT1/a>       26"( 461/a>#define(1a href="+code=MV64x60_WDC_ENABLED_SHIFT" class="sref">MV64x60_WDC_ENABLED_SHIFT1/a>       31"( 471/a>"( 481/a>#define(1a href="+code=MV64x60_WDC_ENABLED_TRUE" class="sref">MV64x60_WDC_ENABLED_TRUE1/a>        1"( 491/a>#define(1a href="+code=MV64x60_WDC_ENABLED_FALSE" class="sref">MV64x60_WDC_ENABLED_FALSE1/a>       0"( 501/a>"( 511/a>1spav class="comment">/* Flags bits */1/spav2"( 521/a>#define(1a href="+code=MV64x60_WDOG_FLAG_OPENED" class="sref">MV64x60_WDOG_FLAG_OPENED1/a>        0"( 531/a>"( 541/a>static unsigned long 1a href="+code=wdt_flags" class="sref">wdt_flags1/a>;"( 551/a>static int 1a href="+code=wdt_status" class="sref">wdt_status1/a>;"( 561/a>static void 1a href="+code=__iomem" class="sref">__iomem1/a> *1a href="+code=mv64x60_wdt_regs" class="sref">mv64x60_wdt_regs1/a>;"( 571/a>static int 1a href="+code=mv64x60_wdt_timeout" class="sref">mv64x60_wdt_timeout1/a>;"( 581/a>static int 1a href="+code=mv64x60_wdt_count" class="sref">mv64x60_wdt_count1/a>;"( 591/a>static unsigned int 1a href="+code=bus_clk" class="sref">bus_clk1/a>;"( 601/a>static char 1a href="+code=expect_close" class="sref">expect_close1/a>;"( 611/a>static 1a href="+code=DEFINE_SPINLOCK" class="sref">DEFINE_SPINLOCK1/a>(1a href="+code=mv64x60_wdt_spinlock" class="sref">mv64x60_wdt_spinlock1/a>);"( 621/a>"( 631/a>static 1a href="+code=bool" class="sref">bool1/a> 1a href="+code=nowayout" class="sref">nowayout1/a> = 1a href="+code=WATCHDOG_NOWAYOUT" class="sref">WATCHDOG_NOWAYOUT1/a>;"( 641/a>1a href="+code=modul3_param" class="sref">modul3_param1/a>(1a href="+code=nowayout" class="sref">nowayout1/a>, 1a href="+code=bool" class="sref">bool1/a>, 0);"( 651/a>1a href="+code=MODULE_PARM_DESC" class="sref">MODULE_PARM_DESC1/a>(1a href="+code=nowayout" class="sref">nowayout1/a>,"( 661/a>                1spav class="string">"Watchdog cannot be stopped once started (default="1/spav2"( 671/a>                                1a href="+code=__MODULE_STRING" class="sref">__MODULE_STRING1/a>(1a href="+code=WATCHDOG_NOWAYOUT" class="sref">WATCHDOG_NOWAYOUT1/a>) 1spav class="string">")"1/spav2);"( 681/a>"( 691/a>static int 1a href="+code=mv64x60_wdt_toggle_wdc" class="sref">mv64x60_wdt_toggle_wdc1/a>(int 1a href="+code=enabled_predicate" class="sref">enabled_predicate1/a>, int 1a href="+code=field_shift" class="sref">field_shift1/a>)"( 701/a>{"( 711/a>        1a href="+code=u32" class="sref">u321/a> 1a href="+code=data" class="sref">data1/a>;"( 721/a>        1a href="+code=u32" class="sref">u321/a> 1a href="+code=enabled" class="sref">enabled1/a>;"( 731/a>        int 1a href="+code=ret" class="sref">ret1/a> = 0;"( 741/a>"( 751/a>        1a href="+code=spin_lock" class="sref">spin_lock1/a>(&1a href="+code=mv64x60_wdt_spinlock" class="sref">mv64x60_wdt_spinlock1/a>);"( 761/a>        1a href="+code=data" class="sref">data1/a> = 1a href="+code=readl" class="sref">readl1/a>(1a href="+code=mv64x60_wdt_regs" class="sref">mv64x60_wdt_regs1/a> +(1a href="+code=MV64x60_WDT_WDC_OFFSET" class="sref">MV64x60_WDT_WDC_OFFSET1/a>);"( 771/a>        1a href="+code=enabled" class="sref">enabled1/a> = (1a href="+code=data" class="sref">data1/a> >>(1a href="+code=MV64x60_WDC_ENABLED_SHIFT" class="sref">MV64x60_WDC_ENABLED_SHIFT1/a>) & 1;"( 781/a>"( 791/a>        1spav class="comment">/* only toggle the requested field if enabled state matches predicate */1/spav2"( 801/a>        if ((1a href="+code=enabled" class="sref">enabled1/a> ^ 1a href="+code=enabled_predicate" class="sref">enabled_predicate1/a>) == 0) {"( 811/a>                1spav class="comment">/* We write a 1, then a 2 -- to the appropriate field */1/spav2"( 821/a>                1a href="+code=data" class="sref">data1/a> = (1 << 1a href="+code=field_shift" class="sref">field_shift1/a>) | 1a href="+code=mv64x60_wdt_count" class="sref">mv64x60_wdt_count1/a>;"( 831/a>                1a href="+code=writel" class="sref">writel1/a>(1a href="+code=data" class="sref">data1/a>, 1a href="+code=mv64x60_wdt_regs" class="sref">mv64x60_wdt_regs1/a> +(1a href="+code=MV64x60_WDT_WDC_OFFSET" class="sref">MV64x60_WDT_WDC_OFFSET1/a>);"( 841/a>"( 851/a>                1a href="+code=data" class="sref">data1/a> = (2 << 1a href="+code=field_shift" class="sref">field_shift1/a>) | 1a href="+code=mv64x60_wdt_count" class="sref">mv64x60_wdt_count1/a>;"( 861/a>                1a href="+code=writel" class="sref">writel1/a>(1a href="+code=data" class="sref">data1/a>, 1a href="+code=mv64x60_wdt_regs" class="sref">mv64x60_wdt_regs1/a> +(1a href="+code=MV64x60_WDT_WDC_OFFSET" class="sref">MV64x60_WDT_WDC_OFFSET1/a>);"( 871/a>                1a href="+code=ret" class="sref">ret1/a> = 1;"( 881/a>        }"( 891/a>        1a href="+code=spin_unlock" class="sref">spin_unlock1/a>(&1a href="+code=mv64x60_wdt_spinlock" class="sref">mv64x60_wdt_spinlock1/a>);"( 901/a>"( 911/a>        return 1a href="+code=ret" class="sref">ret1/a>;"( 921/a>}"( 931/a>"( 941/a>static void 1a href="+code=mv64x60_wdt_servic3" class="sref">mv64x60_wdt_servic31/a>(void)"( 951/a>{"( 961/a>        1a href="+code=mv64x60_wdt_toggle_wdc" class="sref">mv64x60_wdt_toggle_wdc1/a>(1a href="+code=MV64x60_WDC_ENABLED_TRUE" class="sref">MV64x60_WDC_ENABLED_TRUE1/a>,"( 971/a>                               1a href="+code=MV64x60_WDC_SERVICE_SHIFT" class="sref">MV64x60_WDC_SERVICE_SHIFT1/a>);"( 981/a>}"( 991/a>"(1001/a>static void 1a href="+code=mv64x60_wdt_handler_enable" class="sref">mv64x60_wdt_handler_enable1/a>(void)"(1011/a>{"(1021/a>        if (1a href="+code=mv64x60_wdt_toggle_wdc" class="sref">mv64x60_wdt_toggle_wdc1/a>(1a href="+code=MV64x60_WDC_ENABLED_FALSE" class="sref">MV64x60_WDC_ENABLED_FALSE1/a>,"(1031/a>                                   1a href="+code=MV64x60_WDC_ENABLE_SHIFT" class="sref">MV64x60_WDC_ENABLE_SHIFT1/a>)) {"(1041/a>                1a href="+code=mv64x60_wdt_servic3" class="sref">mv64x60_wdt_servic31/a>();"(1051/a>                1a href="+code=pr_notic3" class="sref">pr_notic31/a>(1spav class="string">"watchdog ace=vated\n"1/spav2);"(1061/a>        }"(1071/a>}"(1081/a>"(1091/a>static void 1a href="+code=mv64x60_wdt_handler_disable" class="sref">mv64x60_wdt_handler_disable1/a>(void)"(1101/a>{"(1111/a>        if (1a href="+code=mv64x60_wdt_toggle_wdc" class="sref">mv64x60_wdt_toggle_wdc1/a>(1a href="+code=MV64x60_WDC_ENABLED_TRUE" class="sref">MV64x60_WDC_ENABLED_TRUE1/a>,"(1121/a>                                   1a href="+code=MV64x60_WDC_ENABLE_SHIFT" class="sref">MV64x60_WDC_ENABLE_SHIFT1/a>))"(1131/a>                1a href="+code=pr_notic3" class="sref">pr_notic31/a>(1spav class="string">"watchdog deace=vated\n"1/spav2);"(1141/a>}"(1151/a>"(1161/a>static void 1a href="+code=mv64x60_wdt_set_timeout" class="sref">mv64x60_wdt_set_timeout1/a>(unsigned int 1a href="+code=timeout" class="sref">timeout1/a>)"(1171/a>{"(1181/a>        1spav class="comment">/* maximum bus cycle count is 0xFFFFFFFF */1/spav2"(1191/a>        if (1a href="+code=timeout" class="sref">timeout1/a> > 0xFFFFFFFF / 1a href="+code=bus_clk" class="sref">bus_clk1/a>)"(1201/a>                1a href="+code=timeout" class="sref">timeout1/a> = 0xFFFFFFFF / 1a href="+code=bus_clk" class="sref">bus_clk1/a>;"(121ona>"(1221/a>        1a href="+code=mv64x60_wdt_count" class="sref">mv64x60_wdt_count1/a> = 1a href="+code=timeout" class="sref">timeout1/a> * 1a href="+code=bus_clk" class="sref">bus_clk1/a> >>(8;"(1231/a>        1a href="+code=mv64x60_wdt_timeout" class="sref">mv64x60_wdt_timeout1/a> = 1a href="+code=timeout" class="sref">timeout1/a>;"(1241/a>}"(1251/a>"(1261/a>static int 1a href="+code=mv64x60_wdt_open" class="sref">mv64x60_wdt_open1/a>(struct 1a href="+code=inode" class="sref">inode1/a> *1a href="+code=inode" class="sref">inode1/a>, struct 1a href="+code=file" class="sref">file1/a> *1a href="+code=file" class="sref">file1/a>)"(1271/a>{"(1281/a>        if (1a href="+code=test_and_set_bit" class="sref">test_and_set_bit1/a>(1a href="+code=MV64x60_WDOG_FLAG_OPENED" class="sref">MV64x60_WDOG_FLAG_OPENED1/a>, &1a href="+code=wdt_flags" class="sref">wdt_flags1/a>))"(1291/a>                return -1a href="+code=EBUSY" class="sref">EBUSY1/a>;"(1301/a>"(1311/a>        if (1a href="+code=nowayout" class="sref">nowayout1/a>)"(1321/a>                1a href="+code=__modul3_get" class="sref">__modul3_get1/a>(1a href="+code=THIS_MODULE" class="sref">THIS_MODULE1/a>);"(1331/a>"(1341/a>        1a href="+code=mv64x60_wdt_handler_enable" class="sref">mv64x60_wdt_handler_enable1/a>();"(1351/a>"(1361/a>        return 1a href="+code=nonseekable_open" class="sref">nonseekable_open1/a>(1a href="+code=inode" class="sref">inode1/a>, 1a href="+code=file" class="sref">file1/a>);"(1371/a>}"(1381/a>"(1391/a>static int 1a href="+code=mv64x60_wdt_release" class="sref">mv64x60_wdt_release1/a>(struct 1a href="+code=inode" class="sref">inode1/a> *1a href="+code=inode" class="sref">inode1/a>, struct 1a href="+code=file" class="sref">file1/a> *1a href="+code=file" class="sref">file1/a>)"(1401/a>{"(1411/a>        if (1a href="+code=expect_close" class="sref">expect_close1/a> == 42)"(1421/a>                1a href="+code=mv64x60_wdt_handler_disable" class="sref">mv64x60_wdt_handler_disable1/a>();"(1431/a>        else {"(1441/a>                1a href="+code=pr_crit" class="sref">pr_crit1/a>(1spav class="string">"unexpected close, not stopping timer!\n"1/spav2);"(1451/a>                1a href="+code=mv64x60_wdt_servic3" class="sref">mv64x60_wdt_servic31/a>();"(1461/a>        }"(1471/a>        1a href="+code=expect_close" class="sref">expect_close1/a> = 0;"(1481/a>"(1491/a>        1a href="+code=clear_bit" class="sref">clear_bit1/a>(1a href="+code=MV64x60_WDOG_FLAG_OPENED" class="sref">MV64x60_WDOG_FLAG_OPENED1/a>, &1a href="+code=wdt_flags" class="sref">wdt_flags1/a>);"(1501/a>"(1511/a>        return 0;"(1521/a>}"(1531/a>"(1541/a>static 1a href="+code=ssize_t" class="sref">ssize_t1/a> 1a href="+code=mv64x60_wdt_write" class="sref">mv64x60_wdt_write1/a>(struct 1a href="+code=file" class="sref">file1/a> *1a href="+code=file" class="sref">file1/a>, const char 1a href="+code=__user" class="sref">__user1/a> *1a href="+code=data" class="sref">data1/a>,"(1551/a>                                 1a href="+code=size_t" class="sref">sass="sref">data1/a>,"sass="sref">dalofff""+code=data" class="sppo">wdt_flags1/a>)ppo""drivers/watchdog/mv64x60_wdt.c#L140" id.1L140" lass="lin1e" nam3.1L56">( 561/a>st1atic 1oid 1avers/watchdog/mv64x60_wdt.c#L144" id.1L144" lass="lin1e" nam3.1L57">( 571/a>st1atic 15a href="+codecode=expect_close" id.1L38" class="lig/mv64xrivers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="lin1e" nam3.1L58">( 581/a>st1atic 158                    code!=nowayout" class="sref">nowayout1/a>)"( 591/a>st1atic 15       return -1a href="+code=size_t" class="sref">sass="sref">data1/a>,"inode1/a>, stru"drivers/watchdog/mv64x60_wdt.c#L130" id.1L130" lass="lin1e" nam3.1L60">( 601/a>st1atic 16"drivers/watchdog/mv64x60_wdt.c#L151" id.1L151" lass="lin1e" nam3.1L61">( 611/a>st1atic 16       1spav class="cf="+code=expect_close" class="sref">expect_close1/a> = 0;"( 621/a>"<1a hre1="drivers/watchdog/mv64x60_wdt.c#L63" id.1L63" c1lass="lin1e" nam3.1L63">( 631/a>st1atic 16                          1a forde=expect_close" i>inode1/a>, stru"dri"driv hsassdt.c#L38" i>inode1/a>, stru"dri !de=timeout" classid.1L38" class="lig/mv64xv hsassdt.c#L38" i>inode1/a>, stru"dri++vivers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="lin1e" nam3.1L64">( 641/a>1a1 href16       1a href="+codeeeeeeeeeeeeeeeee+code=__user" class=">mv64x60_wdt_toc"drivers/watchdog/mv64x60_wdt.c#L130" id.1L130" llass="line" nam3.1L65">( 651/a>1a1 href16                        1a href="+codcode=expect_close" getsref">__user1/a> *1agetsref"+code=MV64x60_WDOG_F">mv64x60_wdt_toc"dride=file" class="sref">data1/a> = (2 << de=MV64x60_WDT_WDi>inode1/a>, stru"driivers/watchdog/mv64x60_wdt.c#L129" id.1L129" 6ass="line"" nam3.1L16">( 161/a>1spatic 1        1spav class="sssssssssssssssssssssssssf="+code=EBUSY" class="sFAUL">MV64x60_WDC_ENsFAUL""drivers/watchdog/mv64x60_wdt.c#L130" id.1L130" lass="lin1e" nam3.1L67">( 671/a>  1     1                        1a href="+codecode=expect_close" ">mv64x60_wdt_toc"drif="dtring">"unexpecte#39;Ve#39;ref="driers/watchdog/mv64x60_wdt.c#L130" id.1L130" lass="lin1e" nam3.1L68">( 681/a>"<1a hre168                                            =expect_close" class="sref">expect_close1/a> = 0;"( 691/a>st1atic 16       return -1a href="+codevers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="lin1e" nam3.1L70">( 701/a>{"1( 711/a>  1     17       1spav class="comv64x60_wdt_servic3" class="sref">mv64x60_wdt_servic31/a>();"( 721/a>  1     11a href="+codevers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="lin1e" nam3.1L73">( 731/a>  1     17"drivers/watchdog/mv64x60_wdt.c#L154" id.1L154" lass="lin1e" nam3.1L74">( 741/a>"<1a hre17       1a hre="+code=nonseekable_opid.1L38" class="lig/mv64xvers/watchdog/mv64x60_wdt.c#L154" id.1L154" llass="line" nam3.1L75">( 751/a>  1     11a hrevers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="linee" nam3.1L76">( 761/a>  1     11a hreers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="line"" nam3.1L17">( 171/a>"();ioct">writel1/a>(1a rvic31/a>();ioct" href="+code=file" class="sref">file1/a> *1a href="+code=file" class="sref">file1/a>, const char 1aers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="lin1e" nam3.1L78">( 781/a>"<1a hre178                                            a href="+code=timeout" classcm">enabled1/a> ^ cm""dride1a href="+code=wdt_flags" claarg>enabled1/a> ^ arg"drivers/watchdog/mv64x60_wdt.c#L140" id.1L140" lass="lin1e" nam3.1L79">( 791/a>  1     11spav vers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="lin1e" nam3.1L80">( 801/a>  1     1if ((1a href="+ode=timeout" class="sref">timeout1/a>)"( 811/a>  1     1        1spav +ode=timeout" classelect>">wdt_flags1/a>)elect>""drivers/watchdog/mv64x60_wdt.c#L154" id.1L154" lass="lin1e" nam3.1L82">( 821/a>  1     1        1a hre+code=__iomem" class="ref">__user1/a> *1a href="+code=data" class="sargp>enabled1/a> ^ argpref="dr(+code=__iomem" class="ref">__user1/a> *1a href="+code)=wdt_flags" claarg>enabled1/a> ^ arg"drivers/watchdog/mv64x60_wdt.c#L154" id.1L154" lass="lin1e" nam3.1L83">( 831/a>  1     1        1a hre href="+ref="="+code=file" class="s60_wdt.c_info>wdt_flags1/a>);0_wdt.c_info,"wdt_flags1/a>)info,"( 841/a>"<1a hre18       1a href="+code.=timeout" classelect>">wdt_flags1/a>)elect>""dri =iss="comv64x60_wdt_seWDIOF_SETTIMEef">WATCHDOG_NOWAYODIOF_SETTIMEef"      1a hre|ers/watchdog/mv64x60_wdt.c#L104" id.1L104" llass="line" nam3.1L85">( 851/a>  1     1        1a href="+code  1spav class="comv64x60_wdt_seODIOF_MAGICCLOf">MV64x60_WDC_ENODIOF_MAGICCLOf"      1a hre|ers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="linee" nam3.1L86">( 861/a>  1     1        1a href="+code  1spav class="comv64x60_wdt_seODIOF_KEEPALIVEPef">__MODULE_STRINODIOF_KEEPALIVEPef"ar 1aers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="lin1e" nam3.1L87">( 871/a>  1     1        1a href="+code.=timeout" classfirmware_mv64ct>>file1/a>, const rmware_mv64ct>"dri"driaers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="line"" nam3.1L18">( 181/a>#def hre188                    .=timeout" classidentity>wdt_flags1/a>)identity"dri"drtring">"unexpected cloLAG_OPEr is curr;"( 891/a>  1     11a href="+code}vers/watchdog/mv64x60_wdt.c#L154" id.1L154" lass="lin1e" nam3.1L90">( 901/a>"<1a hre1="drivers/watchdog/mv64x60_wdt.c#L91" id.1L91" c1lass="lin1e" nam3.1L91">( 911/a>  1     1return 1a hrefswi_wdde=expect_close" "m">enabled1/a> ^ cm""drivivers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="lin1e" nam3.1L92">( 921/a>}"1WATCHDOG_NOWAYODIOC_GETSUPPOR"    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="lin1e" nam3.1L93">( 931/a>"<1a hre19                     code=expect_close" "opy_to"ref">__user1/a> *1a"opy_to"ref"+code=MV64x60_WDOG_Fargp>enabled1/a> ^ argpref=="+code=wdt_flags" clainfo>wdt_flags1/a>)info,"( 941/a>st1atic 19       1a href="+codeeeeeeeeef="+code=EBUSY" class="sFAUL">MV64x60_WDC_ENsFAUL""drivers/watchdog/mv64x60_wdt.c#L130" id.1L130" lass="lin1e" nam3.1L95">( 951/a>{"1( 961/a>  1     19a hreers/watchdog/mv64x60_wdt.c#L153" id.1L153" lass="lin1e" nam3.1L97">( 971/a>  1     1              casde=MV64x60_WDOG_FODIOC_GETSTATUS>WATCHDOG_NOWAYODIOC_GETSTATUS    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="linee" nam3.1L98">( 981/a>}"1WATCHDOG_NOWAYODIOC_GETBOOTSTATUS    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104" lass="line"" nam3.1L19">( 191/a>"__user1/a> *1aputsref"+code=MV64x60_WDOG_Fwss="sref">wdt_status1/a>;"__user1/a> *1a href="+code)=wdt_flags" claargp>enabled1/a> ^ argpref=ivers/watchdog/mv64x60_wdt.c#L129" id.1L129"2class="li2e" nam3.1L100">(1001/a>s2atic 20       1a href="+codeeeeeeeeef="+code=EBUSY" class="sFAUL">MV64x60_WDC_ENsFAUL""drivers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L101">(1011/a>{2wdt_status1/a>;"__MODULE_STRINODIOF_KEEPALIVEPef"ar 1vers/watchdog/mv64x60_wdt.c#L130" id.1L130"2cass="linee" nam3.1L102">(1021/a> 2     20       1a href="+codebreakvers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L103">(1031/a> 2     20"drivers/watchdog/mv64x60_wdt.c#L154" id.1L154"2class="li2e" nam3.1L104">(1041/a> 2     2        1a hrecasde=MV64x60_WDOG_FODIOC_GETTEMP>WATCHDOG_NOWAYODIOC_GETTEMP    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104"2class="li2e" nam3.1L105">(1051/a> 2     2        1a href="+codef="+code=EBUSY" class="sOPNOTSUPP>MV64x60_WDC_ENsOPNOTSUPPar 1vers/watchdog/mv64x60_wdt.c#L130" id.1L130"2cass="linee" nam3.1L106">(1061/a> 2     20a hreers/watchdog/mv64x60_wdt.c#L153" id.1L153"2class="li2e" nam3.1L107">(1071/a>}2WATCHDOG_NOWAYODIOC_SETOPTIONS    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104"2cass="linee" nam3.1L108">(1081/a>"2a hre208                    code=expect_close" getsref">__user1/a> *1agetsref"+code=MV64x60_WDOG_Felect>">wdt_flags1/a>)elect>""dri, +code=enabled_predic="ref">__user1/a> *1a href="+code)=wdt_flags" claargp>enabled1/a> ^ argpref=ivers/watchdog/mv64x60_wdt.c#L129" id.1L129"2cass="linee" nam3.1L109">(1091/a>s2atic 20       return -1a href="+codef="+code=EBUSY" class="sFAUL">MV64x60_WDC_ENsFAUL""drivers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L110">(1101/a>{2(1111/a> 2     21       1spav class="ccode=expect_close" elect>">wdt_flags1/a>)elect>""dri ef="dr=MV64x60_WDOG_FODIOS_DIS))"MV64x60_WDOG_FODIOS_DIS))"(1121/a> 2     2                           1a =wdt_flags" clarvic31/a>();e" class="sref">mv64x60_wdt_handler_disable1/a>();"(1131/a> 2     21"drivers/watchdog/mv64x60_wdt.c#L154" id.1L154"2class="li2e" nam3.1L114">(1141/a>}2">wdt_flags1/a>)elect>""dri ef="dr=MV64x60_WDOG_FODIOS_a>))"MV64x60_WDOG_FODIOS_a>))"(1151/a>"2a hre21       1a href="+code  1spav =wdt_flags" clarvic31/a>();e" class"sref">mv64x60_wdt_handler_enable1/a>();"(1161/a>s2atic 21       1a href="+codebreakvers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L117">(1171/a>{2(1181/a> 2     218            casde=MV64x60_WDOG_FODIOC_KEEPALIVE>WATCHDOG_NOWAYODIOC_KEEPALIVE    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104"2class="li2e" nam3.1L119">(1191/a> 2     21       return -1a hreomv64x60_wdt_servic3" class="sref">mv64x60_wdt_servic31/a>();"(1201/a> 2     2        1a href="+code=timeout" classwss="sref">wdt_status1/a>;"__MODULE_STRINODIOF_KEEPALIVEPef"ar 1vers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L121">(121ona>"2a hre22       1spav class="cbreakvers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L122">(1221/a> 2     22"drivers/watchdog/mv64x60_wdt.c#L63" id.1L63" c2class="li2e" nam3.1L123">(1231/a> 2     21a href="+codecasde=MV64x60_WDOG_FODIOC_SETTIMEef">WATCHDOG_NOWAYODIOC_SETTIMEef"    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104"2class="li2e" nam3.1L124">(1241/a>}2__user1/a> *1agetsref"+code=MV64x60_WDOG_F="sref">timeout1/a>)"__user1/a> *1a href="+code)=wdt_flags" claargp>enabled1/a> ^ argpref=ivers/watchdog/mv64x60_wdt.c#L129" id.1L129"2class="li2e" nam3.1L125">(1251/a>"2a hre22       1a href="+code  1spav f="+code=EBUSY" class="sFAUL">MV64x60_WDC_ENsFAUL""drivers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L126">(1261/a>s2atic 22       1a href="+code=writel" class=rvic31/a>();"mv64x60_wdt_set_timeout1/a>(unsigned int 1=MV64x60_WDOG_F="sref">timeout1/a>)"(1271/a>{2/* Flags bits */1/all throughhref="drivers/watchdog/mv64x60_wdt.c#L119" id.1L119"2class="li2e" nam3.1L128">(1281/a> 2     22"drivers/watchdog/mv64x60_wdt.c#L149" id.1L149"2class="li2e" nam3.1L129">(1291/a> 2     2        returncasde=MV64x60_WDOG_FODIOC_GETTIMEef">WATCHDOG_NOWAYODIOC_GETTIMEef"    :ers/watchdog/mv64x60_wdt.c#L104" id.1L104"2class="li2e" nam3.1L130">(1301/a>"2a hre23       1a href="+codecode=expect_close" putsref">__user1/a> *1aputsref"+code=MV64x60_WDOG_Ft_timeout1/a="sref">mv64x60_wdt_timeout1/a> = 1a href="+c, +code=enabled_predic="ref">__user1/a> *1a href="+code)=wdt_flags" claargp>enabled1/a> ^ argpref=ivers/watchdog/mv64x60_wdt.c#L129" id.1L129"2class="li2e" nam3.1L131">(1311/a> 2     23       1spav class="cf="+codef="+code=EBUSY" class="sFAUL">MV64x60_WDC_ENsFAUL""drivers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L132">(1321/a> 2     2        1a href="+codebreakvers/watchdog/mv64x60_wdt.c#L130" id.1L130"2class="li2e" nam3.1L133">(1331/a>"2a hre2="drivers/watchdog/mv64x60_wdt.c#L134" id.1L134"2class="li2e" nam3.1L134">(1341/a> 2     21a href="+code1/spav2:ers/watchdog/mv64x60_wdt.c#L104" id.1L104"2class="li2e" nam3.1L135">(1351/a>"2a hre23       1a href="+codef="+code=EBUSY" class="sNOTT">EBUSY1/a>;"(1361/a> 2     23"(1371/a>}2(1381/a>"2a hre23ass="li2e" naref="drivers/watchdog/mv64x60_wdt.c#L152" id.1L152"2clas     ">enabled1/a> ^ lass="li2e" nam3.1L138">(1381/a>"2alL93">( 931/a>"(1381/a>"2alL93">( 931/a>"mv2724e" nam3.1L111">(1111/a> 2     21       1spav clae=expect_2lose" class="sref">expec2_clos241/a>(1a href_wdt.c_info,"))"MV64x60_lin1ile"ra_a>))chdog/mv64x60_wdt.c#1/a> *1a hrefopFSET" class="sref">MV64x60_WfopFin1e" nam3.1L84">( 841/a>"<1a hre18       1a href=2+code=mv62x60_wdt_handler_disable"2class2"sref">mv64x60mv64x60_wdt_seWDIwn/a> ^ argpref=iveIwn/af="draer64x60_wdt_seWD64x60_wdt.c#L133" id.1L133" class="line" am3.1L89">( 891/a>  1     11a href="+code}v2rivers/wa2chdog/mv64x60_wdt.c#L1442 id.12144" class="limv64x60_wdt_seWDll"+co#L133" id.1L133ll"+cof="draer64x60_wdt_seWDno_ll"+co#L133" id.1L133no_ll"+cone" am3.1L89">( 891/a>  1     11a href="+code}v2rav2:ers/writ" class="sref">pr_cri21/a>(2spav class="stmv64x60_wdt_seWDass="sref">file1/a> ode=file"raer64x60_wdt_seWDode=file" class="sref">file1/a> *1a href="+code=file"am3.1L89">( 891/a>  1     11a href="+code}v2rcodef="+cx60_wdt_servic3" class="2ref">2v64x60_wdt_sermv64x60_wdt_seWD0_wdt_edlass="sref">file1/a> 0_wdt_edlass="ile"raer64x60_wdt_seWDode=file" class="sref">file1/a> *1a href="+code=file"am3.1L89">( 891/a>  1     11a href="+code}v2r/watchdog/mv64x60_wdt.c#L147" id.2L147"2class="line" nmv64x60_wdt_seWDIOid.1L154" llass="le" clasraer64x60_wdt_seWDode=file" clss="sref">inode1/a> *1a href="+code=inoam3.1L89">( 891/a>  1     11a href="+code}v2r/mv64x60_" class="sref">expect_cl2se1/a2 = 0;"inode1="+code=inoraer64x60_wdt_seWDode=file" cle" class="sref">inode1/a> *1a href="+code=inoam3.1L89">( 891/a>  1     11a href="+code}v2r"drivers/wdt.c#L149" id.1L149" cl2ss="l2ne" nanam3.1L90">( 901/a>"<1a hre1="drivers/watchd2ear_bit" 2lass="sref">clear_bit1/a2(1a h24e" nam3.1L100">(1001/a>static void 1a href="+co2g/mv64x602wdt.c#L151" id.1L151" cl2ss="l25>mv64x60_wdt_info," *1a hre iscdems="sref">inode1/a> *1a href iscdemin1e" nam3.1L84">( 841/a>"<1a hre18       1a href=2="drivers2watchdog/mv64x60_wdt.c#L252" i2.1L152" class=mv64x60_wdt_seWDminoa> ^ argpref=iveminoa=inoraer64x60_wdt_seWDef="driveMINORdt.c#L104" id.1Lf="driveMINOR=inoam3.1L89">( 891/a>  1     11a href="+code}v2og/mv64x62_wdt.c#L153" id.1L153" c2ass="25sref">mv64x60mv64x60_wdt_seWDL153#L133" id.1L133n153=inoraer"drivers/watchdog/mv64x60_wdt.c#L1ass="lin1e" nam3.1L89">( 891/a>  1     11a href="+code}v2g/mv64x602wdt.c#L154" id.1L154" cl2ss="l2544" class="limv64x60_wdt_seWDfopFSET" class="srefopFin1e" nock1/a>);"MV64x60_WfopFin1eam3.1L89">( 891/a>  1     11a href="+code}v2gav2:ers/ws="sref">ssize_t1/a> 1a 2ref="2code=mnam3.1L90">( 901/a>"<1a hre1="drivers/watchd2        12 href="+code=size_t" cla2s="sr25e" nam3.1L136">(1361/a>        return 1a href="2og/mv64x62_wdt.c#L144" id.1L144" l2ss="l25t_open1/a>(struct 1a href="+code=inode" claprobss="sref">inode1/a> *1a hrefprobst1/a>_info,"inode1demin1eam3.1L131">(1311/a> 2     23       1spav clae=expect_2lose" id.1L38" class="li2/mv6425ne" nam3.1L128">(1281/a>        if (1a href="+co2     code2=nowayout" class="sref">2owayo2t1/a>)" *1a hrefpstru"driivers/watchma> *1a hrefpstruchdog/inode1demin1e-ine"regs" class="srdems="sref">inode1demin1emv64x60_wdt_seWDplatform_dtru"driivers/watchplatform_dtrue" nam3.1L136">(1361/a> 2     23"data1/a>_info," ^ argpref=ivere" nam3.1L136">(1361/a> 2     23" ^ lass="li2e" nam3.1L138">(1381/a>"ss="cf="+2ode=expect_close" class=2sref"26e" nam3.1L122">(1221/a>        1a href="+code=m2g/mv64x602wdt.c#L63" id.1L63" c1la2s="li26count1/a> = 1a href="+code=tmv64x60_wdt.c#L123" id.1L123" clas=line;a hNOTT""driversdog/mv64x60_wdt.c#L119" id.in MHz="li2e" nam3.1L128">(1281/a> 2     22"drivers/watchdo         21a forde=expect_close" i2inode2/a>, stru"dri"64x60_WDOG_Ft_timeoustru"driivers/watchpd64x60_w nam3.1L92">( 921/a>}"1mv64x60_wdt_toc"drivdog/mv64x60_wdt.c#L154" id.1L154" lass="lin1e" n na0_WDOG_Ft_timeoustru"driivers/watchpd64x60_w-ine"regs" class="sr.c#L154" id.1L154" lass="lin1e" nam3.1L81">( 811/a>  1     1        1spav +o2        12 href="+codcode=expect_c2ose" 2etsref">__user1/a> *1aa href="+code=tmv64x60_wdt.c#L123" id.1L123" clas=l0_WDOG_Ft_timeoustru"driivers/watchpd64x60_w-ine"regs" class="sr.c#L121" id.1L121" class="line" nam3.1L121">(121ona>"(1371/a>}2(1381/a>"2a hre23ass="li2e" naref         2                   =expe2t_clo26FFF */1/spav2"(1281/a> 2     22"drivers/watchdo  href="+2odevers/watchdog/mv64x602wdt.c2L153" "(1281/a> 2     22"drivers/watchdo+codevers2watchdog/mv64x60_wdt.c#L253" i2.1L153"(1281/a> 2     22"drivers/watchdo+s="cf="+2x60_wdt_servic3" class="2ref">2v64x60"(1281/a> 2     22"drivers/watchdos/watchdo2/mv64x60_wdt.c#L153" id.2L153"27count1/a> = 1a href="+code=tmv64x60_wdt.c#L123" id.1L123" cla++am3.1L121">(121ona>"(1281/a> 2     22"drivers/watchdocode=nons2ekable_opid.1L38" class=2lig/m27 nam3.1L85">( 851/a>                1a href="+c2og/mv64x62_wdt.c#L153" id.1L153" l2ss="l275_timeout1/a> = 1a href="+coa> ^ argpref=ivere" ns=l0_WDOG_Ft_timeoulatform_dri,resour64x60_wdt.c#L146"ulatform_dri,resour64t1/a> = 1a href="+c,dems="sref">inode1demin1eT_WDi>inode1/a>, IORESOURCE_MEMs="sref">inode1IORESOURCE_MEMin1eT_0nam3.1L127">(1271/a>{2 ^ argpref=ivere" nam3.1L131">(1311/a> 2     23       1spav clae=wdt_fla2s" clarvic31/a>();ioct">2ritel27href="drivers/watchdo/watchdog/mv64x60_wdt.c#L1DEV id.1L130"2class="DEVe" nam3.1L121">(121ona>"(1291/a> 2     2        returncasog/mv64x62_wdt.c#L104" id.1L104" l2ss="l27f="+code=MV64x60_WDOG_FLAG_O/a> *1a href="FFSET" class="sref">MV64x60_WDT_WDC_OF=l0_WDOG_Ft_timeoiorema id.1L129"2classiorema t1/a> = 1a href="+c,a> ^ argpref=ivere" n-ine"regs" class="srstaru"drivers/watchdotaruin1eT_WDi>inode1/a>, resour64_tchdx60_wdt.c#L146"resour64_tchdt1/a> = 1a href="+c,a> ^ argpref=ivere" n)nam3.1L127">(1271/a>{2timeout1/a2)"MV64x60_WDT_WDC_OF==l0_WDOG_Ft_timeoNULLSET" class="sreNULLe" nam3.1L131">(1311/a> 2     23       1spav clae=timeout2 classelect>">wdt_flags12a>)el28>MV64x60_WDC_ENsFAUL"/watchdog/mv64x60_wdt.c#L1MEMs="sref">inode1#L1MEMe" nam3.1L121">(121ona>"__user1/a>2*1a h28e" nam3.1L123">(1231/a> 2     21a href="+codecasef="+ref=2="+code=file" class="s602wdt.c28t_timeout1/a> = 1a href="+coed int 1=MV64x60_WDOG_F="sref">timeout1/a>)"(1271/a>{2">wdt_f2ags1/28 nam3.1L85">( 851/a>                1a href="+c2+code  1s2av class="comv64x60_wdt_2eODIO285_timeout1/a> = 1a href="+co>();"(1281/a> 2     22"drivers/watchdo+code  1s2av class="comv64x60_wdt_2eODIO28e" nam3.1L107">(1071/a>}2>fi2e1/a>, const rog/mv64x60_wdt.c#L154" iscWDT_ist/a> ^ argpref=ive iscWDT_ist/ai2e" ock1/a>);"inode1/a> *1a href iscdemin1enam3.1L127">(1271/a>{2wdt_2lags128" nam3.1L99">( 991/a>"(1001/a>static void 1a href="+co2g/mv64x602wdt.c#L91" id.1L91" c1la2s="li29>mv64x60_wdt1/a>(struct 1a href="+code=inode"movss="sref">inode1/a> *1a href="movst1/a>_info,"inode1demin1eam3.1L131">(1311/a> 2     23       1spav cla_wdde=exp2ct_close" "m">enabled1/a2 ^ cm29ne" nam3.1L102">(1021/a>        if (1a href="+co2de=MV64x62_WDOG_FODIOC_GETSUPPOR">2ATCHD29count1/a> = 1a href="+code=t iscWdeDT_ist/a> ^ argpref=ive iscWdeDT_ist/ai2e" ock1/a>);"inode1/a> *1a href iscdemin1enam3.1L127">(1271/a>{2__u29e" nam3.1L134">(1341/a> 2     21a href="+code1/s+codeeeee2eeef="+code=EBUSY" class2"sFAU2">MV64x60_WDC_ = 1a href="+co>();"(1341/a> 2     21a href="+code1/s+code  1s2vers/watchdog/mv64x60_wd2.c#L129e" nam3.1L136">(1361/a>        return 1a href="2g/mv64x602wdt.c#L153" id.1L153" la2s="li296MV64x60_WDC_ = 1a href="+coiounma id.1L129"2classiounma /watchdog/mv64x60_wd"+code=MV64x="FFSET" class="sref">MV64x60_WDT_WDC_Onam3.1L134">(1341/a> 2     21a href="+code1/s+code.=ti2_WDOG_FODIOC_GETSTATUS>W2TCHDO29e" nam3.1L138">(1381/a>"2a hre23ass="li2e" narefde=MV64x62_WDOG_FODIOC_GETBOOTSTAT2S>WAT291L152"2clas     ">enabled1/a> ^ lass="li2e" nam3.1L138">(1381/a>"a hrecode2expect_close" putsref">_2user129/mv64dt.c#L130" id.1L130"2class="li2e" nam31L1383+codeeeee3eeef="+code=EBUSY" class3"sFAU30e" nam3.1L111">(1111/a> 2     21       1spav cl3ss="comv63x60_wdt_sewss="sref">wdt3statu301/a>(1a href_info," *1a hred1111/x60_wdt.c#L146"1/a> *1a hred1111/in1e" nam3.1L84">( 841/a>"<1a hre18       1a href=3+codebrea3vers/watchdog/mv64x60_wd3.c#L130sref">mv64x60mv64x60_wdt_seWDprobss="sref">inode1probst1/araer64x60_wdt_seWDode=file" clprobss="sref">inode1/a> *1a hrefprobst1/aam3.1L89">( 891/a>  1     11a href="+code}v3g/mv64x603wdt.c#L154" id.1L154"2cl3ss="l3044" class="limv64x60_wdt_seWDe"movss="sref">inode1="movst1/araer64x60_wdt_seWDode=file" cle"movss="sref">inode1/a> *1a href="movst1/aam3.1L89">( 891/a>  1     11a href="+code}v3g4mv64x603weef="+code=EBUSY" class3HDOG_30pav class="stmv64x60_wdt_seWDd1111/x60_wdt.c#L146"d1111/in1e" nam3.1L84">( 841/a>"<1a hre18       1a href=3+5mv64x603wers/watchdog/mv64x60_wd3UPP>M364x60_WDC_ENsOPNOTSUPPmv64x60_wdt_seWDIwn/a> ^ argpref=iveIwn/af="draer64x60_wdt_seWD64x60_wdt.c#L133" id.1L133" class="line" am3.1L89">( 891/a>  1     11a href="+code}v3g/mv64x603wdt.c#L153" id.1L153"2cl3ss="l30">mv64x60_wdt_set_timmv64x60_wdt_seWDL153#L133" id.1L133n153=inoraer64x60_wdt_seWD">wdt_flagT_NAMc#L133" id.1L133">wdt_flagT_NAMcne" am3.1L89">( 891/a>  1     11a href="+code}v3g7mv64x603wWDOG_FODIOC_GETSTATUS>W3ATCHD3G_NOWAYODIOC_S}am3.1L89">( 891/a>  1     11a href="+code}v3g8mv64x603wWDOG_FODIOC_GETBOOTSTAT3user130e" nanam3.1L90">( 901/a>"<1a hre1="drivers/watchd3a href="+3odef="+code=EBUSY" class3"sFAU30e" nam3.1L100">(1001/a>static void 1a href="+co3g/mv64x603wdt.c#L91" id.1L91" c2cl3ss="l31>mv64x60_wdt1/a>(struct 1a href__inclass="sref">MV64__inclchdog/mv64x60_wdt.c#1/a> *1a hreinclass="sref">MV641/a> *1a hreincl/watc_flaam3.1L131">(1311/a> 2     23       1spav cl3ss="ccode3expect_close" elect>">wd3_flag31ne" nam3.1L102">(1021/a>        if (1a href="+co3         31a =wdt_flags" clarvic313a>();31count1/a> = 1a href="+code=tprwdt_flags1/a>)info,"prwdt_f/watchs/watchdog/mv64x60_wdt.c#L153" id.1L153" l (1021/" class="line" nam3.1L145">(1451/a>                1a href=3g/mv64x603wdt.c#L154" id.1L154"2cl3ss="l32e" nam3.1L114">(1141/a>}2">wd3_flag31/a>)elect>""dog/mv64x60_wdt.c#L154"platform_d1111/WDT_ist/a> ^ argpref=iveplatform_d1111/WDT_ist/ai2e" ock1/a>);" *1a hred1111/in1enam3.1L145">(1451/a>                1a href=3g5mv64x603av =wdt_flags" clarvic313a>();31ee" nam3.1L76">( 761/a>  1     11a hreers/watchd3+codebrea3vers/watchdog/mv64x60_wd3.c#L131e" nam3.1L107">(1071/a>}2enabledexclass="sref">MV64__exclchdog/mv64x60_wdt.c#1/a> *1a hreexclass="sref">MV641/a> *1a hreexcl/watc_flaam3.1L131">(1311/a> 2     23       1spav cl3s8mv64x603_WDOG_FODIOC_KEEPALIVE>W3TCHDO3_NOWAYam3.1L102">(1021/a>        if (1a href="+co3  href="+3x60_wdt_servic3" class="3ref">31f="+code=MV64x60_WDOG_FLAG_Oplatform_d1111/WunDT_ist/a> ^ argpref=iveplatform_d1111/WunDT_ist/ai2e" ock1/a>);" *1a hred1111/in1enam3.1L145">(1451/a>                1a href=3+code=tim3out" classwss="sref">wdt3statu31/a>;"am3.1L76">( 761/a>  1     11a hreers/watchd3ss="cbrea3vers/watchdog/mv64x60_wd3.c#L132e" nam3.1L122">(1221/a>        1a href="+code=m3g/mv64x603wdt.c#L63" id.1L63" c2cl3ss="l32e" naa>);"MV641"MV641/a> *1a hreincl/watnam3.1L145">(1451/a>                1a href=3+/mv64x603_WDOG_FODIOC_SETTIMEef">3ATCHD3G_NOWAa>);"MV641"MV641/a> *1a hreexcl/watnam3.1L145">(1451/a>                1a href=3+codecode3expect_close" getsref">_3user132 nam3.1L85">( 851/a>                1a href="+c3+code  1s3av f="+code=EBUSY" class3"sFAU3">MV64r64x60_wdt_seWD"s="li_AUTHORdt.c#L104" id.1"s="li_AUTHOR/watchs/watchdog/mv64x60_wdt.c#LJ cls Chapmwat<jchapmwa@katalix.comine"class="line" nam3.1L145">(1451/a>                1a href=3+code=wri3el" class=rvic31/a>();"<3s="sr3f">mv6r64x60_wdt_seWD"s="li_DESCRI="lindt.c#L104" id.1"s="li_DESCRI="lin/watchs/watchdog/mv64x60_wdt.c#L153" id.1L153" l (1021/class="line" nam3.1L145">(1451/a>                1a href=3+/mv64x603t">/* Flags bits */1/all3throu3hhref=r64x60_wdt_seWD"s="li_LICEN/mv64x60_wdt.c#L1"s="li_LICEN/m/watchs/watchdog/mv64x60_wdt.c#LGPLclass="line" nam3.1L145">(1451/a>                1a href=3+8mv64x603wdt.c#L149" id.1L149"2cl3ss="l32e" nar64x60_wdt_seWD"s="li_ALIAlasISCDEV id.1L130"2clas"s="li_ALIAlasISCDEV/watchdog/mv64x60_wdef="driveMINORdt.c#L104" id.1Lf="driveMINOR=inonam3.1L145">(1451/a>                1a href=3+ href="+3_WDOG_FODIOC_GETTIMEef">3ATCHD3G_NOWAr64x60_wdt_seWD"s="li_ALIAl id.1L130"2clas"s="li_ALIAl/watchs/watchdog/mv64x60_wdt.c#Lplatform:class="line" er64x60_wdt_seWD">wdt_flagT_NAMc#L133" id.1L133">wdt_flagT_NAMcne" nam3.1L145">(1451/a>                1a href=3+codecode3expect_close" putsref">_3user13a> *1a


> The original LXR softL153 by thIMEef" :http://sour64forge.net/projects/lxa>>LXR .c#Lunhref="d, this 1L13riL119al 51/aion by Eef" :mailto:lxa@e" ux.no">lxa@e" ux.nof="d.
> lxa.e" ux.no kindly hosasd by Eef" :http://www.redpill-e" pro.no">Redpill L" pro Al/wat, provider of L" uxf_wdtult" idand le"ra_a>)) lass="lsatcnce 1995.