kernel-brax3-ubuntu-touch/drivers/misc/mediatek/conn_md/conn_md_exp.c
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

57 lines
1.2 KiB
C

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2019 MediaTek Inc.
*/
#define DFT_TAG "[CONN_MD_EXP]"
#include "conn_md_exp.h"
#include "conn_md_log.h"
#include "conn_md.h"
int mtk_conn_md_bridge_reg(uint32 u_id, struct conn_md_bridge_ops *p_ops)
{
int i_ret = -1;
/*sanity check */
if (NULL != p_ops && NULL != p_ops->rx_cb) {
/*add user */
i_ret = conn_md_add_user(u_id, p_ops);
} else {
CONN_MD_ERR_FUNC("ERROR, u_id(0x%08x)\n", u_id);
CONN_MD_ERR_FUNC("ERROR, p_ops(%p), rx_cb(%p)\n",
p_ops, NULL == p_ops ? NULL : p_ops->rx_cb);
i_ret = CONN_MD_ERR_INVALID_PARAM;
}
return i_ret;
}
EXPORT_SYMBOL(mtk_conn_md_bridge_reg);
int mtk_conn_md_bridge_unreg(uint32 u_id)
{
int i_ret = -1;
/*delete user */
i_ret = conn_md_del_user(u_id);
return 0;
}
EXPORT_SYMBOL(mtk_conn_md_bridge_unreg);
int mtk_conn_md_bridge_send_msg(struct ipc_ilm *ilm)
{
int i_ret = -1;
/*sanity check */
if (NULL != ilm && NULL != ilm->local_para_ptr) {
/*send data */
i_ret = conn_md_send_msg(ilm);
} else {
CONN_MD_ERR_FUNC("ERROR, ilm(%p),local_para_ptr(%p)\n",
ilm, ilm == NULL ? NULL : ilm->local_para_ptr);
i_ret = CONN_MD_ERR_INVALID_PARAM;
}
return 0;
}
EXPORT_SYMBOL(mtk_conn_md_bridge_send_msg);