static void modem_notifier_debugfs_init(void)
{
	struct dentry *dent;

	dent = debugfs_create_dir("modem_notifier", 0);
	if (IS_ERR(dent))
		return;

	debug_create("reset_start", 0444, dent, debug_reset_start);
	debug_create("reset_end", 0444, dent, debug_reset_end);
}
예제 #2
0
static int __init smp2p_debugfs_init(void)
{
	dent = debugfs_create_dir("smp2p", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	debug_create("int_stats", smp2p_int_stats);
	debug_create("items", smp2p_items);

	return 0;
}
예제 #3
0
static int __init smd_debugfs_init(void)
{
	struct dentry *dent;

	dent = debugfs_create_dir("smd", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	debug_create("ch", 0444, dent, debug_ch);
	debug_create("version", 0444, dent, debug_read_smd_version);
	debug_create("int_stats", 0444, dent, debug_int_stats);
	debug_create("int_stats_reset", 0444, dent, debug_int_stats_reset);

	return 0;
}
static int __init smem_debugfs_init(void)
{
	struct dentry *dent;

	dent = debugfs_create_dir("smem", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	debug_create("mem", 0444, dent, debug_read_mem);
	debug_create("version", 0444, dent, debug_read_smem_version);

	/* NNV: this is google only stuff */
	debug_create("build", 0444, dent, debug_read_build_id);

	return 0;
}
예제 #5
0
/**
 * Set some debug configuration information.
 *
 * Note you MUST do this before set'ing or setconfig'ing the actual debug levels.
 *
 * THREADS: THREAD-RENTRANT
 *
 *	@param B BAKA Thread/global state
 *	@param bdinfo Debug handle
 *	@param fh The file handle to output debug messages as they occur (NULL to disable)
 *	@param sysloglevel The system log level to output debug messages (BK_ERR_NONE to disable)
 *	@param flags Fun for the future
 *	@see bk_debug_set
 *	@see bk_debug_setconfig
 */
void bk_debug_config(bk_s B, struct bk_debug *bdinfo, FILE *fh, int sysloglevel, bk_flags flags)
{
  if (!bdinfo)
  {
    bk_error_printf(B, BK_ERR_ERR, "%s: Invalid arguments\n", BK_FUNCNAME);
    return;
  }

#ifdef BK_USING_PTHREADS
  if (BK_GENERAL_FLAG_ISTHREADON(B) && pthread_rwlock_wrlock(&bdinfo->bd_rwlock) != 0)
    abort();
#endif /* BK_USING_PTHREADS */

  if (!(bdinfo->bd_leveldb = debug_create((dict_function)debug_oo_cmp, (dict_function)debug_ko_cmp, DICT_HT_STRICT_HINTS|DICT_THREAD_NOCOALESCE, &debug_args)))
  {
    bk_error_printf(B, BK_ERR_ERR, "%s: Could not create debug queue: %s\n",
		    BK_FUNCNAME, debug_error_reason(NULL, NULL));
    return;
  }

  bdinfo->bd_fh = fh;
  bdinfo->bd_sysloglevel = sysloglevel;
  bdinfo->bd_flags = flags;

#ifdef BK_USING_PTHREADS
  if (BK_GENERAL_FLAG_ISTHREADON(B) && pthread_rwlock_unlock(&bdinfo->bd_rwlock) != 0)
    abort();
#endif /* BK_USING_PTHREADS */

  return;
}
static int __init smsm_debugfs_init(void)
{
	struct dentry *dent;

	dent = debugfs_create_dir("smsm", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	debug_create("state", 0444, dent, debug_read_smsm_state);
	debug_create("intr_mask", 0444, dent, debug_read_intr_mask);
	debug_create("intr_mux", 0444, dent, debug_read_intr_mux);
	debug_create("version", 0444, dent, debug_read_smem_version);
	debug_create("smsm_test", 0444, dent, debug_test_smsm);

	init_completion(&smsm_cb_completion);

	return 0;
}
void create_ctx_debugfs(struct ipc_log_context *ctxt,
			const char *mod_name)
{
	if (!root_dent)
		check_and_create_debugfs();

	if (root_dent) {
		ctxt->dent = debugfs_create_dir(mod_name, root_dent);
		if (!IS_ERR(ctxt->dent)) {
			debug_create("log", 0444, ctxt->dent,
				     ctxt, &debug_ops);
			debug_create("log_cont", 0444, ctxt->dent,
				     ctxt, &debug_ops_cont);
		}
	}
	add_deserialization_func((void *)ctxt,
				 TSV_TYPE_STRING, dfunc_string);
}
예제 #8
0
static int __init bam_dmux_init(void)
{
#ifdef CONFIG_DEBUG_FS
	struct dentry *dent;

	dent = debugfs_create_dir("bam_dmux", 0);
	if (!IS_ERR(dent))
		debug_create("tbl", 0444, dent, debug_tbl);
#endif
	return platform_driver_register(&bam_dmux_driver);
}
static int __init smux_debugfs_init(void)
{
    struct dentry *dent;

    dent = debugfs_create_dir("n_smux", 0);
    if (IS_ERR(dent))
        return PTR_ERR(dent);

    debug_create("ch", 0444, dent, smux_debug_ch);


    return 0;
}
static int __init smd_debugfs_init(void)
{
	struct dentry *dent;

	dent = debugfs_create_dir("smd", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	debug_create("ch", 0444, dent, debug_read_ch);
	debug_create("diag", 0444, dent, debug_read_diag_msg);
	debug_create("mem", 0444, dent, debug_read_mem);
	debug_create("version", 0444, dent, debug_read_smd_version);
	debug_create("tbl", 0444, dent, debug_read_alloc_tbl);
	debug_create("modem_err", 0444, dent, debug_modem_err);
	debug_create("modem_err_f3", 0444, dent, debug_modem_err_f3);
	debug_create("print_diag", 0444, dent, debug_diag);
	debug_create("print_f3", 0444, dent, debug_f3);

	/* NNV: this is google only stuff */
	debug_create("build", 0444, dent, debug_read_build_id);

	return 0;
}
예제 #11
0
static int modem_notifier_debugfs_init(void)
{
	struct dentry *dent;
	struct dentry *reset_start_file, *reset_end_file;

	dent = debugfs_create_dir("modem_notifier", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	reset_start_file = debug_create("reset_start", 0444, dent,
							debug_reset_start);
	if (reset_start_file == NULL) {
		debugfs_remove(dent);
		return PTR_ERR(reset_start_file);
	}
	reset_end_file = debug_create("reset_end", 0444, dent, debug_reset_end);
	if (reset_end_file == NULL) {
		debugfs_remove(reset_start_file);
		debugfs_remove(dent);
		return PTR_ERR(reset_end_file);
	}
	return 0;
}
예제 #12
0
static void smd_debugfs_init(void)
{
    struct dentry *dent;

    dent = debugfs_create_dir("smd", 0);
    if (IS_ERR(dent))
        return;

    debug_create("ch", 0444, dent, debug_read_ch);
    debug_create("stat", 0444, dent, debug_read_stat);
    debug_create("mem", 0444, dent, debug_read_mem);
    debug_create("version", 0444, dent, debug_read_version);
    debug_create("tbl", 0444, dent, debug_read_alloc_tbl);
    debug_create("build", 0444, dent, debug_read_build_id);
}
예제 #13
0
static int __init smd_debugfs_init(void)
{
	struct dentry *dent;

	dent = debugfs_create_dir("smd", 0);
	if (IS_ERR(dent))
		return -1;

	debug_create("ch", 0444, dent, debug_read_ch);
	debug_create("stat", 0444, dent, debug_read_stat);
	debug_create("mem", 0444, dent, debug_read_mem);
	debug_create("version", 0444, dent, debug_read_version);
	debug_create("tbl", 0444, dent, debug_read_alloc_tbl);
	debug_create("build", 0444, dent, debug_read_build_id);
#if CONFIG_SMD_OFFSET_TCXO_STAT
	sleep_stat = get_smem_sleep_stat();
	register_early_suspend(&sleep_stat_screen_hdl);
	register_pm_notifier(&sleep_stat_notif_block);
#else
	pr_info("No sleep statistics\n");
#endif
	return 0;
}
예제 #14
0
static int __init smd_debugfs_init(void)
{
	struct dentry *dent;
#if CONFIG_SMD_OFFSET_TCXO_STAT
	int ret;
	int i;
#endif

	dent = debugfs_create_dir("smd", 0);
	if (IS_ERR(dent))
		return PTR_ERR(dent);

	debug_create("ch", 0444, dent, debug_read_ch);
	debug_create("diag", 0444, dent, debug_read_diag_msg);
	debug_create("mem", 0444, dent, debug_read_mem);
	debug_create("version", 0444, dent, debug_read_smd_version);
	debug_create("tbl", 0444, dent, debug_read_alloc_tbl);
	debug_create("modem_err", 0444, dent, debug_modem_err);
	debug_create("modem_err_f3", 0444, dent, debug_modem_err_f3);
	debug_create("print_diag", 0444, dent, debug_diag);
	debug_create("print_f3", 0444, dent, debug_f3);
	debug_create("int_stats", 0444, dent, debug_int_stats);
	debug_create("int_stats_reset", 0444, dent, debug_int_stats_reset);

	/* NNV: this is google only stuff */
	debug_create("build", 0444, dent, debug_read_build_id);
#if CONFIG_SMD_OFFSET_TCXO_STAT
	sleep_stat = get_smem_sleep_stat();
	negate_client_stat = get_smem_negate_client_stat();
	register_early_suspend(&sleep_stat_screen_hdl);
	register_pm_notifier(&sleep_stat_notif_block);

	mutex_init(&mem_sleep_stat_lock);
	sleep_stat_kobj = kobject_create_and_add("systemlog", NULL);
	if (sleep_stat_kobj == NULL) {
		pr_err("smd_debugfs_init: create sleep_stat_kobj failed\n");
		return 0;
	}

	for (i = 0; i < ARRAY_SIZE(mem_sleep_stat_attrs); i++) {
		ret = sysfs_create_file(sleep_stat_kobj, &mem_sleep_stat_attrs[i].attr);
		if (ret)
			pr_err("%s: sysfs_create_file for attr %d failed\n", __func__, i);
	}
#else
	pr_info("No sleep statistics\n");
#endif
	return 0;
}