xref: /wlan-dirver/qca-wifi-host-cmn/umac/dfs/dispatcher/inc/wlan_dfs_init_deinit_api.h (revision 901120c066e139c7f8a2c8e4820561fdd83c67ef)
1 /*
2  * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2022 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: This file init/deint functions for DFS module.
22  */
23 
24 #ifndef _WLAN_DFS_INIT_DEINIT_API_H_
25 #define _WLAN_DFS_INIT_DEINIT_API_H_
26 
27 #include "wlan_dfs_ucfg_api.h"
28 
29 /**
30  * wlan_pdev_get_dfs_obj() - Get DFS object from PDEV.
31  * @pdev: Pointer to PDEV structure.
32  * @id: DFS component ID.
33  * @obj: Pointer to DFS object.
34  */
35 struct wlan_dfs *wlan_pdev_get_dfs_obj(struct wlan_objmgr_pdev *pdev);
36 
37 /**
38  * register_dfs_callbacks() - Fill mlme pointers.
39  */
40 void register_dfs_callbacks(void);
41 
42 /**
43  * dfs_init() - Init DFS module
44  */
45 QDF_STATUS dfs_init(void);
46 
47 /**
48  * dfs_deinit() - Deinit DFS module.
49  */
50 QDF_STATUS dfs_deinit(void);
51 
52 /**
53  * wlan_dfs_pdev_obj_create_notification() - DFS pdev object create handler.
54  * @pdev: Pointer to DFS pdev object.
55  */
56 QDF_STATUS wlan_dfs_pdev_obj_create_notification(struct wlan_objmgr_pdev *pdev,
57 		void *arg);
58 
59 /**
60  * wlan_dfs_pdev_obj_destroy_notification() - DFS pdev object delete handler.
61  * @pdev: Pointer to DFS pdev object.
62  */
63 QDF_STATUS wlan_dfs_pdev_obj_destroy_notification(struct wlan_objmgr_pdev *pdev,
64 		void *arg);
65 
66 /**
67  * wifi_dfs_psoc_enable() - handles registering dfs event handlers.
68  * @psoc: psoc object.
69  */
70 QDF_STATUS wifi_dfs_psoc_enable(struct wlan_objmgr_psoc *psoc);
71 
72 /**
73  * wifi_dfs_psoc_disable() - handles deregistering dfs event handlers.
74  * @psoc: psoc object.
75  */
76 QDF_STATUS wifi_dfs_psoc_disable(struct wlan_objmgr_psoc *psoc);
77 
78 #endif /* _WLAN_DFS_INIT_DEINIT_API_H_ */
79