Lines Matching refs:data

121 	outb(0x04, addr + 2); /* Mailbox AP to first data entry loc. */
248 struct sch56xx_watchdog_data *data = watchdog_get_drvdata(wddev);
263 control = data->watchdog_control | SCH56XX_WDOG_TIME_BASE_SEC;
265 control = data->watchdog_control & ~SCH56XX_WDOG_TIME_BASE_SEC;
267 if (data->watchdog_control != control) {
268 mutex_lock(data->io_lock);
269 ret = sch56xx_write_virtual_reg(data->addr,
272 mutex_unlock(data->io_lock);
276 data->watchdog_control = control;
283 data->watchdog_preset = DIV_ROUND_UP(timeout, resolution);
284 wddev->timeout = data->watchdog_preset * resolution;
291 struct sch56xx_watchdog_data *data = watchdog_get_drvdata(wddev);
314 mutex_lock(data->io_lock);
317 ret = sch56xx_write_virtual_reg(data->addr, SCH56XX_REG_WDOG_PRESET,
318 data->watchdog_preset);
323 val = data->watchdog_output_enable | SCH56XX_WDOG_OUTPUT_ENABLE;
324 ret = sch56xx_write_virtual_reg(data->addr,
329 data->watchdog_output_enable = val;
332 val = inb(data->addr + 9);
334 outb(0x01, data->addr + 9);
337 mutex_unlock(data->io_lock);
343 struct sch56xx_watchdog_data *data = watchdog_get_drvdata(wddev);
347 mutex_lock(data->io_lock);
348 ret = sch56xx_write_virtual_reg(data->addr, SCH56XX_REG_WDOG_PRESET,
349 data->watchdog_preset);
350 mutex_unlock(data->io_lock);
357 struct sch56xx_watchdog_data *data = watchdog_get_drvdata(wddev);
361 val = data->watchdog_output_enable & ~SCH56XX_WDOG_OUTPUT_ENABLE;
362 mutex_lock(data->io_lock);
363 ret = sch56xx_write_virtual_reg(data->addr,
365 mutex_unlock(data->io_lock);
369 data->watchdog_output_enable = val;
384 struct sch56xx_watchdog_data *data;
404 data = devm_kzalloc(parent, sizeof(struct sch56xx_watchdog_data), GFP_KERNEL);
405 if (!data)
408 data->addr = addr;
409 data->io_lock = io_lock;
411 strscpy(data->wdinfo.identity, "sch56xx watchdog", sizeof(data->wdinfo.identity));
412 data->wdinfo.firmware_version = revision;
413 data->wdinfo.options = WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT;
415 data->wdinfo.options |= WDIOF_MAGICCLOSE;
417 data->wddev.info = &data->wdinfo;
418 data->wddev.ops = &watchdog_ops;
419 data->wddev.parent = parent;
420 data->wddev.timeout = 60;
421 data->wddev.min_timeout = 1;
422 data->wddev.max_timeout = 255 * 60;
423 watchdog_set_nowayout(&data->wddev, nowayout);
425 set_bit(WDOG_HW_RUNNING, &data->wddev.status);
431 data->watchdog_preset = 60; /* seconds */
433 data->watchdog_preset = 1; /* minute */
435 data->watchdog_control = control;
436 data->watchdog_output_enable = output_enable;
438 watchdog_set_drvdata(&data->wddev, data);
439 err = devm_watchdog_register_device(parent, &data->wddev);
442 devm_kfree(parent, data);