Lines Matching refs:sunxi_wdt

92 	struct sunxi_wdt_dev *sunxi_wdt = container_of(this,  in sunxi_restart_handle()  local
95 void __iomem *wdt_base = sunxi_wdt->wdt_base; in sunxi_restart_handle()
96 const struct sunxi_wdt_reg *regs = sunxi_wdt->wdt_regs; in sunxi_restart_handle()
128 struct sunxi_wdt_dev *sunxi_wdt = watchdog_get_drvdata(wdt_dev); in sunxi_wdt_ping() local
129 void __iomem *wdt_base = sunxi_wdt->wdt_base; in sunxi_wdt_ping()
130 const struct sunxi_wdt_reg *regs = sunxi_wdt->wdt_regs; in sunxi_wdt_ping()
140 struct sunxi_wdt_dev *sunxi_wdt = watchdog_get_drvdata(wdt_dev); in sunxi_wdt_set_timeout() local
141 void __iomem *wdt_base = sunxi_wdt->wdt_base; in sunxi_wdt_set_timeout()
142 const struct sunxi_wdt_reg *regs = sunxi_wdt->wdt_regs; in sunxi_wdt_set_timeout()
148 sunxi_wdt->wdt_dev.timeout = timeout; in sunxi_wdt_set_timeout()
162 struct sunxi_wdt_dev *sunxi_wdt = watchdog_get_drvdata(wdt_dev); in sunxi_wdt_stop() local
163 void __iomem *wdt_base = sunxi_wdt->wdt_base; in sunxi_wdt_stop()
164 const struct sunxi_wdt_reg *regs = sunxi_wdt->wdt_regs; in sunxi_wdt_stop()
174 struct sunxi_wdt_dev *sunxi_wdt = watchdog_get_drvdata(wdt_dev); in sunxi_wdt_start() local
175 void __iomem *wdt_base = sunxi_wdt->wdt_base; in sunxi_wdt_start()
176 const struct sunxi_wdt_reg *regs = sunxi_wdt->wdt_regs; in sunxi_wdt_start()
179 ret = sunxi_wdt_set_timeout(&sunxi_wdt->wdt_dev, in sunxi_wdt_start()
180 sunxi_wdt->wdt_dev.timeout); in sunxi_wdt_start()
240 struct sunxi_wdt_dev *sunxi_wdt; in sunxi_wdt_probe() local
245 sunxi_wdt = devm_kzalloc(&pdev->dev, sizeof(*sunxi_wdt), GFP_KERNEL); in sunxi_wdt_probe()
246 if (!sunxi_wdt) in sunxi_wdt_probe()
249 platform_set_drvdata(pdev, sunxi_wdt); in sunxi_wdt_probe()
255 sunxi_wdt->wdt_regs = device->data; in sunxi_wdt_probe()
258 sunxi_wdt->wdt_base = devm_ioremap_resource(&pdev->dev, res); in sunxi_wdt_probe()
259 if (IS_ERR(sunxi_wdt->wdt_base)) in sunxi_wdt_probe()
260 return PTR_ERR(sunxi_wdt->wdt_base); in sunxi_wdt_probe()
262 sunxi_wdt->wdt_dev.info = &sunxi_wdt_info; in sunxi_wdt_probe()
263 sunxi_wdt->wdt_dev.ops = &sunxi_wdt_ops; in sunxi_wdt_probe()
264 sunxi_wdt->wdt_dev.timeout = WDT_MAX_TIMEOUT; in sunxi_wdt_probe()
265 sunxi_wdt->wdt_dev.max_timeout = WDT_MAX_TIMEOUT; in sunxi_wdt_probe()
266 sunxi_wdt->wdt_dev.min_timeout = WDT_MIN_TIMEOUT; in sunxi_wdt_probe()
267 sunxi_wdt->wdt_dev.parent = &pdev->dev; in sunxi_wdt_probe()
269 watchdog_init_timeout(&sunxi_wdt->wdt_dev, timeout, &pdev->dev); in sunxi_wdt_probe()
270 watchdog_set_nowayout(&sunxi_wdt->wdt_dev, nowayout); in sunxi_wdt_probe()
272 watchdog_set_drvdata(&sunxi_wdt->wdt_dev, sunxi_wdt); in sunxi_wdt_probe()
274 sunxi_wdt_stop(&sunxi_wdt->wdt_dev); in sunxi_wdt_probe()
276 err = watchdog_register_device(&sunxi_wdt->wdt_dev); in sunxi_wdt_probe()
280 sunxi_wdt->restart_handler.notifier_call = sunxi_restart_handle; in sunxi_wdt_probe()
281 sunxi_wdt->restart_handler.priority = 128; in sunxi_wdt_probe()
282 err = register_restart_handler(&sunxi_wdt->restart_handler); in sunxi_wdt_probe()
288 sunxi_wdt->wdt_dev.timeout, nowayout); in sunxi_wdt_probe()
295 struct sunxi_wdt_dev *sunxi_wdt = platform_get_drvdata(pdev); in sunxi_wdt_remove() local
297 unregister_restart_handler(&sunxi_wdt->restart_handler); in sunxi_wdt_remove()
299 watchdog_unregister_device(&sunxi_wdt->wdt_dev); in sunxi_wdt_remove()
300 watchdog_set_drvdata(&sunxi_wdt->wdt_dev, NULL); in sunxi_wdt_remove()
307 struct sunxi_wdt_dev *sunxi_wdt = platform_get_drvdata(pdev); in sunxi_wdt_shutdown() local
309 sunxi_wdt_stop(&sunxi_wdt->wdt_dev); in sunxi_wdt_shutdown()