• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/watchdog/

Lines Matching refs:wdt

19 #define WATCHDOG_NAME "adx-wdt"
46 static void adx_wdt_start_locked(struct adx_wdt *wdt)
50 ctrl = readl(wdt->base + ADX_WDT_CONTROL);
52 writel(ctrl, wdt->base + ADX_WDT_CONTROL);
53 wdt->state = WDT_STATE_START;
56 static void adx_wdt_start(struct adx_wdt *wdt)
60 spin_lock_irqsave(&wdt->lock, flags);
61 adx_wdt_start_locked(wdt);
62 spin_unlock_irqrestore(&wdt->lock, flags);
65 static void adx_wdt_stop_locked(struct adx_wdt *wdt)
69 ctrl = readl(wdt->base + ADX_WDT_CONTROL);
71 writel(ctrl, wdt->base + ADX_WDT_CONTROL);
72 wdt->state = WDT_STATE_STOP;
75 static void adx_wdt_stop(struct adx_wdt *wdt)
79 spin_lock_irqsave(&wdt->lock, flags);
80 adx_wdt_stop_locked(wdt);
81 spin_unlock_irqrestore(&wdt->lock, flags);
84 static void adx_wdt_set_timeout(struct adx_wdt *wdt, unsigned long seconds)
90 spin_lock_irqsave(&wdt->lock, flags);
91 state = wdt->state;
92 adx_wdt_stop_locked(wdt);
93 writel(timeout, wdt->base + ADX_WDT_TIMEOUT);
96 adx_wdt_start_locked(wdt);
98 wdt->timeout = timeout;
99 spin_unlock_irqrestore(&wdt->lock, flags);
102 static void adx_wdt_get_timeout(struct adx_wdt *wdt, unsigned long *seconds)
104 *seconds = wdt->timeout / 1000;
107 static void adx_wdt_keepalive(struct adx_wdt *wdt)
111 spin_lock_irqsave(&wdt->lock, flags);
112 writel(wdt->timeout, wdt->base + ADX_WDT_TIMEOUT);
113 spin_unlock_irqrestore(&wdt->lock, flags);
118 struct adx_wdt *wdt = platform_get_drvdata(adx_wdt_dev);
123 file->private_data = wdt;
124 adx_wdt_set_timeout(wdt, 30);
125 adx_wdt_start(wdt);
132 struct adx_wdt *wdt = file->private_data;
134 adx_wdt_stop(wdt);
142 struct adx_wdt *wdt = file->private_data;
161 adx_wdt_keepalive(wdt);
168 adx_wdt_set_timeout(wdt, seconds);
172 adx_wdt_get_timeout(wdt, &seconds);
180 adx_wdt_stop(wdt);
185 adx_wdt_start(wdt);
201 struct adx_wdt *wdt = file->private_data;
204 adx_wdt_keepalive(wdt);
227 struct adx_wdt *wdt;
231 wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
232 if (!wdt) {
237 spin_lock_init(&wdt->lock);
252 wdt->base = devm_ioremap_nocache(&pdev->dev, res->start,
254 if (!wdt->base) {
260 ctrl = readl(wdt->base + ADX_WDT_CONTROL);
263 writel(ctrl, wdt->base + ADX_WDT_CONTROL);
265 platform_set_drvdata(pdev, wdt);
280 struct adx_wdt *wdt = platform_get_drvdata(pdev);
283 adx_wdt_stop(wdt);
291 struct adx_wdt *wdt = platform_get_drvdata(pdev);
292 adx_wdt_stop(wdt);
299 struct adx_wdt *wdt = platform_get_drvdata(pdev);
301 wdt->wake = (wdt->state == WDT_STATE_START) ? 1 : 0;
302 adx_wdt_stop(wdt);
310 struct adx_wdt *wdt = platform_get_drvdata(pdev);
312 if (wdt->wake)
313 adx_wdt_start(wdt);