162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2020-2021 Intel Corporation. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <linux/debugfs.h> 762306a36Sopenharmony_ci#include <linux/wwan.h> 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "iosm_ipc_imem.h" 1062306a36Sopenharmony_ci#include "iosm_ipc_trace.h" 1162306a36Sopenharmony_ci#include "iosm_ipc_debugfs.h" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_civoid ipc_debugfs_init(struct iosm_imem *ipc_imem) 1462306a36Sopenharmony_ci{ 1562306a36Sopenharmony_ci ipc_imem->debugfs_wwan_dir = wwan_get_debugfs_dir(ipc_imem->dev); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci ipc_imem->debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, 1862306a36Sopenharmony_ci ipc_imem->debugfs_wwan_dir); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci ipc_imem->trace = ipc_trace_init(ipc_imem); 2162306a36Sopenharmony_ci if (!ipc_imem->trace) 2262306a36Sopenharmony_ci dev_warn(ipc_imem->dev, "trace channel init failed"); 2362306a36Sopenharmony_ci} 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_civoid ipc_debugfs_deinit(struct iosm_imem *ipc_imem) 2662306a36Sopenharmony_ci{ 2762306a36Sopenharmony_ci ipc_trace_deinit(ipc_imem->trace); 2862306a36Sopenharmony_ci debugfs_remove_recursive(ipc_imem->debugfs_dir); 2962306a36Sopenharmony_ci wwan_put_debugfs_dir(ipc_imem->debugfs_wwan_dir); 3062306a36Sopenharmony_ci} 31