/* SPDX-License-Identifier: GPL-2.0-only * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ #ifndef _CNSS_PLAT_IPC_QMI_H #define _CNSS_PLAT_IPC_QMI_H /** * struct cnss_plat_user_config: Config options provided by user space * @dms_mac_addr_supported: DMS MAC address provisioning support * @qdss_hw_trace_override: QDSS config for HW trace enable * @cal_file_available_bitmask: Calibration file available */ struct cnss_plat_ipc_user_config { u8 dms_mac_addr_supported; u8 qdss_hw_trace_override; u32 cal_file_available_bitmask; }; typedef void (*cnss_plat_ipc_connection_update)(void *cb_ctx, bool connection_status); int cnss_plat_ipc_register(cnss_plat_ipc_connection_update connection_update_cb, void *cb_ctx); void cnss_plat_ipc_unregister(void *cb_ctx); int cnss_plat_ipc_qmi_file_download(char *file_name, char *buf, u32 *size); int cnss_plat_ipc_qmi_file_upload(char *file_name, u8 *file_buf, u32 file_size); struct cnss_plat_ipc_user_config *cnss_plat_ipc_qmi_user_config(void); #endif