linux/drivers/watchdog/jz4740_wdt.c
<<
>>
Prefs
   1/*
   2 *  Copyright (C) 2010, Paul Cercueil <paul@crapouillou.net>
   3 *  JZ4740 Watchdog driver
   4 *
   5 *  This program is free software; you can redistribute it and/or modify it
   6 *  under  the terms of the GNU General  Public License as published by the
   7 *  Free Software Foundation;  either version 2 of the License, or (at your
   8 *  option) any later version.
   9 *
  10 *  You should have received a copy of the GNU General Public License along
  11 *  with this program; if not, write to the Free Software Foundation, Inc.,
  12 *  675 Mass Ave, Cambridge, MA 02139, USA.
  13 *
  14 */
  15
  16#include <linux/module.h>
  17#include <linux/moduleparam.h>
  18#include <linux/types.h>
  19#include <linux/kernel.h>
  20#include <linux/miscdevice.h>
  21#include <linux/watchdog.h>
  22#include <linux/init.h>
  23#include <linux/platform_device.h>
  24#include <linux/io.h>
  25#include <linux/device.h>
  26#include <linux/clk.h>
  27#include <linux/slab.h>
  28#include <linux/err.h>
  29
  30#include <asm/mach-jz4740/timer.h>
  31
  32#define JZ_REG_WDT_TIMER_DATA     0x0
  33#define JZ_REG_WDT_COUNTER_ENABLE 0x4
  34#define JZ_REG_WDT_TIMER_COUNTER  0x8
  35#define JZ_REG_WDT_TIMER_CONTROL  0xC
  36
  37#define JZ_WDT_CLOCK_PCLK 0x1
  38#define JZ_WDT_CLOCK_RTC  0x2
  39#define JZ_WDT_CLOCK_EXT  0x4
  40
  41#define JZ_WDT_CLOCK_DIV_SHIFT   3
  42
  43#define JZ_WDT_CLOCK_DIV_1    (0 << JZ_WDT_CLOCK_DIV_SHIFT)
  44#define JZ_WDT_CLOCK_DIV_4    (1 << JZ_WDT_CLOCK_DIV_SHIFT)
  45#define JZ_WDT_CLOCK_DIV_16   (2 << JZ_WDT_CLOCK_DIV_SHIFT)
  46#define JZ_WDT_CLOCK_DIV_64   (3 << JZ_WDT_CLOCK_DIV_SHIFT)
  47#define JZ_WDT_CLOCK_DIV_256  (4 << JZ_WDT_CLOCK_DIV_SHIFT)
  48#define JZ_WDT_CLOCK_DIV_1024 (5 << JZ_WDT_CLOCK_DIV_SHIFT)
  49
  50#define DEFAULT_HEARTBEAT 5
  51#define MAX_HEARTBEAT     2048
  52
  53static bool nowayout = WATCHDOG_NOWAYOUT;
  54module_param(nowayout, bool, 0);
  55MODULE_PARM_DESC(nowayout,
  56                 "Watchdog cannot be stopped once started (default="
  57                 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
  58
  59static unsigned int heartbeat = DEFAULT_HEARTBEAT;
  60module_param(heartbeat href="+code=booluinteartbeat hruint2 value="v2.6.22"
	  >
  v2ueartbeat6z4740_wdt.c#L51" id="L56" cla61="line" name="L55">  55MODULE_PARM_Dram( hruint2 value="v2.6.22"
	  >
  v2uatchdog/6z4740_wdt.c#L52" id="L56" cla62="line" name="L57"> 56                   5 secondent"om 1 pro once started (default="
 57                 __MODULE_STR#define WATCHDOG_NOWAYOUT) 
JZ_ name="L57"> 57                 __MODULE_STRt = 
  v2uatchdog/6z4740_wdt.c#L55" id="L56" cla6s="line" name="L15">  15
J{ne" name="L15">  15
static unsig5

briv+code=DEFAULT_H5dtsref">DEFAULT_HEARTBEAT;
           iomehref="+code=modu  iomeh="lin*s="sref">nowayouasf+code=DEFAULT_Huasfsref">DEFAULT_HEARTBEAT;
static unsigclk+code=DEFAULT_Hclk="lin*s="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksref">DEFAULT_HEARTBEAT;
DEFAULT_HEARTBEAT;
  31
static unsighref="driv_pTstatic unsig5

nowayoriv_dev+code=DEFAULT_H5dt_dev>JZ_WDT_CLOCK_DIV_SHIFT)
  15
static unsighref="driv_drvdata+code=DEFAULT_Hhref="driv_drvdataef">J*s="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">Js="sref">heartbea5

__MODULE_STRriv_dev+code=DEFAULT_H5dt_dev>JZ_W">DEFAULT_HEARTBEAT;
  15
__MODULE_STRrthisw+code=DEFAULT_H5thisw="sre0x0ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REW">DEFAULT_HEARTBEAT;
DEFAULT_HEARTBEAT;
  49
static unsighref="driv_sev_"fala>((="sreneruc9static unsig5

nowayoriv_dev+code=DEFAULT_H5dt_dev>JZ_seat hruint2 value="v2.6.22"
	  >
  v28eartbeat8z4740_wdt.c#L51" id="L58" cla81="line" nameeeeeeeeeeeeeeeeeeeeeeeeeeeeee="L59">  59static unsignew_"fala>((>JZ_WDT_CLOCK_DIV_SHIFT)
  15
static unsighref="driv_drvdata+code=DEFAULT_Hhref="driv_drvdataef">J*s="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">Js="sref">heartbea5

__MODULE_STRriv_dev+code=DEFAULT_H5dt_dev>JZ_W">DEFAULT_HEARTBEAT;
  59static unsigrtc_clk_ratf+code=DEFAULT_Hrtc_clk_ratfsref">DEFAULT_HEARTBEAT;
  59static unsig"fala>(_okup"+code=DEFAULT_H"fala>(_okup"sref">DEFAULT_HEARTBEAT;
 shor9static unsigclock_div+code=DEFAULT_Hclock_divef">Js="sref">heartbea#define DEFAULT_HEARTBEAT;
  49
__MODULE_STRrtc_clk_ratf+code=DEFAULT_Hrtc_clk_ratfsrefJs="sref">heartbeaclk_gev_ratf+code=DEFAULT_Hclk_gev_ratf="sref">__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksrefW">DEFAULT_HEARTBEAT;
  49
__MODULE_STR"fala>(_okup"+code=DEFAULT_H"fala>(_okup"srefJs="sref">heartbeartc_clk_ratf+code=DEFAULT_Hrtc_clk_ratfsrefJ*static unsignew_"fala>((>JZ_">DEFAULT_HEARTBEAT;
__MODULE_STR"fala>(_okup"+code=DEFAULT_H"fala>(_okup"srefJlt;p 0xffff)J{ne" name="L15">  15
 if ef">__MODULE_STRclock_div+code=DEFAULT_Hclock_divef">Jss="sref">heartbea#define JZ)J{ne" name="L15">  15
 ne" namefne" name="L1">   1< Requesot b"fala>( too high started (default="
  14>>>>>>>>>>>>>>>>>>>>>>>* use higheso possible okup".> */
 ne" namef">__MODULE_STR"fala>(_okup"+code=DEFAULT_H"fala>(_okup"srefJs=0xffff">DEFAULT_HEARTBEAT;
         break">DEFAULT_HEARTBEAT;
 }>DEFAULT_HEARTBEAT;
 f">__MODULE_STR"fala>(_okup"+code=DEFAULT_H"fala>(_okup"srefJlt;plt;p= 2">DEFAULT_HEARTBEAT;
 f">__MODULE_STRclock_div+code=DEFAULT_Hclock_divef">J+=_WDT_CLOCK_DIV_4    (1 << JZ_Wf">linux/types.h>
DEFAULT_HEARTBEAT;
  31
__MODULE_STR5thisb+code=DEFAULT_H5thisb="sre0x0ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REGWf">linux/types.h>
__MODULE_STR5thisw+code=DEFAULT_H5thisw="sref">__MODULE_STRclock_div+code=DEFAULT_Hclock_divef">ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REWf">linux/types.h>
  31
__MODULE_STR5thisw+code=DEFAULT_H5thisw="sreef">__MODULE_STRu+code=JZ_WDT_CLOCusref">)f">__MODULE_STR"fala>(_okup"+code=DEFAULT_H"fala>(_okup"srefss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZWf">linux/types.h>
__MODULE_STRrthisw+code=DEFAULT_H5thisw="sre0x0ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REW">DEFAULT_HEes.h>
__MODULE_STR5thisw+code=DEFAULT_H5thisw="sref">__MODULE_STRclock_div+code=DEFAULT_Hclock_divef"> |e="L38">  38#define 
  v210atchdog/j0z4740_wdt.c#L18" id="L1808 cl0"8="line" name="L57"> f">__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REWf">linux/types.h>
  49
__MODULE_STR5thisb+code=DEFAULT_H5thisb="sre0x1ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REGWf">linux/types.h>
  31
__MODULE_STR5iv_dev+code=DEFAULT_H5dt_dev>JZ_-lt;pa="sref">nowayo"fala>((>JZ_Js="sref">heartbeanew_"fala>((>JZ_">DEFAULT_HEARTBEAT;
DEFAULT_HEARTBEAT;
  15
static unsighref="driv_sanno
nowayoriv_dev+code=DEFAULT_H5dt_dev>JZ_WDT_CLOCK_DIV_SHIFT)
  15
__MODULE_STRhref="d"falt_enable_5

linux/types.h>
__MODULE_STRhref="driv_sev_"fala>((="sres="sref">nowayoriv_dev+code=DEFAULT_H5dt_dev>JZ_sef">__MODULE_STR5iv_dev+code=DEFAULT_H5dt_dev>JZ_-lt;pa="sref">nowayo"fala>((>JZ_Wf">linux/types.h>
  40
DEFAULT_HEARTBEAT;
JZne" nam 59static unsighref="driv_saop
nowayoriv_dev+code=DEFAULT_H5dt_dev>JZ_WDT_CLOCK_DIV_SHIFT)
  15
static unsighref="driv_drvdata+code=DEFAULT_Hhref="driv_drvdataef">J*s="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">Js="sref">heartbea5

__MODULE_STRriv_dev+code=DEFAULT_H5dt_dev>JZ_W">DE name="L15">  15
  49
__MODULE_STRhref="d"falt_disable_5

linux/types.h>
__MODULE_STR5thisb+code=DEFAULT_H5thisb="sre0x0ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref +e="L34">  34#define JZ_REGWf">linux/types.h>
  40
DEFAULT_HEARTBEAT;
JZne" namconsteneruc9static unsig5

static unsighref="driv_info+code=DEFAULT_Hhref="driv_infoef">Js={ne" name="L15">  15
static unsigan clas+code=DEFAULT_Han clasef">Js="sref">heartbeaWDIOF_SETlassf="+code=WATCHDOG_NDIOF_SETlassf="ef"> |e="L38">  38NDIOF_KEEPALIVEPref="+code=__MODULNDIOF_KEEPALIVEPrefef"> |e="L38">  38NDIOF_MAGICCLOSZ_REG_WDT_COUNTENDIOF_MAGICCLOSZ"sreseat hruint2 value="v2.6.22"
	  >
  v21watchdog/1jz4740_wdt.c#L36" id="L316" cl136="line" name./a>static unsigidentity_REG_WDT_COUNTEidentityef">Js="ATCHDOG_NOWAYOUT) 
  v21watchdog/jjz4740_wdt.c#L37" id="L317" cl1ss="li}">DEFAULT_HEARTBEAT;
  58
JZne" namconsteneruc9static unsig5

static unsighref="driv_ops+code=DEFAULT_Hhref="driv_opsef">Js={ne" name="L15">  15
static unsigawner+code=DEFAULT_Hawneref">Js="sref">heartbeaTHIS_STRING+code=DEFAULT_HTHIS_STRING"sreseat hruint2 value="v2.6.22"
	  >
  v21watchdog/1jz4740_wdt.c#L41" id="L411" cl141="line" name./a>static unsigsannoheartbeahref="driv_sanno
  v21watchdog/1jz4740_wdt.c#L42" id="L412" cl142="line" name./a>static unsigsaopheartbeahref="driv_saop
  v21watchdog/jjz4740_wdt.c#L43" id="L413" cl143="line" name./a>static unsigpTheartbeahref="driv_pT hruint2 value="v2.6.22"
	  >
  v21watchdog/jzz4740_wdt.c#L14" id="L14"" cl144="line" name./a>static unsigsev_"fala>((="srJs="sref">heartbeahref="driv_sev_"fala>((="srseat hruint2 value="v2.6.22"
	  >
  v21watchdog/1jz4740_wdt.c#L45" id="L415" cl1ss="li}">DEFAULT_HEARTBEAT;
  36
static unsig_s="frni(static unsig.h" class="frefacode=DEFAULT_Hph" class="frefef">J*s="sref">nowayopdev+code=DEFAULT_Hpdev>JZ_WDT_CLOCK_DIV_SHIFT)
  15
static unsighref="driv_drvdata+code=DEFAULT_Hhref="driv_drvdataef">J*s="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">">DEFAULT_HEARTBEAT;
static unsig5

nowayohref="driv+code=DEFAULT_Hhref="drivef">">DEFAULT_HEARTBEAT;
static unsigresouref+code=DEFAULT_Hresourefbool"*s="sref">nowayores+code=DEFAULT_Hresef">">DEFAULT_HEARTBEAT;
static unsigrev+code=DEFAULT_Hrevef">">DEFAULT_HEARTBEAT;
nowayodrvdata+code=DEFAULT_Hdrvdataef">Js="sref">heartbea="fm_kzalloc+code=DEFAULT_Hd"fm_kzalloc="sre&pa="sref">nowayopdev+code=DEFAULT_Hpdev>JZ_-lt;pa="sref">nowayodev+code=DEFAULT_Hdev>JZ_sesizeofeneruc9static unsighref="driv_drvdata+code=DEFAULT_Hhref="driv_drvdataef">)seat hruint2 value="v2.6.22"
	  >
  v21watchdog/1jz4740_wdt.c#L55" id="L515" cl155="line" name="L57"> ne" namee" names="sref">nowayoGFP_KERNEJZ_REG_WDT_TIMERGFP_KERNEJ_REGWf">linux/types.h>
nowayodrvdata+code=DEFAULT_Hdrvdataef">)J{ne" name="L15">  15
 a="sref">nowayodev_err+code=DEFAULT_Hdev_err="sre&pa="sref">nowayopdev+code=DEFAULT_Hpdev>JZ_-lt;pa="sref">nowayodev+code=DEFAULT_Hdev>JZ_se"ATCHDOG_NOWAYOUT) 
")");
 ethod="-a="sref">nowayoENOMEM+code=DEFAULT_HENOMEMef">">DEFAULT_HEARTBEAT;
DEFAULT_HEARTBEAT;
  40
nowayoned int   38ned int     (1 &#define   40
 5"L38">  38ned int heartbeat = DEFAULT_HEARTBEAT;
nowayohref="driv+code=DEFAULT_Hhref="drivef">ss=&pa="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayoriv+code=DEFAULT_Hrivef">">DEFAULT_HEARTBEAT;
__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">-lt;pa="sref">nowayoinfo+code=DEFAULT_Hinfoef">Js=&pa="sref">nowayohref="driv_info+code=DEFAULT_Hhref="driv_infoef">">DEFAULT_HEARTBEAT;
__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">-lt;pa="sref">nowayoops+code=DEFAULT_Hopsef">Js=&pa="sref">nowayohref="driv_ops+code=DEFAULT_Hhref="driv_opsef">">DEFAULT_HEARTBEAT;
__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">-lt;pa="sref">nowayo"fala>((>JZ_Js="sref">heartbeaned int DEFAULT_HEARTBEAT;
__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">-lt;pa="sref">nowayomin_"fala>((>JZ_Js=1">DEFAULT_HEARTBEAT;
__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">-lt;pa="sref">nowayomax_"fala>((>JZ_Js="sref">heartbea#define linux/module.h>
__MODULE_STR5
(__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">ss="sref">heartbeESC(")");
__MODULE_STR5

__MODULE_STRhref="driv+code=DEFAULT_Hhref="drivef">ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">)">")");
  52
__MODULE_STRres+code=DEFAULT_Hresef">Js="sref">heartbeaph" classgev_resouref+code=DEFAULT_Hph" classgev_resouref="sref">__MODULE_STRpdev+code=DEFAULT_Hpdev>JZ_ss="sref">heartbeIORESOURCE_MEM+code=DEFAULT_HIORESOURCE_MEM>JZ_ssrtbeat hruint2 value="v2.6.22"
	  >
  v217atchdog/17z4740_wdt.c#L54" id="L517" cl174="line" names="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref s="sref">heartbea="fm_requeso_and_ioremapnowayopdev+code=DEFAULT_Hpdev>JZ_-lt;pa="sref">nowayodev+code=DEFAULT_Hdev>JZ_se"">__MODULE_STRres+code=DEFAULT_Hresef">tbeat hruint2 value="v2.6.22"
	  >
  v217atchdog/17z4740_wdt.c#L55" id="L517" cl175="line" nameif ea="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayouasf+code=DEFAULT_Huasfsref ss="sref">heartbeaNULJZ_REG_WDT_TIMERNULJef">)J{ne" name="L15">  15
 /a>static unsigrev+code=DEFAULT_Hrevef"> s=-a="sref">nowayoEBUSY+code=DEFAULT_HEBUSYss="">linux/module.h>
 goto /a>static unsigerr_a>(linux/module.h>
DEFAULT_HEARTBEAT;
  49
__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksrefJs="sref">heartbeaclk_gev+code=DEFAULT_Hclk_gev="sref">__MODULE_STRNULJZ_REG_WDT_TIMERNULJef">se"ATCHDOG_NOWAYOUT) ")");
nowayoIS_ERJZ_REG_WDT_TIMERIS_ERJ="sref">__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksrefW)J{ne" name="L15">  15
 5"L38">  38dev_err+code=DEFAULT_Hdev_err="sre&pa="sref">nowayopdev+code=DEFAULT_Hpdev>JZ_-lt;pa="sref">nowayodev+code=DEFAULT_Hdev>JZ_se"ATCHDOG_NOWAYOUT) ")");
 57         rev+code=DEFAULT_Hrevef"> s=57         PTR_ERJZ_REG_WDT_TIMERPTR_ERJ="sref">__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksrefW">")");
 goto /a>static unsigerr_a>(linux/module.h>
DEFAULT_HEARTBEAT;
  36
__MODULE_STRrev+code=DEFAULT_Hrevef"> s=57         5

nowayodrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayoriv+code=DEFAULT_Hrivef">W">")");
nowayorev+code=DEFAULT_Hrevef"> CK_DI0"ne" name="L40">  40
 goto /a>static unsigerr_disable_clk+code=DEFAULT_Herr_disable_clkss="">linux/module.h>
  40
__MODULE_STRph" classsev_drvdata+code=DEFAULT_Hph" classsev_drvdata="sref">__MODULE_STRpdev+code=DEFAULT_Hpdev>JZ_ss="sref">heartbedrvdata+code=DEFAULT_Hdrvdataef">)">")");
DEFAULT_HEARTBEAT;
err_disable_clk+code=DEFAULT_Herr_disable_clkss=":>DEFAULT_HEARTBEAT;
__MODULE_STRclk_p>(__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksrefW">")");
(ss=":>DEFAULT_HEARTBEAT;
nowayorev+code=DEFAULT_Hrevef">">")");
  49
static unsig_s="fexi(nowayohref="driv_removf+code=DEFAULT_Hhref="driv_removf="sreneruc9static unsig.h" class="frefacode=DEFAULT_Hph" class="frefef">J*s="sref">nowayopdev+code=DEFAULT_Hpdev>JZ_WDT_CLOCK_DIV_SHIFT)
  15
static unsighref="driv_drvdata+code=DEFAULT_Hhref="driv_drvdataef">J*s="sref">nowayodrvdata+code=DEFAULT_Hdrvdataef">Js="sref">heartbeaph" classgev_drvdata+code=DEFAULT_Hph" classgev_drvdata="sref">__MODULE_STRpdev+code=DEFAULT_Hpdev>JZ_W">")");
DEFAULT_HEARTBEAT;
nowayohref="driv_saopnowayodrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayoriv+code=DEFAULT_Hrivef">W">")");
__MODULE_STR5

nowayodrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayoriv+code=DEFAULT_Hrivef">W">")");
__MODULE_STRclk_p>(__MODULE_STRdrvdata+code=DEFAULT_Hdrvdataef">-lt;pa="sref">nowayortc_clk+code=DEFAULT_Hrtc_clksrefW">")");
  49
DEFAULT_HEARTBEAT;
  40
static unsig.h" class=40"> acode=DEFAULT_Hph" class=40"> ="lina="sref">nowayohref="driv_=40"> acode=DEFAULT_Hhref="driv_=40"> ef">Js={ne" name="L15">  15
static unsigprobf+code=DEFAULT_Hprobf="srJs="sref">heartbeahref="driv_probf+code=DEFAULT_Hhref="driv_probf="srseat hruint2 value="v2.6.22"
	  >
  v22watchdog/2jz4740_wdt.c#L13" id="L123" cl213="line" name./a>static unsigremovf+code=DEFAULT_Hremovf="srJs="sref">heartbea_s="fexi(_p__MODULE_STRhref="driv_removf+code=DEFAULT_Hhref="driv_removf="sr)seat hruint2 value="v2.6.22"
	  >
  v22watchdog/2jz4740_wdt.c#L14" id="L124" cl214="line" name./a>static unsig=40"> acode=DEFAULT_H=40"> ef">Js={ne" name="L15">  15
 ./a>static unsig id= hruint2 value="v2.6.22"
	  >
  v22watchdog/2jz4740_wdt.c#L16" id="L126" cl21s="line" name="L56"> ./a>static unsigawner+code=DEFAULT_Hawneref">JJs="sref">heartbeaTHIS_STRING+code=DEFAULT_HTHIS_STRING"sreseat hruint2 value="v2.6.22"
	  >
  v22watchdog/2jz4740_wdt.c#L17" id="L127" cl21s="line" name}seat hruint2 value="v2.6.22"
	  >
  v22watchdog/2jz4740_wdt.c#L18" id="L128" cl218="li}">DEFAULT_HEARTBEAT;
  49
  60h" class=40"> acode=DEFAULT_H  60h" class=40"> ="sref">__MODULE_STRhref="driv_=40"> acode=DEFAULT_Hhref="driv_=40"> ef">W">")");
  31
__MODULE_STRSTRING"AUTHOJZ_REG_WDT_TIMERSTRING"AUTHOJ="srefATCHDOG_NOWAYOUT) ")");
__MODULE_STRSTRING"ass=RIPTIONZ_REG_WDT_TIMERSTRING"ass=RIPTION="srefATCHDOG_NOWAYOUT) ")");
STRING"LICENSZ_REG_WDT_COUNTESTRING"LICENSZ="srefATCHDOG_NOWAYOUT) ")");
  55__MODULE_STRNOWAYOUT"MINOJZ_REG_WDT_TIMERNOWAYOUT"MINOJef">W">")");
")");

The original LXR software by the ")&qhttp://sourefclage.net/projects/lxt">LXR ">  unityef">, this experi 14lxt@c#Lux.noef">.
lxt.c#Lux.no kindly hosot bby ")&qhttp://www.redpill-c#Lpro.no">Redpill L#Lpro AS="sr, provider of L#LuxmconsultT