1 /* 2 * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 /** 18 * DOC: Define PSOC MLME public APIs 19 */ 20 21 #ifndef _WLAN_PSOC_MLME_API_H_ 22 #define _WLAN_PSOC_MLME_API_H_ 23 24 #include <include/wlan_psoc_mlme.h> 25 26 /** 27 * wlan_psoc_mlme_get_cmpt_obj() - Returns PSOC MLME component object 28 * @psoc: PSOC object 29 * 30 * Retrieves MLME component object from PSOC object 31 * 32 * Return: comp handle on SUCCESS 33 * NULL, if it fails to retrieve 34 */ 35 struct psoc_mlme_obj *wlan_psoc_mlme_get_cmpt_obj( 36 struct wlan_objmgr_psoc *psoc); 37 38 /** 39 * wlan_psoc_mlme_get_ext_hdl() - Returns legacy handle 40 * @psoc: PSOC object 41 * 42 * Retrieves legacy handle from psoc mlme component object 43 * 44 * Return: legacy handle on SUCCESS 45 * NULL, if it fails to retrieve 46 */ 47 mlme_psoc_ext_t *wlan_psoc_mlme_get_ext_hdl(struct wlan_objmgr_psoc *psoc); 48 49 /** 50 * wlan_psoc_mlme_set_ext_hdl() - Set legacy handle 51 * @psoc_mlme: psoc_mlme object 52 * psoc_ext_hdl: PSOC level legacy handle 53 * 54 * Sets legacy handle in psoc mlme component object 55 * 56 * Return: Void 57 */ 58 void wlan_psoc_mlme_set_ext_hdl(struct psoc_mlme_obj *psoc_mlme, 59 mlme_psoc_ext_t *psoc_ext_hdl); 60 61 /** 62 * wlan_psoc_set_phy_config() - Init psoc phy related configs 63 * @psoc: pointer to psoc object 64 * @phy_config: phy related configs score config 65 * 66 * Return: void 67 */ 68 void wlan_psoc_set_phy_config(struct wlan_objmgr_psoc *psoc, 69 struct psoc_phy_config *phy_config); 70 71 /** 72 * mlme_psoc_open() - MLME component Open 73 * @psoc: pointer to psoc object 74 * 75 * Open the MLME component and initialize the MLME structure 76 * 77 * Return: QDF Status 78 */ 79 QDF_STATUS mlme_psoc_open(struct wlan_objmgr_psoc *psoc); 80 81 /** 82 * mlme_psoc_close() - MLME component close 83 * @psoc: pointer to psoc object 84 * 85 * Open the MLME component and initialize the MLME structure 86 * 87 * Return: QDF Status 88 */ 89 QDF_STATUS mlme_psoc_close(struct wlan_objmgr_psoc *psoc); 90 91 #endif 92