• Home
  • Raw
  • Download

Lines Matching refs:edev

110 static inline void esb_unlock_registers(struct esb_dev *edev)  in esb_unlock_registers()  argument
112 writew(ESB_UNLOCK1, ESB_RELOAD_REG(edev)); in esb_unlock_registers()
113 writew(ESB_UNLOCK2, ESB_RELOAD_REG(edev)); in esb_unlock_registers()
118 struct esb_dev *edev = to_esb_dev(wdd); in esb_timer_start() local
122 esb_unlock_registers(edev); in esb_timer_start()
123 writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); in esb_timer_start()
126 pci_write_config_byte(edev->pdev, ESB_LOCK_REG, val); in esb_timer_start()
132 struct esb_dev *edev = to_esb_dev(wdd); in esb_timer_stop() local
136 esb_unlock_registers(edev); in esb_timer_stop()
137 writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); in esb_timer_stop()
139 pci_write_config_byte(edev->pdev, ESB_LOCK_REG, 0x0); in esb_timer_stop()
140 pci_read_config_byte(edev->pdev, ESB_LOCK_REG, &val); in esb_timer_stop()
148 struct esb_dev *edev = to_esb_dev(wdd); in esb_timer_keepalive() local
150 esb_unlock_registers(edev); in esb_timer_keepalive()
151 writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); in esb_timer_keepalive()
159 struct esb_dev *edev = to_esb_dev(wdd); in esb_timer_set_heartbeat() local
169 esb_unlock_registers(edev); in esb_timer_set_heartbeat()
170 writel(val, ESB_TIMER1_REG(edev)); in esb_timer_set_heartbeat()
173 esb_unlock_registers(edev); in esb_timer_set_heartbeat()
174 writel(val, ESB_TIMER2_REG(edev)); in esb_timer_set_heartbeat()
177 esb_unlock_registers(edev); in esb_timer_set_heartbeat()
178 writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); in esb_timer_set_heartbeat()
217 static unsigned char esb_getdevice(struct esb_dev *edev) in esb_getdevice() argument
219 if (pci_enable_device(edev->pdev)) { in esb_getdevice()
220 dev_err(&edev->pdev->dev, "failed to enable device\n"); in esb_getdevice()
224 if (pci_request_region(edev->pdev, 0, ESB_MODULE_NAME)) { in esb_getdevice()
225 dev_err(&edev->pdev->dev, "failed to request region\n"); in esb_getdevice()
229 edev->base = pci_ioremap_bar(edev->pdev, 0); in esb_getdevice()
230 if (edev->base == NULL) { in esb_getdevice()
232 dev_err(&edev->pdev->dev, "failed to get BASEADDR\n"); in esb_getdevice()
237 dev_set_drvdata(&edev->pdev->dev, edev); in esb_getdevice()
241 pci_release_region(edev->pdev, 0); in esb_getdevice()
243 pci_disable_device(edev->pdev); in esb_getdevice()
248 static void esb_initdevice(struct esb_dev *edev) in esb_initdevice() argument
265 pci_write_config_word(edev->pdev, ESB_CONFIG_REG, 0x0003); in esb_initdevice()
268 pci_read_config_byte(edev->pdev, ESB_LOCK_REG, &val1); in esb_initdevice()
270 dev_warn(&edev->pdev->dev, "nowayout already set\n"); in esb_initdevice()
273 pci_write_config_byte(edev->pdev, ESB_LOCK_REG, 0x00); in esb_initdevice()
276 esb_unlock_registers(edev); in esb_initdevice()
277 val2 = readw(ESB_RELOAD_REG(edev)); in esb_initdevice()
279 edev->wdd.bootstatus = WDIOF_CARDRESET; in esb_initdevice()
282 esb_unlock_registers(edev); in esb_initdevice()
283 writew((ESB_WDT_TIMEOUT | ESB_WDT_RELOAD), ESB_RELOAD_REG(edev)); in esb_initdevice()
286 esb_timer_set_heartbeat(&edev->wdd, edev->wdd.timeout); in esb_initdevice()
292 struct esb_dev *edev; in esb_probe() local
295 edev = devm_kzalloc(&pdev->dev, sizeof(*edev), GFP_KERNEL); in esb_probe()
296 if (!edev) in esb_probe()
300 edev->pdev = pdev; in esb_probe()
301 if (!esb_getdevice(edev)) in esb_probe()
305 edev->wdd.info = &esb_info; in esb_probe()
306 edev->wdd.ops = &esb_ops; in esb_probe()
307 edev->wdd.min_timeout = ESB_HEARTBEAT_MIN; in esb_probe()
308 edev->wdd.max_timeout = ESB_HEARTBEAT_MAX; in esb_probe()
309 edev->wdd.timeout = ESB_HEARTBEAT_DEFAULT; in esb_probe()
310 watchdog_init_timeout(&edev->wdd, heartbeat, NULL); in esb_probe()
311 watchdog_set_nowayout(&edev->wdd, nowayout); in esb_probe()
312 watchdog_stop_on_reboot(&edev->wdd); in esb_probe()
313 watchdog_stop_on_unregister(&edev->wdd); in esb_probe()
314 esb_initdevice(edev); in esb_probe()
317 ret = watchdog_register_device(&edev->wdd); in esb_probe()
322 edev->wdd.timeout, nowayout); in esb_probe()
326 iounmap(edev->base); in esb_probe()
327 pci_release_region(edev->pdev, 0); in esb_probe()
328 pci_disable_device(edev->pdev); in esb_probe()
334 struct esb_dev *edev = dev_get_drvdata(&pdev->dev); in esb_remove() local
336 watchdog_unregister_device(&edev->wdd); in esb_remove()
337 iounmap(edev->base); in esb_remove()
338 pci_release_region(edev->pdev, 0); in esb_remove()
339 pci_disable_device(edev->pdev); in esb_remove()