xref: /wlan-dirver/qca-wifi-host-cmn/umac/dfs/dispatcher/inc/wlan_dfs_init_deinit_api.h (revision 8cfe6b10058a04cafb17eed051f2ddf11bee8931)
1 /*
2  * Copyright (c) 2016-2017 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: 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  *
33  * Return: 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  * @arg: component argument
56  */
57 QDF_STATUS wlan_dfs_pdev_obj_create_notification(struct wlan_objmgr_pdev *pdev,
58 		void *arg);
59 
60 /**
61  * wlan_dfs_pdev_obj_destroy_notification() - DFS pdev object delete handler.
62  * @pdev: Pointer to DFS pdev object.
63  * @arg: component argument
64  */
65 QDF_STATUS wlan_dfs_pdev_obj_destroy_notification(struct wlan_objmgr_pdev *pdev,
66 		void *arg);
67 
68 /**
69  * wifi_dfs_psoc_enable() - handles registering dfs event handlers.
70  * @psoc: psoc object.
71  */
72 QDF_STATUS wifi_dfs_psoc_enable(struct wlan_objmgr_psoc *psoc);
73 
74 /**
75  * wifi_dfs_psoc_disable() - handles deregistering dfs event handlers.
76  * @psoc: psoc object.
77  */
78 QDF_STATUS wifi_dfs_psoc_disable(struct wlan_objmgr_psoc *psoc);
79 
80 #endif /* _WLAN_DFS_INIT_DEINIT_API_H_ */
81