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