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