diff --git a/target_if/core/src/target_if_main.c b/target_if/core/src/target_if_main.c index 6e7b8be999..c9f9dca041 100644 --- a/target_if/core/src/target_if_main.c +++ b/target_if/core/src/target_if_main.c @@ -104,6 +104,7 @@ #endif /* WLAN_MGMT_RX_REO_SUPPORT */ #include "wmi_unified_api.h" +#include #ifdef WLAN_FEATURE_11BE_MLO #include @@ -529,6 +530,19 @@ static void target_if_ipa_tx_ops_register(struct wlan_lmac_if_tx_ops *tx_ops) { } #endif +#if defined(WLAN_SUPPORT_TWT) && defined(WLAN_TWT_CONV_SUPPORTED) +static +void target_if_twt_tx_ops_register(struct wlan_lmac_if_tx_ops *tx_ops) +{ + target_if_twt_register_tx_ops(tx_ops); +} +#else +static +void target_if_twt_tx_ops_register(struct wlan_lmac_if_tx_ops *tx_ops) +{ +} +#endif /* WLAN_SUPPORT_TWT && WLAN_TWT_CONV_SUPPORTED */ + static QDF_STATUS target_if_register_umac_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) { @@ -582,6 +596,9 @@ QDF_STATUS target_if_register_umac_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) target_if_mlo_tx_ops_register(tx_ops); target_if_ipa_tx_ops_register(tx_ops); + + target_if_twt_tx_ops_register(tx_ops); + /* Converged UMAC components to register their TX-ops here */ return QDF_STATUS_SUCCESS; } diff --git a/target_if/init_deinit/src/init_cmd_api.c b/target_if/init_deinit/src/init_cmd_api.c index aaa22996dc..073a8a272a 100644 --- a/target_if/init_deinit/src/init_cmd_api.c +++ b/target_if/init_deinit/src/init_cmd_api.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -33,6 +33,7 @@ #include #include #include +#include /** * init_deinit_alloc_host_mem_chunk() - allocates chunk of memory requested @@ -466,8 +467,10 @@ void init_deinit_prepare_send_init_cmd( QDF_MIN(info->wlan_res_cfg.max_ndp_sessions, info->service_ext2_param.max_ndp_sessions); - if (info->service_ext2_param.twt_ack_support_cap) + if (info->service_ext2_param.twt_ack_support_cap) { info->wlan_res_cfg.twt_ack_support_cap = true; + target_if_twt_set_twt_ack_support(psoc, true); + } info->wlan_res_cfg.target_cap_flags = target_psoc_get_target_cap_flags(tgt_hdl); diff --git a/target_if/init_deinit/src/init_event_handler.c b/target_if/init_deinit/src/init_event_handler.c index 91617d72fb..9dcc9e4041 100644 --- a/target_if/init_deinit/src/init_event_handler.c +++ b/target_if/init_deinit/src/init_event_handler.c @@ -38,6 +38,7 @@ #include #include #endif +#include static void init_deinit_set_send_init_cmd(struct wlan_objmgr_psoc *psoc, struct target_psoc_info *tgt_hdl) @@ -255,6 +256,7 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle, target_if_reg_set_offloaded_info(psoc); target_if_reg_set_6ghz_info(psoc); target_if_reg_set_5dot9_ghz_info(psoc); + target_if_twt_fill_tgt_caps(psoc, wmi_handle); /* Send num_msdu_desc to DP layer */ cdp_soc_set_param(wlan_psoc_get_dp_handle(psoc), diff --git a/target_if/twt/inc/target_if_ext_twt.h b/target_if/twt/inc/target_if_ext_twt.h new file mode 100644 index 0000000000..0fd25af8e8 --- /dev/null +++ b/target_if/twt/inc/target_if_ext_twt.h @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_ext_twt.h + * This file contains twt component's target related APIs + */ + +#ifndef _TARGET_IF_EXT_TWT_H_ +#define _TARGET_IF_EXT_TWT_H_ + +#include + +#if defined(WLAN_SUPPORT_TWT) && defined(WLAN_TWT_CONV_SUPPORTED) + +/** + * target_if_twt_register_ext_events() - Register twt wmi events + * @psoc: psoc handle + * + * Register TWT ext (outside of qcacmn) WMI events + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_register_ext_events(struct wlan_objmgr_psoc *psoc); + +/** + * target_if_twt_register_ext_tx_ops() - Register twt tx ops + * @twt_tx_ops: twt_tx_ops structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_register_ext_tx_ops(struct wlan_lmac_if_twt_tx_ops *twt_tx_ops); + +/** + * target_if_twt_setup_req() - target if twt setup request + * @psoc: psoc handle + * @req: TWT add dialog request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_setup_req(struct wlan_objmgr_psoc *psoc, + struct twt_add_dialog_param *req); + +/** + * target_if_twt_teardown_req() - target if twt teardown request + * @psoc: psoc handle + * @req: TWT del dialog request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_teardown_req(struct wlan_objmgr_psoc *psoc, + struct twt_del_dialog_param *req); + +/** + * target_if_twt_pause_req() - target if twt pause request + * @psoc: psoc handle + * @req: TWT pause dialog request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_pause_req(struct wlan_objmgr_psoc *psoc, + struct twt_pause_dialog_cmd_param *req); + +/** + * target_if_twt_resume_req() - target if twt resume request + * @psoc: psoc handle + * @req: TWT resume dialog request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_resume_req(struct wlan_objmgr_psoc *psoc, + struct twt_resume_dialog_cmd_param *req); + +/** + * target_if_twt_nudge_req() - target if twt nudge request + * @psoc: psoc handle + * @req: TWT nudge dialog request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_nudge_req(struct wlan_objmgr_psoc *psoc, + struct twt_nudge_dialog_cmd_param *req); +#else +static inline QDF_STATUS +target_if_twt_register_ext_tx_ops(struct wlan_lmac_if_twt_tx_ops *twt_tx_ops) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_register_ext_events(struct wlan_objmgr_psoc *psoc) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_setup_req(struct wlan_objmgr_psoc *psoc, + struct twt_add_dialog_param *req) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_teardown_req(struct wlan_objmgr_psoc *psoc, + struct twt_del_dialog_param *req) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_pause_req(struct wlan_objmgr_psoc *psoc, + struct twt_pause_dialog_cmd_param *req) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_resume_req(struct wlan_objmgr_psoc *psoc, + struct twt_resume_dialog_cmd_param *req) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_nudge_req(struct wlan_objmgr_psoc *psoc, + struct twt_nudge_dialog_cmd_param *req) +{ + return QDF_STATUS_SUCCESS; +} + +#endif +#endif /*_TARGET_IF_EXT_TWT_H_ */ + diff --git a/target_if/twt/inc/target_if_twt.h b/target_if/twt/inc/target_if_twt.h new file mode 100644 index 0000000000..2308c67c1f --- /dev/null +++ b/target_if/twt/inc/target_if_twt.h @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all + * copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_twt.h + */ + +#ifndef _TARGET_IF_TWT_H_ +#define _TARGET_IF_TWT_H_ + +#include +#include +#include +#include + +#if defined(WLAN_SUPPORT_TWT) && defined(WLAN_TWT_CONV_SUPPORTED) +/** + * target_if_twt_set_twt_ack_support() - set ack support + * @psoc: psoc handle + * @val: value + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_set_twt_ack_support(struct wlan_objmgr_psoc *psoc, + bool val); + +/** + * target_if_twt_fill_tgt_caps() - fill twt target caps + * @psoc: psoc handle + * @wmi_handle: wmi handle + * + * This function populates twt target capability info in twt private psoc object + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_fill_tgt_caps(struct wlan_objmgr_psoc *psoc, + wmi_unified_t wmi_handle); + +/** + * target_if_twt_register_tx_ops() - Register twt tx ops + * @tx_ops: tx_ops structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops); + +/** + * target_if_twt_register_events() - Register twt wmi events + * @psoc: psoc handle + * + * Register TWT WMI events + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_register_events(struct wlan_objmgr_psoc *psoc); + +/** + * target_if_twt_deregister_events() - De-register twt wmi events + * @psoc: psoc handle + * + * De-register TWT WMI events + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_deregister_events(struct wlan_objmgr_psoc *psoc); + +#else +static inline +QDF_STATUS target_if_twt_set_twt_ack_support(struct wlan_objmgr_psoc *psoc, + bool val) +{ + return QDF_STATUS_SUCCESS; +} + +static inline +QDF_STATUS target_if_twt_fill_tgt_caps(struct wlan_objmgr_psoc *psoc, + wmi_unified_t wmi_handle) +{ + return QDF_STATUS_SUCCESS; +} + +static inline +QDF_STATUS target_if_twt_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) +{ + return QDF_STATUS_SUCCESS; +} + +static inline +QDF_STATUS target_if_twt_register_events(struct wlan_objmgr_psoc *psoc) +{ + return QDF_STATUS_SUCCESS; +} + +static inline +QDF_STATUS target_if_twt_deregister_events(struct wlan_objmgr_psoc *psoc) +{ + return QDF_STATUS_SUCCESS; +} + +#endif +#endif /* _TARGET_IF_TWT_H_ */ diff --git a/target_if/twt/inc/target_if_twt_cmd.h b/target_if/twt/inc/target_if_twt_cmd.h new file mode 100644 index 0000000000..b944a9fcd0 --- /dev/null +++ b/target_if/twt/inc/target_if_twt_cmd.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all + * copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_twt_cmd.h + */ + +#ifndef _TARGET_IF_TWT_CMD_H_ +#define _TARGET_IF_TWT_CMD_H_ + +#include +#include +#include +#include + +#if defined(WLAN_SUPPORT_TWT) && defined(WLAN_TWT_CONV_SUPPORTED) +/** + * target_if_twt_enable_req() - target if twt enable request + * @psoc: psoc handle + * @req: TWT enable request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_enable_req(struct wlan_objmgr_psoc *psoc, + struct twt_enable_param *req); + +/** + * target_if_twt_disable_req() - target if twt disable request + * @psoc: psoc handle + * @req: TWT disable request structure + * + * return: QDF_STATUS + */ +QDF_STATUS +target_if_twt_disable_req(struct wlan_objmgr_psoc *psoc, + struct twt_disable_param *req); +#else +static inline QDF_STATUS +target_if_twt_enable_req(struct wlan_objmgr_psoc *psoc, + struct twt_enable_param *params) +{ + return QDF_STATUS_SUCCESS; +} + +static inline QDF_STATUS +target_if_twt_disable_req(struct wlan_objmgr_psoc *psoc, + struct twt_disable_param *params) +{ + return QDF_STATUS_SUCCESS; +} + +#endif + +#endif /* _TARGET_IF_TWT_CMD_H_ */ diff --git a/target_if/twt/inc/target_if_twt_evt.h b/target_if/twt/inc/target_if_twt_evt.h new file mode 100644 index 0000000000..25907c24db --- /dev/null +++ b/target_if/twt/inc/target_if_twt_evt.h @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all + * copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_twt_evt.h + */ + +#ifndef _TARGET_IF_TWT_EVT_H_ +#define _TARGET_IF_TWT_EVT_H_ + +#include +#include +#include +#include + +#if defined(WLAN_SUPPORT_TWT) && defined(WLAN_TWT_CONV_SUPPORTED) +/** + * target_if_twt_en_complete_event_handler - TWT enable complete event handler + * @scn: scn handle + * @data: buffer with event + * @datalen: buffer length + * + * Return: 0 on success, negative value on failure + */ +int +target_if_twt_en_complete_event_handler(ol_scn_t scn, + uint8_t *data, uint32_t datalen); + +/** + * target_if_twt_disable_comp_event_handler - TWT disable complete event handler + * @scn: scn handle + * @data: buffer with event + * @datalen: buffer length + * + * Return: 0 on success, negative value on failure + */ +int +target_if_twt_disable_comp_event_handler(ol_scn_t scn, + uint8_t *data, uint32_t datalen); + +#else +static inline int +target_if_twt_en_complete_event_handler(ol_scn_t scn, + uint8_t *data, uint32_t datalen) +{ + return 0; +} + +static inline int +target_if_twt_disable_comp_event_handler(ol_scn_t scn, + uint8_t *data, uint32_t datalen) +{ + return 0; +} + +#endif + +#endif /* _TARGET_IF_TWT_EVT_H_ */ diff --git a/target_if/twt/src/target_if_twt.c b/target_if/twt/src/target_if_twt.c new file mode 100644 index 0000000000..a8ba047063 --- /dev/null +++ b/target_if/twt/src/target_if_twt.c @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_twt.c + * This file contains twt component's target related function definitions + */ +#include +#include +#include +#include +#include "twt/core/src/wlan_twt_common.h" +#include "twt/core/src/wlan_twt_priv.h" + +QDF_STATUS +target_if_twt_register_events(struct wlan_objmgr_psoc *psoc) +{ + return QDF_STATUS_SUCCESS; +} + +QDF_STATUS +target_if_twt_deregister_events(struct wlan_objmgr_psoc *psoc) +{ + return QDF_STATUS_SUCCESS; +} + +QDF_STATUS +target_if_twt_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) +{ + return QDF_STATUS_SUCCESS; +} + +QDF_STATUS +target_if_twt_set_twt_ack_support(struct wlan_objmgr_psoc *psoc, + bool val) +{ + return QDF_STATUS_SUCCESS; +} + +QDF_STATUS +target_if_twt_fill_tgt_caps(struct wlan_objmgr_psoc *psoc, + wmi_unified_t wmi_handle) +{ + return QDF_STATUS_SUCCESS; +} + diff --git a/target_if/twt/src/target_if_twt_cmd.c b/target_if/twt/src/target_if_twt_cmd.c new file mode 100644 index 0000000000..ebaaeff0d6 --- /dev/null +++ b/target_if/twt/src/target_if_twt_cmd.c @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_twt_cmd.c + * This file contains twt component's target related function definitions + */ +#include +#include +#include +#include "twt/core/src/wlan_twt_common.h" + +QDF_STATUS +target_if_twt_enable_req(struct wlan_objmgr_psoc *psoc, + struct twt_enable_param *req) +{ + return QDF_STATUS_SUCCESS; +} + +QDF_STATUS +target_if_twt_disable_req(struct wlan_objmgr_psoc *psoc, + struct twt_disable_param *req) +{ + return QDF_STATUS_SUCCESS; +} + diff --git a/target_if/twt/src/target_if_twt_evt.c b/target_if/twt/src/target_if_twt_evt.c new file mode 100644 index 0000000000..6158edbe51 --- /dev/null +++ b/target_if/twt/src/target_if_twt_evt.c @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: target_if_twt_evt.c + * This file contains twt component's target related function definitions + */ +#include +#include +#include +#include "twt/core/src/wlan_twt_priv.h" +#include +#include + +int +target_if_twt_en_complete_event_handler(ol_scn_t scn, + uint8_t *data, uint32_t datalen) +{ + return 0; +} + +int +target_if_twt_disable_comp_event_handler(ol_scn_t scn, + uint8_t *data, uint32_t datalen) +{ + return 0; +} +