linux/drivers/watchdog/ts72xx_wdt.c
<<
>>
Prefs
   1/*
   2 * Watchdog driver for Technologic Systems TS-72xx based SBCs
   3 * (TS-7200, TS-7250 and TS-7260). These boards have external
   4 * glue logic CPLD chip, which includes programmable watchdog
   5 * timer.
   6 *
   7 * Copyright (c) 2009 Mika Westerberg <mika.westerberg@iki.fi>
   8 *
   9 * This driver is based on ep93xx_wdt and wm831x_wdt drivers.
  10 *
  11 * This file is licensed under the terms of the GNU General Public
  12 * License version 2. This program is licensed "as is" without any
  13 * warranty of any kind, whether express or implied.
  14 */
  15
  16#include <linux/fs.h>
  17#include <linux/io.h>
  18#include <linux/module.h>
  19#include <linux/moduleparam.h>
  20#include <linux/miscdevice.h>
  21#include <linux/mutex.h>
  22#include <linux/platform_device.h>
  23#include <linux/slab.h>
  24#include <linux/watchdog.h>
  25#include <linux/uaccess.h>
  26
  27#define TS72XX_WDT_FEED_VAL             0x05
  28#define TS72XX_WDT_DEFAULT_TIMEOUT      8
  29
  30static int timeout = TS72XX_WDT_DEFAULT_TIMEOUT;
  31module_param(timeout, int, 0);
  32MODULE_PARM_DESC(timeout, "Watchdog timeout in seconds. "
  33                          "(1 <= timeout <= 8, default="
  34                          __MODULE_STRING(TS72XX_WDT_DEFAULT_TIMEOUT)
  35                          ")");
  36
  37static bool nowayout = WATCHDOG_NOWAYOUT;
  38module_param(nowayout, bool, 0);
  39MODULE_PARM_DESC(nowayout, "Disable watchdog shutdown on close");
  40
  41/**
  42 * struct ts72xx_wdt - watchdog control structure
  43 * @lock: lock that protects this structure
  44 * @regval: watchdog timeout value suitable for control register
  45 * @flags: flags controlling watchdog device state
  46 * @control_reg: watchdog control register
  47 * @feed_reg: watchdog feed register
  48 * @pdev: back pointer to platform dev
  49 */
  50struct ts72xx_wdt {
  51        struct mutex    lock;
  52        int             regval;
  53
  54#define TS72XX_WDT_BUSY_FLAG            1
  55#define TS72XX_WDT_EXPECT_CLOSE_FLAG    2
  56        int             flags;
  57
  58        void __iomem    *control_reg;
  59        void __iomem    *feed_reg;
  60
  61        struct platform_device *pdev;
  62};
  63
  64struct platform_device *ts72xx_wdt_pdev;
  65
  66/*
  67 * TS-72xx Watchdog supports following timeouts (value written
  68 * to control register):
  69 *      value   description
  70 *      -------------------------
  71 *      0x00    watchdog disabled
  72 *      0x01    250ms
  73 *      0x02    500ms
  74 *      0x03    1s
  75 *      0x04    reserved
  76 *      0x05    2s
  77 *      0x06    4s
  78 *      0x07    8s
  79 *
  80 * Timeouts below 1s are not very usable so we don't
  81 * allow them at all.
  82 *
  83 * We provide two functions that convert between these:
  84 * timeout_to_regval() and regval_to_timeout().
  85 */
  86static const struct {
  87        int     timeout;
  88        int     regval;
  89} ts72xx_wdt_map[] = {
  90        { 1, 3 },
  91        { 2, 5 },
  92        { 4, 6 },
  93        { 8, 7 },
  94};
  95
  96/**
  97 * timeout_to_regval() - converts given timeout to control register value
  98 * @new_timeout: timeout in seconds to be converted
  99 *
 100 * Function converts given @new_timeout into valid value that can
 101 * be programmed into watchdog control register. When conversion is
 102 * not possible, function returns %-EINVAL.
 103 */
 104static int timeout_to_regval(int new_timeout)
 105{
 106        int i;
 107
 108        /* first limit it to 1 - 8 seconds */
 109        new_timeout = clamp_val(new_timeout, 1, 8);
 110
 111        for (i = 0; i < ARRAY_SIZE(ts72xx_wdt_map); i++) {
 112                if (ts72xx_wdt_map[i].timeout >= new_timeout)
 113                        return ts72xx_wdt_map[i].regval;
 114        }
 115
 116        return -EINVAL;
 117}
 118
 119/**
 120 * regval_to_timeout() - converts control register value to timeout
 121 * @regval: control register value to be converted
 122 *
 123 * Function converts given @regval to timeout in seconds (1, 2, 4 or 8).
 124 * If @regval cannot be converted, function returns %-EINVAL.
 125 */
 126static int regval_to_timeout(int regval)
 127{
 128        int i;
 129
 130        for (i = 0; i < ARRAY_SIZE(ts72xx_wdt_map); i++) {
 131                if (ts72xx_wdt_map[i].regval == regval)
 132                        return ts72xx_wdt_map[i].timeout;
 133        }
 134
 135        return -EINVAL;
 136}
 137
 138/**
 139 * ts72xx_wdt_kick() - kick the watchdog
 140 * @wdt: watchdog to be kicked
 141 *
 142 * Called with @wdt->lock held.
 143 */
 144static inline void ts72xx_wdt_kick(struct ts72xx_wdt *wdt)
 145{
 146        __raw_writeb(TS72XX_WDT_FEED_VAL, wdt->feed_reg);
}
 148
 149/**
 150 * ts72xx_wdt_start() - starts the watchdog timer
 151 * @wdt: watchdog to be started
 152 *
 153 * This function programs timeout to watchdog timer
 154 * and starts it.
 155 *
 156 * Called with @wdt->lock held.
 157 */
 158static void ts72xx_wdt_start(struct ts72xx_wdt *wdt)
 159{
 160        /*
 161         * To program the wdt, it first must be "fed" and
 162         * only after that (within 30 usecs) the configuration
 163         * can be changed.
 164         */
 165        ts72xx_wdt_kick(wdt);
 166        __raw_writeb((u8)wdt->regval, wdt->control_reg);
 167}
 168
 169/**
 170 * ts72xx_wdt_stop() - stops the watchdog timer
 171 * @wdt: watchdog to be stopped
 172 *
 173 * Called with @wdt->lock held.
 174 */
 175static void ts72xx_wdt_stop(struct ts72xx_wdt *wdt)
 176{
 177        ts72xx_wdt_kick(wdt);
 178        __raw_writeb(0, wdt->control_reg);
 179}
 180
 181static int ts72xx_wdt_open(struct inode *inode, struct file *file)
 182{
 183        struct ts72xx_wdt *wdt = platform_get_drvdata(ts72xx_wdt_pdev);
 184        int regval;
 185
 186        /*
 187         * Try to convert default timeout to valid register
 188         * value first.
 189         */
 190        regval = timeout_to_regval(timeout);
 191        if (regval < 0) {
 192                dev_err(&amive" id="L109" class="l2riuontrol_reg;
 190"L130" class="line" name="L130"> 130        faco9dt.c#L113" id="L113" class="lhref="+code=nowayout" classfai nam87"> 187&quo href="drivers7ds="sr+4190"> 190"L130" class);
timeout_to_regval(timeoutl;
 135        return -EINV  95
1 1*
1 e
1  4rupt="L135"> 135        _/a><_">  4rupt="L1     dev_err(&amive" id="L109=mutex" class="sref">mutex<)e *fid
1 135    RESTARTSYSeturn -EIN2
<2 href="drivers/watchdog/2s72xx20dt.c#L180" id="L180" class="line" name="L180">2
<2 href="drivers/watchdog/2s72xx20dt.c#L191" id="L1ts72xx_wdt_kick" class="sref">ts72xx_wdt_VAL,   54#define regval &2
<2 href="drivers/watchdog/2s72xx20dt.c#L192" id="L192" class="line" na     _un=mutex" class="sref     _un=mut     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN2>
< href="drivers/watchdog/2s72xx20dt.c#L113" id="L113" ="L135" class="line" namde=T35"> 135    de=Teturn -EIN2>
< href="drivers/watchdog/2s72xx20dt.c#L114" id="L114" class="line" name="L114"> 114 2ut)
<2 href="drivers/watchdog/2s72xx20dt.c#L185" id="L185" class="line" name="L185">205{
<2 href="drivers/watchdog/2s72xx20dt.c#L166" id="L166" class=" class="sref">ts72xx_wdt_VAL,   54#define EIN2< 26
< href="drivers/watchdog/2s72xx20dt.c#L177" id="L177" class="ef="+code=u8" class="sref">u8)wdt-&  184        int reg2107
<2 href="drivers/watchdog/2s72xx20dt.c#L178" id="L178" class="code=file" class="sref">fil/a>(&amive" id="L109"+coate_="sref">wdt = -& reg21      8
< href="drivers/watchdog/2s72xx20dt.c#L129" id="L129" class="line" name="L129">2 1, 8);
<2 href="drivers/watchdog/2s72xx21dt.c#L190" id="L190" class="" name="L158"> 158static void ts72xx_wdt_kick(w2110
<2 href="drivers/watchdog/2s72xx2wdt.c#ck(w21/span>
<2 href="drivers/watchdog/2s72xx2wdt.c#L112" idclass="line" na     _un=mutex" class="sref     _un=mut     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN2ut)
<2 href="drivers/watchdog/2s72xx2wdt.c#L113" idine" name="L132"> 132 181static nonseekss="181">e=ts7s72xx_wdt_kick"de=inode" class="sref">inodefilen -EIN2u/a>>
< href="drivers/watchdog/2s72xx2wdt.c#="L114" class="line" name="L114"> 114 2      }
<2 href="drivers/watchdog/2s72xx2wdt.c#L115" id="L115" class="line" name="L115">2115
<2 href="drivers/watchdog/2s72xx21dt.c#L126" id="L126" class="linid ts72xx_wdt_open(struct inode *inode, struct file *f2AL;
<2 href="drivers/watchdog/2s72xx21dt.c#L127" id="L127" class="line" name="L127"> 217}
<2 href="drivers/watchdog/2s72xx21dt.c#L178" id="L183" class="line" name="L183"> 183        struct ts72xx_wdt *fil/a>(&amive" id="L109"+coate_="sref">wdt = -&n -EIN2u      8
< href="drivers/watchdog/2s72xx21dt.c#L129" id="L129" class="line" name="L129">2>
<  4rupt="L135"> 135        _/a><_">  4rupt="L1     dev_err(&amive" id="L109=mutex" class="sref">mutex<)e *f2>
< 135    RESTARTSYSeturn -EIN2>
EIN2)
<2ts72xx_wdt_VAL,   55#define regval &2>
< 175static void ts72xx_wdt_kick(w2>
<regval &2<15
<2dev_err(&amive" id="L109" class="l2riuontrol_reg;
 190"L130" cla2al)
<2 href="drivers/watchdog/2s72xx227_wdt.c#L34" id="L34" id="L34"7ref="+code=nowayout" classine" XX S72s="commelass=d unexpectly class="string">"Watchdog timeout in seconds. "227{
<2 href="drivers/watchdog/2s72xx2wdt.c#L128" idid="L34" id="L34"7ref="+code=nowayout" classWlass="comment willine" ="+c!\n"string">&quokick(w2<      8
< href="drivers/watchdog/2s72xx229_wdt.c#L35" id="L35"="L186" class="line" name="L186"> 186        /2129
<2 href="drivers/watchdog/2s72xx23dt.c#L170" id="L170" class="""""""""""""""""* K/a> 186        /21/a>>
< href="drivers/watchdog/2s72xx23dt.c#L161" id="L161" class="line" na""""""""* 87"12co    (="L1exa hL102re161wnass="h0)
<2 href="drivers/watchdog/2s72xx23dt.c#L162" id="L162" class="line" na""""""""* daemongiven @regval to timeout in seconds (1, 2, 4 or 8)2ut;
<2 href="drivers/watchdog/2s72xx23dt.c#L163" id="L163" class="line" na""""""""*e="L189"> 189         *2      }
<2 href="drivers/watchdog/2s72xx2xx_wdt.c#L34" id="L34"75" class="line" name="L17"L177"> 177        ts72xx_wdt_kick(w2134
<2 href="drivers/watchdog/2s72xx2wdt.c#L135" id="L114" class="line" name="L114"> 114 2AL;
<2 href="drivers/watchdog/2s72xx2xx_wdt.c#L36" id="L36" class="line" name="L36">236}
<2 href="drivers/watchdog/2s72xx23dt.c#L177" id="L177" class="ef="+code=u8" class="sref">u8)w217{
<2 href="drivers/watchdog/2s72xx23dt.c#L168" id="L168" class="line" name="L168">2
<2 href="drivers/watchdog/2s72xx23dt.c#L109" id="L109" class="     _un=mutex" class="sref     _un=mut     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN2
<2 href="drivers/watchdog/2s72xx24dt.c#L190" id="L135"0ick(w2
<2 href="drivers/watchdog/2s72xx2wdt.c#="L114" class="line" name="L114"> 114 2
<2 href="drivers/watchdog/2s72xx24dt.c# -EIN2
<2 href="drivers/watchdog/2s72xx2wdt.c#L144" id="L144" class=ssize_" class="sref">dssize_"t.c#L75" class="line" name="L17  177        inode, struct fil href="drivers7ds="sr+4190"> 190"L130" cla2
<2 href="drivers/watchdog/2s72xx24x_wdt.c#L34" id="L34" class=""""""""" id="Lchard="L178" class="li="cr=file" class="sli="cra>, struct wdt = <="sra>-& href="drivers7ds="sr+4190"> 190"L130" cla2<34
<2 href="drivers/watchdog/2s72xx24x_wdt.c#L35" id="L35".c#L34" id="L34"75" class="linesize_" class="sref">dsize_"t.c#L75" class="linel"> 181static l">e=ts href="drivers7ds="sr+4190"> 190"L130" cla2;
<2 href="drivers/watchdog/2s72xx246_wdt.c#L34" id="L34".c#L34" id="L34"75" class="lineloff_" class="sref">dloff_"a>, struct f2g);
<2 href="drivers/watchdog/2s72xx24dt.c#L127" id="L127" class="line" name="L127"> 247}
<2 href="drivers/watchdog/2s72xx24dt.c#L178" id="L183" class="line" name="L183"> 183        struct ts72xx_wdt *fil/a>(&amive" id="L109"+coate_="sref">wdt = -&n - 24/span>
<2 href="drivers/watchdog/2s72xx24dt.c#L129" id="L129" class="line" name="L129">2
<2 href="drivers/watchdog/2s72xx25dt.c#L190" id="L1!75" class="linel"> 181static l">e=tse *f2
<2 href="drivers/watchdog/2s72xx25dt.c#L131" id="L131" ="L135"0ick(w2
<2 href="drivers/watchdog/2s72xx25dt.c# -EIN2
<2 href="drivers/watchdog/2s72xx253t.c#L190" id="L191" class="line     _/a><_">  4rupt="L135"> 135        _/a><_">  4rupt="L1     dev_err(&amive" id="L109=mutex" class="sref">mutex<)e *f2
<2 href="drivers/watchdog/2s72xx25x_wdt.c#L34" id="L34"="L135" class="line" namRESTARTSYS35"> 135    RESTARTSYSeturn -EIN2
<2 href="drivers/watchdog/2s72xx25dt.c#L115" id="L115" class="line" name="L115">2
<2 href="drivers/watchdog/2s72xx25dt.c#L166" id="L166" class="" name="L17"L177"> 177        ts72xx_wdt_kick(w2
<2 href="drivers/watchdog/2s72xx2xx_wdt.c#L57" id="L57" class="line" name="L57">2
<2 href="drivers/watchdog/2s72xx25dt.c#L108" id="L108" class="line" nam="L189"> 189         *2dt)
<2 href="drivers/watchdog/2s72xx25dt.c#L189" id="L189" class="line" nam S67d="L1mag86" haraca>{
<2 href="drivers/watchdog/2s72xx26dt.c#L170" id="L170" class="""""""""*-72xxe* If 9;VIf 9;1"> 10"h0<="comm, jommentforeo108
<2 href="drivers/watchdog/2s72xx2wdt.c#L161" id="L161" class="line" name=e" nmeaa>
<2 href="drivers/watchdog/2s72xx2wdt.c#L162" id="L162" class="line" name/a> 16="crelass=s0"h0<="commiven @regval to timeout in seconds (1, 2, 4 or 8)2
<2 href="drivers/watchdog/2s72xx2wdt.c#L163" id="L163" class="line" name="L189"> 189         *2
<2 href="drivers/watchdog/2s72xx264t.c#L190" id="L1!75" class="linen" ay="sref">timeout" ay="sE_FL) L127" id="L127" class="line" name="L127"> 2
<2 href="drivers/watchdog/2s72xx26x_wdt.c#L35" id="L35"="L128" class="line" name="L128"> 128        int 2g);
<2 href="drivers/watchdog/2s72xx267_wdt.c#L34" id="L34"="L130" class="line" name="L130"> 130        for (i = 0;  181static l">e=ts=ts72xx_wdt_map" class="sref">ts72xx_wdt_map); i<267}
<2 href="drivers/watchdog/2s72xx26dt.c#L128" idid="L34" id="L34chard="L178" class="class="sref">ts7c8        int 2
<2 href="drivers/watchdog/2s72xx270t.c#L128" idid="L34" id="L34="L108" class="line" nameI08"aseo108was set long agoame="L189"> 189         *2
<2 href="drivers/watchdog/2s72xx27dt.c#L131" id="L131"  id="L34=72xx_wdt_kick" class="sref">ts72xx_wdt_VAL,   55#define EIN2
<2 href="drivers/watchdog/2s72xx27dt.c#L113" id="L113" class="l="L191" class="linecode="cr=file" class="scode="crode=ts72xx_wdt_kick"class="sref">ts7c8wdt = <="sra>-& +ts72xx_wdt_map" class="sref">ts72xx_w)_map); i<2
<2 href="drivers/watchdog/2s72xx27x_wdt.c#L34" id="L34" class="""""""""="L109" class="     _un=mutex" class="sref     _un=mut     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN2
<2 href="drivers/watchdog/2s72xx27x_wdt.c#L35" id="L35".c#L34" id="L34"="L135" class="line" namFAULT35"> 135    FAULTE_FL>        int  114 276{
<2 href="drivers/watchdog/2s72xx277_wdt.c#L34" id="L34" id="L34="L191" class="lineclass="sref">ts7c8].&quokmap); i<2<7}
<2 href="drivers/watchdog/2s72xx27dt.c#L128" idid="L34" id="L34""""""""="L109" class=" class="sref">ts72xx_wdt_VAL,   55#define         int  114 2180
<2 href="drivers/watchdog/2s72xx28dt.c#L131" id="L131" ="L114" class="line" name="L114"> 114 21/span>
<2 href="drivers/watchdog/2s72xx28dt.c#L112" id="L114" class="line" name="L114"> 114 21/span>
<2 href="drivers/watchdog/2s72xx2wdt.c#"L114" class="line" name="L114"> 114 21/span>
<2 href="drivers/watchdog/2s72xx2wdt.c#L184" id="L109" class="     _un=mutex" class="sref     _un=mut     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN2al;
<2 href="drivers/watchdog/2s72xx28dt.c#L135" id="L135"> = 0;  181static l">e=ts= -EIN2a);
<2 href="drivers/watchdog/2s72xx28dt.c#L136" id="L136" class="line" name="L136"> 2
<2 href="drivers/watchdog/2s72xx28x_wdt.c#L57" id="L57" class="line" name="L57">2
<2 href="drivers/watchdog/2s72xx28dt.c#L158" i id="L="L183" class="line" nlass="li_info class="sref">deass="li_infot.c#L75" class="linewinfo class="sref">deinfot.c#L=map); i<2
<2 href="drivers/watchdog/2s72xx289_wdt.c#L35" wdt_map[        inop* on5t.c#L131" id="L131"  135   WDIOF_SETTIMEOUT     |p); i<2
<2 href="drivers/watchdog/2s72xx290t.c#L128" idid="L34" id="L344444444444 href="+code=tiWDIOF_MAGICXPECT35"> 135   WDIOF_MAGICXPECTe=ts href="drivers7ds="sr+4190"> 190"L130" cla2t);
<2 href="drivers/watchdog/2s72xx2wdt.c#L191" idwdt_map[ 190"L130" cla2t/span>
<2 href="drivers/watchdog/2s72xx2wdt.c#L192" idwdt_map[ts72dne"ityt.c#L128" idid="L34.&quo href="drivers7ds="sr+4190"> 190"L130" cla2s="line" 2ame="L130"> 130     2  fac29dt.c#}= -EIN2s);
<22tl;
<2regval = name="L17ioctrode=ts72xx_wdt_open" class=e" class="sref">inode, struct fil  unsigned"="L128" class="linecmdlass="sref">ts7cmde=ts href="drivers7ds="sr+4190"> 190"L130" cla2t);
<2wdt *f2*
2 2e
2 183        struct ts72xx_wdt *fil/a>(&amive" id="L109"+coate_="sref">wdt = -&n - 2e/span>
<2, struct , striteb((wdt 3
<3 href="drivers/watchdog/3s72xx30dt.c#L190" id="L128" class="lineli="cr=file" class="sli="cra>, struct , striteb((static varl 2xx_n - 3<1span>
<3 href="drivers/watchdog/3s72xx30dt.c#L191" id="L128" class="lineerror=file" class="serror      - 3<2span>
<3 href="drivers/watchdog/3s72xx30dt.c# -EIN3>
3 href="drivers/watchdog/3s72xx303t.c#L190" id="L191" class="line     _/a><_">  4rupt="L135"> 135        _/a><_">  4rupt="L1     dev_err(&amive" id="L109=mutex" class="sref">mutex<)e *f3>
3 href="drivers/watchdog/3s72xx30x_wdt.c#L34" id="L34"="L135" class="line" namRESTARTSYS35"> 135    RESTARTSYSeturn -EIN3ut)
<3 href="drivers/watchdog/3s72xx30dt.c#L185" id="L185" class="line" name="L185">305{
<3 href="drivers/watchdog/3s72xx30dt.c#L166" idswis="L191" class="linecmdlass="sref">ts7cmde=tskmap); i<3< 26
3 href="drivers/watchdog/3s72xx30dt.c#L177" id"aseo href="+code=tiWDIOC_GETSUPPORT35"> 135   WDIOC_GETSUPPORTt.c#:p); i<3<826
3 a href="drivers/watchdo3s72xx30dt.c#L128" idid="L34"28" class="lineerror=file" class="serror   91" class="linecopyef="="cr=file" class="scopyef="="crode=ts72xx_wdt_kick"arl 175static varl 2xx_, deinfot.c#, sizeofts72xx_wdt_kick" info class="sref">deinfot.c#))n -EIN31      8
3 href="drivers/watchdog/3s72xx309_wdt.c#L35" id="L35"break>        int 3110
<3 href="drivers/watchdog/3s72xx311t.c#L177" id"aseo href="+code=tiWDIOC_GETSTATUS35"> 135   WDIOC_GETSTATUSt.c#:p); i<31/span>
<3 href="drivers/watchdog/3s72xx3wdt.c#L112" id"aseo href="+code=tiWDIOC_GETBOOTSTATUS35"> 135   WDIOC_GETBOOTSTATUSt.c#:p); i<31/a>>
3 href="drivers/watchdog/3s72xx31dt.c#L113" id="L113" ="L135"ruct static v 2xx_)n -EIN3u/a>>
3 href="drivers/watchdog/3s72xx31dt.c#L134" id="L134" class="line" name="L134">3      }
<3 href="drivers/watchdog/3s72xx315t.c#L112" id"aseo href="+code=tiWDIOC_KEEPALIVE35"> 135   WDIOC_KEEPALIVEt.c#:p); i<315{
<3 href="drivers/watchdog/3s72xx316_wdt.c#L34" id="L34"75" class="line" name="L17"L177"> 177        ts72xx_wdt_kick(w3AL;
<3 href="drivers/watchdog/3s72xx317_wdt.c#L34" id="L34"break>        int 3u      8
3 href="drivers/watchdog/3s72xx319t.c#L112" id"aseo href="+code=tiWDIOC_SETOPTIONS35"> 135   WDIOC_SETOPTIONSt.c#:map); i<3>
3(w3>
3aa href="drivers/watchdo3/72xx32dt.c#L192" id="L192" ="L191" class="linecode="cr=file" class="scode="crode=ts72xx_wdt_kick"op* on56        inop* on5t.c#ode=__raw_writeb" 175static v 2xx_)kmap); i<3)
<3 135    FAULTE_FL>        int         int  3<15
<33al)
<3 href="drivers/watchdog/3s72xx327_wdt.c#L34" id="L34"28" class="lineerror=file" class="serror    class="line" name="L135"> 135        return -EIN327{
<3 href="drivers/watchdog/3s72xx32dt.c#L168" id="L168" class="line" name="L168">3<      8
3 href="drivers/watchdog/3s72xx329_wdt.c#L35" id="L35"="L1ts72xx_wdt_kick"op* on56        inop* on5t.c#L 135   WDIOS_DISABLECARDe=tskm!= href="+code=regval" class="sref">regval &3129
<3 href="drivers/watchdog/3s72xx330t.c#L128" idid="L34" id="L34=5" class="line" name="L175"> 175static void ts72xx_wdt_kick(w31/a>>
3 href="drivers/watchdog/3s72xx33dt.c#L131" id="L131"  id="L34=72xx_wdt_kick"error=file" class="serror      - 3al)
<3 href="drivers/watchdog/3s72xx33dt.c#L192" id="L192" L136" id="L136" class="line" name="L136"> 3ut;
<3 href="drivers/watchdog/3s72xx33dt.c#L113" id="L113" ="L1ts72xx_wdt_kick"op* on56        inop* on5t.c#L 135   WDIOS_ENABLECARDe=tskm!= href="+code=regval" class="sref">regval &31/a>>
3 href="drivers/watchdog/3s72xx3xx_wdt.c#L34" id="L34" id="L34=5" class="line" name="L175"> 158static void ts72xx_wdt_kick(w3134
<3 href="drivers/watchdog/3s72xx33x_wdt.c#L35" id="L35".c#L34" =72xx_wdt_kick"error=file" class="serror      - 3a15
<3 href="drivers/watchdog/3s72xx336_wdt.c#L34" id="L34"L136" id="L136" class="line" name="L136"> 3ul)
<3 href="drivers/watchdog/3s72xx33x_wdt.c#L57" id="L57" class="line" name="L57">317{
<3 href="drivers/watchdog/3s72xx33dt.c#L128" idid="L34"break>        int  3
<3 href="drivers/watchdog/3s72xx34dt.c#L180" id="L180" class="line" name="L180">3
<3 href="drivers/watchdog/3s72xx341t.c#L177" id"aseo href="+code=tiWDIOC_SETTIMEOUT35"> 135   WDIOC_SETTIMEOUT    :map); i<3
<3 href="drivers/watchdog/3s72xx34dt.c#L192" id="L192" ="L128" class="linenew_lass="sref">timeout_tonew_lass="seturn -EIN3
<3 href="drivers/watchdog/3s72xx34dt.c#"L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx34x_wdt.c#L34" id="L34"="L191" class="linecode="cr=file" class="scode="crode=ts72xx_wdt_kick"new_lass="sref">timeout_tonew_lass="seturode=__raw_writeb" 175static v 2xx_)kmap); i<3<34
<3 href="drivers/watchdog/3s72xx34x_wdt.c#L35" id="L35".c#L34" 28" class="lineerror=file" class="serror    class="line" namFAULT35"> 135    FAULTE_FL>        int regval &3g);
<3 href="drivers/watchdog/3s72xx347_wdt.c#L34" id="L34" id="L34="L184" class="line" name="L184"> 184        int reg347}
<3 href="drivers/watchdog/3s72xx34dt.c#L168" id="L168" class="line" name="L168">34/span>
<3 href="drivers/watchdog/3s72xx349_wdt.c#L35" id="L35"""""""""84" class="line" name="L184"> 184        i   regval = timeout_tonew_lass="seturkick(w3
<3 href="drivers/watchdog/3s72xx350t.c#L128" idid="L34" id="L34="L191" class="line" name="L191"> 191        if (regval &3
<3 href="drivers/watchdog/3s72xx35dt.c#L131" id="L131" id="L35".c#L34" 28" class="lineerror=file" class="serror    class="line" name="L135"> 135        return -EIN3
<3 href="drivers/watchdog/3s72xx35dt.c#L192" id="L192" id="L34"} elseef="+code=regval" class="sref">regval &3
<3 href="drivers/watchdog/3s72xx35dt.c#L113" id="L113" class="l.c#L34" 28" class="line" name="L175"> 175static void ts72xx_wdt_kick(w3
<3 href="drivers/watchdog/3s72xx35x_wdt.c#L34" id="L34"class="l.c#L34" 28" class="linerr" class="sref">dev_err(&amive" id="L109ode=wdt" class="sref">wdt-&  184        int reg3
<3 href="drivers/watchdog/3s72xx35x_wdt.c#L35" id="L35".c#L34" id="L34"75" class="line" name="L175"> 158static void ts72xx_wdt_kick(w3
<3 href="drivers/watchdog/3s72xx356_wdt.c#L34" id="L34".c#L34" ="L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx357_wdt.c#L34" id="L34"="L114" class="line" name="L114"> 114 3<7}
<3 href="drivers/watchdog/3s72xx35dt.c#L128" idid="L34"="L191" class="lineerror=file" class="serrore *f3dt)
<3 href="drivers/watchdog/3s72xx359_wdt.c#L35" id="L35"""""""""break>        int 3
<3 href="drivers/watchdog/3s72xx36dt.c#L131" id="L131" ="L108" class="line" namFALLTHROUGHme="L189"> 189         *3
<3 href="drivers/watchdog/3s72xx36dt.c#L112" id="L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx36dt.c#"L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx364t.c#L190" id"aseo href="+code=tiWDIOC_GETTIMEOUT35"> 135   WDIOC_GETTIMEOUT    :"L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx36x_wdt.c#L35" id="L35"="L191" class="line ude="cr=file" class="s ude="crode=t href="+code=ti" nameef="lass="sref">timeout_to" nameef="lass="se=ts7s72xx_wdt_kick" class="sref">ts72xx_wdt_/a>(&amive" id="L109ode=wdt" class="sref">wdt-&)ode=__raw_writeb" 175static v 2xx_)k"L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx366_wdt.c#L34" id="L34".c#L34" 28" class="lineerror=file" class="serror    class="line" namFAULT35"> 135    FAULTE_FL>        int         int 3tt)
<3 href="drivers/watchdog/3s72xx369_wdt.c#L35" > 114 3
<3 href="drivers/watchdog/3s72xx370t.c#L128" idid="L34"28" class="lineerror=file" class="serror    class="line" namNOTTT35"> 135    NOTTTE_FL>        int         int  114 3
<3 href="drivers/watchdog/3s72xx37dt.c#"L114" class="line" name="L114"> 114 3
<3 href="drivers/watchdog/3s72xx37x_wdt.c#L34" class="line" na     _un=mutex" class="sref     _un=mut     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN3
<3 href="drivers/watchdog/3s72xx37dt.c#L135" id="L135"> = 0; EIN3
<3 href="drivers/watchdog/3s72xx37dt.c#L136" id="L136" class="line" name="L136"> 376{
<3 href="drivers/watchdog/3s72xx37x_wdt.c#L57" id="L57" class="line" name="L57">3<7}
<3 href="drivers/watchdog/3s72xx37dt.c#L158" i id="L="L183" class="line" nref"181"ra* on56        inref"181"ra* on5t.c#L75" class="line" name="L17fop56        in" name="L17fop5   f="+code=regval" class="sref">regval &3)
<3 href="drivers/watchdog/3s72xx379_wdt.c#L35" wdt_map[ 135   mHIS_MODULEeturo="+code=regval" class="sref">regval &379}
<3 href="drivers/watchdog/3s72xx380t.c#L128" idwdt_map[regval &37/span>
<3 href="drivers/watchdog/3s72xx38dt.c#L191" idwdt_map[ 181static 81">e=ts L131" id=" 181static " name="L1781">eturo="+code=regval" class="sref">regval &37/span>
<3 href="drivers/watchdog/3s72xx38dt.c#L192" idwdt_map[regval &37/span>
<3 href="drivers/watchdog/3s72xx383t.c#L192" idwdt_map[ 177      177        regval &37/span>
<3 href="drivers/watchdog/3s72xx3wdt.c#L184" idwdt_map[regval un=muted7ioctr   i   regval = name="L17ioctrode=o="+code=regval" class="sref">regval &37/span>
<3 href="drivers/watchdog/3s72xx38dt.c#}= -EIN3a);
<3 href="drivers/watchdog/3s72xx38x_wdt.c#L36" id="L36" class="line" name="L36">3
<3 href="drivers/watchdog/3s72xx38x_wdtL158" i="L183" class="line" nmisc="commex" class="sref isc="commt.c#L75" class="line" name="L17 isc="cef">regval = name="L17 isc="c   f="+code=regval" class="sref">regval &3
<3 href="drivers/watchdog/3s72xx388t.c#L184" idwdt_map[ 135   WATCHDOG_MINORode=o="+code=regval" class="sref">regval &37t)
<3 href="drivers/watchdog/3s72xx389_wdt.c#L35" wdt_map[&quo href="drivers7ds="sr+4190"> 190"L130" cla3
<3 href="drivers/watchdog/3s72xx390t.c#L128" idwdt_map[        infop5 L131" id=" 190"L130" cla3
<3 href="drivers/watchdog/3s72xx3wdt.c#}= -EIN3t/span>
<3 href="drivers/watchdog/3s72xx39dt.c# -EIN3s="line" 3ame="L130"> 130     3  fac39dt.c#L144" id="L126" class="linid  177         truct  114 3s);
<3regval &3tl;
<3 183        struct ts72xx_= -EIN3t);
<3EIN3t/span>
<3 3e
33e/span>
<3ts72xx_"kzal=mu     =izeoft="L183" class="line" name="L183"> 183        struct  135   GFP_KERNE1tex<)n -EIN4
<4 href="drivers/watchdog/4s72xx40dt.c#L190" id="L1!75" class="line class="sref">ts72xx_wdt_k f="+code=regval" class="sref">regval &4<1span>
<4 href="drivers/watchdog/4s72xx40dt.c#L131" id="L131" =5" class="line    errass="sref">ts72    err     &quokick(w4<2span>
<4 href="drivers/watchdog/4s72xx40dt.c#L192" id="L192" ="L135" class="line" namNOMEM35"> 135    NOMEM2xx_= -EIN4>
4 href="drivers/watchdog/4s72xx403t.c#L190" idL136" id="L136" class="line" name="L136"> 4>
4 href="drivers/watchdog/4s72xx40dt.c#L134" id="L134" class="line" name="L134">4ut)
<4 href="drivers/watchdog/4s72xx405t.c#L109" id="L109" class="r1ex" class="srefr1etur" 135   IORESOURCE_MEMg(w4<6)
<4 a href="drivers/watchdo4s72xx40dt.c#L166" id="L1!75" class="liner1ex" class="srefr1eturk f="+code=regval" class="sref">regval &4<7)
<4 a href="drivers/watchdo4s72xx407_wdt.c#L34" id="L34"28" class="line    errass="sref">ts72    err     &quokick(w4<8)
<4 a href="drivers/watchdo4s72xx40dt.c#L128" idid="L34"28" class="lineerror=file" class="serror    class="line" namNODEV35"> 135    NODEV2xx_= -EIN4<9)
<4 a href="drivers/watchdo4s72xx409_wdt.c#L35" id="L35"go87"dt_map[        infail2xx_= -EIN4 1, 8);
<4 href="drivers/watchdog/4s72xx410t.c#L190" idL136" id="L136" class="line" name="L136"> 4110
<4 href="drivers/watchdog/4s72xx41dt.c#ck(w41/span>
<4 href="drivers/watchdog/4s72xx4wdt.c#L112" id="L109" class="r1ex" class="srefr1etur" 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"1ex" class="srefr1etur)ode=__raw_writeb"  class="l2riuontrol_reg;
w41/a>>
4 href="drivers/watchdog/4s72xx413t.c#L190" id="L1!75" class="liner1ex" class="srefr1eturk f="+code=regval" class="sref">regval &4u/a>>
4 href="drivers/watchdog/4s72xx41x_wdt.c#L34" id="L34"75" class="line    errass="sref">ts72    err     &quokick(w4      }
<4 href="drivers/watchdog/4s72xx41x_wdt.c#L35" id="L35"28" class="lineerror=file" class="serror    class="line" namBUST35"> 135    BUST2xx_= -EIN4 6)
<4 href="drivers/watchdog/4s72xx416_wdt.c#L34" id="L34"go87"dt_map[        infail2xx_= -EIN4 7)
<4 href="drivers/watchdog/4s72xx417_wdt.c#L34" L136" id="L136" class="line" name="L136"> 418)
<4 href="drivers/watchdog/4s72xx41dt.c#L168" id="L168" class="line" name="L168">4u      8
4 href="drivers/watchdog/4s72xx41dt.c#L109" id="L109" class="wdt" class="sref">ts72xx_>;
control"+coetur" 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"1ex" class="srefr1etur)kick(w4>
4ts72xx_wdt_>;
control"+coeturk f="+code=regval" class="sref">regval &4>
4ts72    err     &quokick(w4>
4aa href="drivers/watchdo4/72xx42dt.c#L192" id="L192" 28" class="lineerror=file" class="serror    class="line" namNODEV35"> 135    NODEV2xx_= -EIN4)
<4[        infail_free_control2xx_= -EIN4>
4 4>
44<15
<4 135   IORESOURCE_MEMg(w4<7)
<4 href="drivers/watchdog/4s72xx427_wdt.c#L34" ="L1!75" class="liner2ex" class="srefr22xx_k f="+code=regval" class="sref">regval &4<8)
<4 href="drivers/watchdog/4s72xx42dt.c#L128" idid="L34"28" class="line    errass="sref">ts72    err     &quokick(w4<      8
4 href="drivers/watchdog/4s72xx429_wdt.c#L35" id="L35"28" class="lineerror=file" class="serror    class="line" namNODEV35"> 135    NODEV2xx_= -EIN4129
<4 href="drivers/watchdog/4s72xx430t.c#L128" idid="L34"go87"dt_map[        infail_unma _control2xx_= -EIN41/a>>
4 href="drivers/watchdog/4s72xx43dt.c#L131" idL136" id="L136" class="line" name="L136"> 4al)
<4 href="drivers/watchdog/4s72xx43dt.c# -EIN4ut;
<4 href="drivers/watchdog/4s72xx43dt.c#L113" id="L166" class="r2ex" class="srefr22xx_" 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"2ex" class="srefr22xx_kode=__raw_writeb"  class="l2riuontrol_reg;
w41/a>>
4 href="drivers/watchdog/4s72xx4xx_wdt.c#L34" ="L1!75" class="liner2ex" class="srefr22xx_k f="+code=regval" class="sref">regval &4134
<4 href="drivers/watchdog/4s72xx43x_wdt.c#L35" id="L35"28" class="line    errass="sref">ts72    err     &quokick(w4a15
<4 href="drivers/watchdog/4s72xx436_wdt.c#L34" id="L34"28" class="lineerror=file" class="serror    class="line" namBUST35"> 135    BUST2xx_= -EIN4ul)
<4 href="drivers/watchdog/4s72xx437_wdt.c#L34" id="L34"go87"dt_map[        infail_unma _control2xx_= -EIN418)
<4 href="drivers/watchdog/4s72xx43dt.c#L128" idL136" id="L136" class="line" name="L136"> 4a      8
4 href="drivers/watchdog/4s72xx43dt.c#L129" id="L129" class="line" name="L129">4
<4 href="drivers/watchdog/4s72xx440t.c#L113" id="L166" class=" class="sref">ts72xx_wdt_>;
feed"+coetur" 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"2ex" class="srefr22xx_kkick(w4
<4 href="drivers/watchdog/4s72xx441t.c#L177" id="L1!75" class="line class="sref">ts72xx_wdt_>;
feed"+coeturk f="+code=regval" class="sref">regval &4
<4 href="drivers/watchdog/4s72xx44dt.c#L192" id="L192" 28" class="line    errass="sref">ts72    err     &quokick(w4
<4 href="drivers/watchdog/4s72xx44dt.c#L113" id="L113" 28" class="lineerror=file" class="serror    class="line" namNODEV35"> 135    NODEV2xx_= -EIN4
<4 href="drivers/watchdog/4s72xx44x_wdt.c#L34" id="L34"go87"dt_map[        infail_free_feed2xx_= -EIN4<34
<4 href="drivers/watchdog/4s72xx44x_wdt.c#L35" L136" id="L136" class="line" name="L136"> 4;
<4 href="drivers/watchdog/4s72xx44x_wdt.c#L36" id="L36" class="line" name="L36">4g);
<4 href="drivers/watchdog/4s72xx447_wdt.c#L34"  href="+code=tiplatform_set_drv="sref">wdt = ts72xx_wdt_k= -EIN4<8)
<4 href="drivers/watchdog/4s72xx448_wdt.c#L34"  href="+code=ti    regval = name="L17l_regEIN4<      8
4 href="drivers/watchdog/4s72xx44dt.c#L109" id="L109" class="wdt" class="sref">ts72xx_>;
EIN4
<4 href="drivers/watchdog/4s72xx450t.c#L113" id="L166" class="     _init" class="sref">     _init     dev_err(&amive" id="L109=mutex" class="sref">mutex<)n -EIN4
<4 href="drivers/watchdog/4s72xx45dt.c#ck(w4
<4 href="drivers/watchdog/4s72xx45dt.c#L192" id="L108" class="line" namemake sure that the ode=wdt" is disabled me="L189"> 189         *4
<4 href="drivers/watchdog/4s72xx45dt.c#L113" id="L166" class="" name="L175"> 175static void ts72xx_wdt_kick(w4
<4 href="drivers/watchdog/4s72xx45dt.c#L134" id="L134" class="line" name="L134">4
<4 href="drivers/watchdog/4s72xx455t.c#L109" id="L109" class="error=file" class="serror   91" class="line isc"+co stcr=file" class="s isc"+co stcr     regval = name="L17 isc="ckick(w4;
<4 href="drivers/watchdog/4s72xx45dt.c#L166" id="L1="L109" class="error=file" class="serrork f="+code=regval" class="sref">regval &4
<4 href="drivers/watchdog/4s72xx457_wdt.c#L34" id="L34"28" class="line    errass="sref">ts72    err     &quokick(w4<7}
<4 href="drivers/watchdog/4s72xx45dt.c#L128" idid="L34"go87"dt_map[        infail_unma _feedgEIN4<      8
4 href="drivers/watchdog/4s72xx45dt.c#L109" idL136" id="L136" class="line" name="L136"> 459{
<4 href="drivers/watchdog/4s72xx46dt.c#L180" id="L180" class="line" name="L180">4
<4 href="drivers/watchdog/4s72xx46dt.c#L131" id28" class="line    info class="sref">d    info     &quokick(w4
<4 href="drivers/watchdog/4s72xx46dt.c# -EIN4
<4 href="drivers/watchdog/4s72xx46dt.c#L113" id="L135"   - 4
<4 href="drivers/watchdog/4s72xx46dt.c#L134" id="L134" class="line" name="L134">4
<4 href="drivers/watchdog/4s72xx46x_wdtdt_map[        infail_unma _feedg 114 4
<4 href="drivers/watchdog/4s72xx46dt.c#L166" id="L166" class="platform_set_drv="sref">wdt =  135   NUL1kick(w4g);
<4 href="drivers/watchdog/4s72xx467_wdt.c#L34"  href="+code=tiiounma 175static viounma ode=ts72xx_wdt_kick" class="sref">ts72xx_wdt_>;
feed"+coeturkick(w4g7}
<4 href="drivers/watchdog/4s72xx46dt.c#dt_map[        infail_free_feed2xx_:"L114" class="line" name="L114"> 114 4<      8
4 href="drivers/watchdog/4s72xx46dt.c#L109" id="L109" class="release_mem"+co on=file" class="srelease_mem"+co onode=t href="+code=ti"2ex" class="srefr22xx_>;
 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"2ex" class="srefr22xx_kkick(w4
<4 href="drivers/watchdog/4s72xx470t.c#dt_map[        infail_unma _control2xx_:"L114" class="line" name="L114"> 114 4
<4 href="drivers/watchdog/4s72xx47dt.c#L131" id28" class="lineiounma 175static viounma ode=ts72xx_wdt_kick" class="sref">ts72xx_wdt_>;
control"+coeturkick(w4
<4 href="drivers/watchdog/4s72xx47dt.c#dt_map[        infail_free_control2xx_:"L114" class="line" name="L114"> 114 4
<4 href="drivers/watchdog/4s72xx47dt.c#L113" id="L166" class="release_mem"+co on=file" class="srelease_mem"+co onode=t href="+code=ti"1ex" class="srefr1etur>;
 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"1ex" class="srefr1etur)kick(w4
<4 href="drivers/watchdog/4s72xx47x_wdtdt_map[        infail2xx_:"L114" class="line" name="L114"> 114 4
<4 href="drivers/watchdog/4s72xx475t.c#L109" id="L109" class="kfree6        inkfreeode=ts72xx_wdt_kick" class="sref">ts72xx_wdt_kick(w4
<4 href="drivers/watchdog/4s72xx47dt.c#L166" id="L135"> = 0; EIN476{
<4 href="drivers/watchdog/4s72xx47x_wdtL136" id="L136" class="line" name="L136"> 4<7}
<4 href="drivers/watchdog/4s72xx47dt.c#L168" id="L168" class="line" name="L168">4)
<4 href="drivers/watchdog/4s72xx479_wdtL144" id="L126" class="linid  177         truct  114 479}
<4 href="drivers/watchdog/4s72xx480t.c#f="+code=regval" class="sref">regval &47/span>
<4 href="drivers/watchdog/4s72xx48dt.c#L191" id="L183" class="line" name="L183"> 183        struct ts72xx_"wdt = w47/span>
<4 href="drivers/watchdog/4s72xx48dt.c#L192" id="L183" class="line" nresourmmex" class="srefresourmma href="+code=ts72xx_re56        inre5n -EIN47/span>
<4 href="drivers/watchdog/4s72xx483t.c#L192" id="L128" class="lineerror=file" class="serrorn -EIN47/span>
<4 href="drivers/watchdog/4s72xx48dt.c#L134" id="L134" class="line" name="L134">47/span>
<4 href="drivers/watchdog/4s72xx485t.c#L109" id="L109" class="error=file" class="serror   91" class="line isc"de+co stcr=file" class="s isc"de+co stcr     regval = name="L17 isc="ckick(w4a);
<4 href="drivers/watchdog/4s72xx48dt.c#L166" id="L166" class="platform_set_drv="sref">wdt =  135   NUL1kick(w4
<4 href="drivers/watchdog/4s72xx48x_wdt.c#L57" id="L57" class="line" name="L57">4
<4 href="drivers/watchdog/4s72xx488_wdt.c#L34"  href="+code=tiiounma 175static viounma ode=ts72xx_wdt_kick" class="sref">ts72xx_wdt_>;
feed"+coeturkick(w47t)
<4 href="drivers/watchdog/4s72xx48dt.c#L109" id="L109" class="re56        inre5" 135   IORESOURCE_MEMg(w4
<4 href="drivers/watchdog/4s72xx490t.c#L113" id="L166" class="release_mem"+co on=file" class="srelease_mem"+co onode=t href="+code=ti"e56        inre5>;
 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"e56        inre5)kick(w4
<4 href="drivers/watchdog/4s72xx49dt.c#ck(w4t/span>
<4 href="drivers/watchdog/4s72xx49dt.c#L112" id="L109" class="iounma 175static viounma ode=ts72xx_wdt_kick" class="sref">ts72xx_wdt_>;
control"+coeturkick(w4s="line" 4ame="L130"> 130     4  fac49dt.c#L113" id="L166" class="re56        inre5" 135   IORESOURCE_MEMg(w4s);
<4        inre5>;
 158static vo"+code=tsode=__raw_writeb"resourmm_=izeex" class="srefresourmm_=izeode=t href="+code=ti"e56        inre5)kick(w4s/span>
<44t);
<4ts72xx_wdt_kick(w4t/span>
<4 = 0; EIN4e
4 4e/span>
<45
<5 href="drivers/watchdog/5s72xx50dt.c#L158" i="L183" class="line" nplatform_=129" ex" class="srefplatform_=129" _wdt.ef="+code=dev_e" name="L17=129" ex" class="sref" name="L17=129" "regval &5<1span>
<5 href="drivers/watchdog/5s72xx50dt.c#L191" idwdt_map[ 177    probh                 177         190"L130" cla5<2span>
<5 href="drivers/watchdog/5s72xx50dt.c#L192" idwdt_map[ 177    removhode=            177         190"L130" cla5<3span>
<5 me="L130"> 130     5s72xx503t.c#L192" idwdt_map["          f="+code=regval" class="sref">regval &5<4span>
<5 a href="drivers/watchdo5s72xx50x_wdt.c#L34" id="L34"wdt_map[regv-l&quo href="drivers7ds="sr+4190"> 190"L130" cla5ut)
<5 href="drivers/watchdog/5s72xx50x_wdt.c#L35" id="L35"wdt_map[ 135   mHIS_MODULEeturo="+code=regval" class="sref">regval &5<6)
<5 a href="drivers/watchdo5s72xx50dt.c#L166" id}o="+code=regval" class="sref">regval &5<7)
<5 a href="drivers/watchdo5s72xx507_wdt}= -EIN5<8)
<5 a href="drivers/watchdo5s72xx50dt.c#L168" id="L168" class="line" name="L168">5<9)
<5 a href="drivers/watchdo5s72xx509_wdt91" class="line odule_platform_=129" ex" class="sref odule_platform_=129" ode=ts72xx_wdt_kick"" name="L17=129" ex" class="sref" name="L17=129" kick(w5 1, 8);
<5 href="drivers/watchdog/5s72xx51dt.c#L180" id="L180" class="line" name="L180">5110
<5 href="drivers/watchdog/5s72xx51dt.c#s72xx_wdt_kick"MODULE_AUTHOR35"> 135   MODULE_AUTHORode=tsref="+code=nowayout" classMika Westcrbergf (&quokick(w51/span>
<5 href="drivers/watchdog/5s72xx51dt.c#dt_map[ 135   MODULE_DESCRIPTIONode=tsref="+code=nowayout" classine" xx SBC Wde=wdt""string">&quokick(w513span>
<5 href="drivers/watchdog/5s72xx513t.c#dt_map[ 135   MODULE_LICENSEode=tsref="+code=nowayout" classGPL"string">&quokick(w514span>
<5 href="drivers/watchdog/5s72xx51x_wdtdt_map[ 135   MODULE_ALIASode=tsref="+code=nowayout" classplatform:">regv-l&quokick(w51t)
<5 href="drivers/watchdog/5s72xx51x_wdt


The original LXR software by the k(LXR ="liunitye=tsodthis experiine"al f="+ on by k(lxr@ersux.noe=ts.
lxr.ersux.no kindly hostcd by k(Redpill Lrspro ASode=, provider of Lrsuxi id=ultyou and 81"ra* on5 sercomm5 since 1995.