Lines Matching defs:debug_info

63 	struct cros_ec_debugfs *debug_info =
67 struct cros_ec_dev *ec = debug_info->ec;
68 struct circ_buf *cb = &debug_info->log_buffer;
74 (struct ec_params_console_read_v1 *)debug_info->read_msg->data;
75 uint8_t *ec_buffer = (uint8_t *)debug_info->read_msg->data;
85 mutex_lock(&debug_info->log_mutex);
98 debug_info->read_msg);
117 mutex_unlock(&debug_info->log_mutex);
120 schedule_delayed_work(&debug_info->log_poll_work,
134 struct cros_ec_debugfs *debug_info = file->private_data;
135 struct circ_buf *cb = &debug_info->log_buffer;
138 mutex_lock(&debug_info->log_mutex);
146 mutex_unlock(&debug_info->log_mutex);
153 mutex_lock(&debug_info->log_mutex);
170 mutex_unlock(&debug_info->log_mutex);
177 struct cros_ec_debugfs *debug_info = file->private_data;
182 mutex_lock(&debug_info->log_mutex);
183 if (CIRC_CNT(debug_info->log_buffer.head,
184 debug_info->log_buffer.tail,
187 mutex_unlock(&debug_info->log_mutex);
203 struct cros_ec_debugfs *debug_info = file->private_data;
204 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev;
271 struct cros_ec_debugfs *debug_info = file->private_data;
272 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev;
348 static int cros_ec_create_console_log(struct cros_ec_debugfs *debug_info)
350 struct cros_ec_dev *ec = debug_info->ec;
368 debug_info->read_msg = devm_kzalloc(ec->dev,
369 sizeof(*debug_info->read_msg) +
371 if (!debug_info->read_msg)
374 debug_info->read_msg->version = 1;
375 debug_info->read_msg->command = EC_CMD_CONSOLE_READ + ec->cmd_offset;
376 debug_info->read_msg->outsize = read_params_size;
377 debug_info->read_msg->insize = read_response_size;
379 debug_info->log_buffer.buf = buf;
380 debug_info->log_buffer.head = 0;
381 debug_info->log_buffer.tail = 0;
383 mutex_init(&debug_info->log_mutex);
385 debugfs_create_file("console_log", S_IFREG | 0444, debug_info->dir,
386 debug_info, &cros_ec_console_log_fops);
388 INIT_DELAYED_WORK(&debug_info->log_poll_work,
390 schedule_delayed_work(&debug_info->log_poll_work, 0);
395 static void cros_ec_cleanup_console_log(struct cros_ec_debugfs *debug_info)
397 if (debug_info->log_buffer.buf) {
398 cancel_delayed_work_sync(&debug_info->log_poll_work);
399 mutex_destroy(&debug_info->log_mutex);
433 static int cros_ec_create_panicinfo(struct cros_ec_debugfs *debug_info)
435 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev;
439 data = devm_kzalloc(debug_info->ec->dev, ec_dev->max_response,
454 debug_info->panicinfo_blob.data = data;
455 debug_info->panicinfo_blob.size = ret;
457 debugfs_create_blob("panicinfo", 0444, debug_info->dir,
458 &debug_info->panicinfo_blob);
463 devm_kfree(debug_info->ec->dev, data);
470 struct cros_ec_debugfs *debug_info =
473 if (debug_info->log_buffer.buf) {
475 mod_delayed_work(debug_info->log_poll_work.wq, &debug_info->log_poll_work, 0);
477 flush_delayed_work(&debug_info->log_poll_work);
488 struct cros_ec_debugfs *debug_info;
491 debug_info = devm_kzalloc(ec->dev, sizeof(*debug_info), GFP_KERNEL);
492 if (!debug_info)
495 debug_info->ec = ec;
496 debug_info->dir = debugfs_create_dir(name, NULL);
498 ret = cros_ec_create_panicinfo(debug_info);
502 ret = cros_ec_create_console_log(debug_info);
506 debugfs_create_file("pdinfo", 0444, debug_info->dir, debug_info,
510 debugfs_create_file("uptime", 0444, debug_info->dir, debug_info,
513 debugfs_create_x32("last_resume_result", 0444, debug_info->dir,
516 debugfs_create_u16("suspend_timeout_ms", 0664, debug_info->dir,
519 debug_info->notifier_panic.notifier_call = cros_ec_debugfs_panic_event;
521 &debug_info->notifier_panic);
525 ec->debug_info = debug_info;
532 debugfs_remove_recursive(debug_info->dir);
540 debugfs_remove_recursive(ec->debug_info->dir);
541 cros_ec_cleanup_console_log(ec->debug_info);
548 if (ec->debug_info->log_buffer.buf)
549 cancel_delayed_work_sync(&ec->debug_info->log_poll_work);
558 if (ec->debug_info->log_buffer.buf)
559 schedule_delayed_work(&ec->debug_info->log_poll_work, 0);