1 /* 2 * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 /** 21 * DOC: target_if_reg_11d.h 22 * This file contains regulatory target 11d scan interface. 23 */ 24 25 #ifndef __TARGET_IF_REG_11D_H__ 26 #define __TARGET_IF_REG_11D_H__ 27 28 #include "qdf_types.h" 29 #include "target_if.h" 30 #include <wlan_objmgr_psoc_obj.h> 31 #include "target_if_reg.h" 32 #include "wmi_unified_api.h" 33 #include "wmi_unified_reg_api.h" 34 35 #ifdef TARGET_11D_SCAN 36 /** 37 * tgt_if_regulatory_is_11d_offloaded() - Check if reg 11d is offloaded. 38 * @psoc: psoc pointer 39 * 40 * Return: true if 11d is offloaded, else false. 41 */ 42 bool tgt_if_regulatory_is_11d_offloaded(struct wlan_objmgr_psoc *psoc); 43 44 /** 45 * tgt_if_regulatory_register_11d_new_cc_handler() - Register for 11d country 46 * code event ID. 47 * @psoc: psoc pointer 48 * @arg: Pointer to args. 49 * 50 * Return: QDF_STATUS 51 */ 52 QDF_STATUS tgt_if_regulatory_register_11d_new_cc_handler( 53 struct wlan_objmgr_psoc *psoc, void *arg); 54 55 /** 56 * tgt_if_regulatory_unregister_11d_new_cc_handler() - Unregister 11d country 57 * code event ID. 58 * @psoc: psoc pointer 59 * @arg: Pointer to args. 60 * 61 * Return: QDF_STATUS 62 */ 63 QDF_STATUS tgt_if_regulatory_unregister_11d_new_cc_handler( 64 struct wlan_objmgr_psoc *psoc, void *arg); 65 66 /** 67 * tgt_if_regulatory_start_11d_scan() - Start 11d scan. 68 * @psoc: psoc pointer 69 * @reg_start_11d_scan_req: Pointer to 11d scan start request. 70 * 71 * Return: QDF_STATUS 72 */ 73 QDF_STATUS tgt_if_regulatory_start_11d_scan( 74 struct wlan_objmgr_psoc *psoc, 75 struct reg_start_11d_scan_req *reg_start_11d_scan_req); 76 77 /** 78 * tgt_if_regulatory_stop_11d_scan() - Stop 11d scan. 79 * @psoc: psoc pointer 80 * @reg_stop_11d_scan_req: Pointer to 11d scan stop request. 81 * 82 * Return: QDF_STATUS 83 */ 84 QDF_STATUS tgt_if_regulatory_stop_11d_scan( 85 struct wlan_objmgr_psoc *psoc, 86 struct reg_stop_11d_scan_req *reg_stop_11d_scan_req); 87 88 #else 89 90 static inline bool 91 tgt_if_regulatory_is_11d_offloaded(struct wlan_objmgr_psoc *psoc) 92 { 93 return false; 94 } 95 96 static inline QDF_STATUS 97 tgt_if_regulatory_register_11d_new_cc_handler(struct wlan_objmgr_psoc *psoc, 98 void *arg) 99 { 100 return QDF_STATUS_SUCCESS; 101 } 102 103 static inline QDF_STATUS 104 tgt_if_regulatory_unregister_11d_new_cc_handler(struct wlan_objmgr_psoc *psoc, 105 void *arg) 106 { 107 return QDF_STATUS_SUCCESS; 108 } 109 110 static inline QDF_STATUS tgt_if_regulatory_start_11d_scan( 111 struct wlan_objmgr_psoc *psoc, 112 struct reg_start_11d_scan_req *reg_start_11d_scan_req) 113 { 114 return QDF_STATUS_SUCCESS; 115 } 116 117 static inline QDF_STATUS tgt_if_regulatory_stop_11d_scan( 118 struct wlan_objmgr_psoc *psoc, 119 struct reg_stop_11d_scan_req *reg_stop_11d_scan_req) 120 { 121 return QDF_STATUS_SUCCESS; 122 } 123 #endif 124 #endif 125