Lines Matching defs:edev

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