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