1 /* 2 * Copyright (c) 2018 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /** 20 * DOC: wlan_cp_stats_obj_mgr_handler.h 21 * 22 * This header file provide declarations for APIs to handle events from object 23 * manager for registered events from wlan_cp_stats_init() 24 */ 25 26 #ifndef __WLAN_CP_STATS_OBJ_MGR_HANDLER_H__ 27 #define __WLAN_CP_STATS_OBJ_MGR_HANDLER_H__ 28 29 #ifdef QCA_SUPPORT_CP_STATS 30 #include <wlan_objmgr_cmn.h> 31 #include <wlan_objmgr_global_obj.h> 32 #include <wlan_objmgr_psoc_obj.h> 33 #include <wlan_objmgr_pdev_obj.h> 34 #include <wlan_objmgr_vdev_obj.h> 35 #include <wlan_objmgr_peer_obj.h> 36 37 #ifdef QCA_SUPPORT_CP_STATS_DA 38 #include "wlan_cp_stats_da_api.h" 39 #else 40 #include "wlan_cp_stats_defs.h" 41 #endif 42 43 /** 44 * wlan_cp_stats_psoc_obj_create_handler() - psoc create notification handler 45 * callback function 46 * @psoc: pointer to psoc object 47 * @data: pointer to arg data 48 * 49 * Return: QDF_STATUS - Success or Failure 50 */ 51 QDF_STATUS wlan_cp_stats_psoc_obj_create_handler( 52 struct wlan_objmgr_psoc *psoc, void *data); 53 54 /** 55 * wlan_cp_stats_psoc_obj_destroy_handler() - psoc destroy notification handler 56 * callback function 57 * @psoc: pointer to psoc object 58 * @data: pointer to arg data 59 * 60 * Return: QDF_STATUS - Success or Failure 61 */ 62 QDF_STATUS wlan_cp_stats_psoc_obj_destroy_handler( 63 struct wlan_objmgr_psoc *psoc, void *data); 64 65 /** 66 * wlan_cp_stats_pdev_obj_create_handler() - Pdev create notification handler 67 * callback function 68 * @pdev: pointer to pdev object 69 * @data: pointer to arg data 70 * 71 * Return: QDF_STATUS - Success or Failure 72 */ 73 QDF_STATUS wlan_cp_stats_pdev_obj_create_handler( 74 struct wlan_objmgr_pdev *pdev, void *data); 75 76 /** 77 * wlan_cp_stats_pdev_obj_destroy_handler() - Pdev destroy notification handler 78 * callback function 79 * @pdev: pointer to pdev object 80 * @data: pointer to arg data 81 * 82 * Return: QDF_STATUS - Success or Failure 83 */ 84 QDF_STATUS wlan_cp_stats_pdev_obj_destroy_handler( 85 struct wlan_objmgr_pdev *pdev, void *data); 86 87 /** 88 * wlan_cp_stats_vdev_obj_create_handler() - vdev create notification handler 89 * callback function 90 * @vdev: pointer to vdev object 91 * @data: pointer to arg data 92 * 93 * Return: QDF_STATUS - Success or Failure 94 */ 95 QDF_STATUS wlan_cp_stats_vdev_obj_create_handler( 96 struct wlan_objmgr_vdev *vdev, void *data); 97 98 /** 99 * wlan_cp_stats_vdev_obj_destroy_handler() - vdev destroy notification handler 100 * callback function 101 * @vdev: pointer to vdev object 102 * @data: pointer to arg data 103 * 104 * Return: QDF_STATUS - Success or Failure 105 */ 106 QDF_STATUS wlan_cp_stats_vdev_obj_destroy_handler( 107 struct wlan_objmgr_vdev *vdev, void *data); 108 109 /** 110 * wlan_cp_stats_peer_obj_create_handler() - peer create notification handler 111 * callback function 112 * @peer: pointer to peer object 113 * @data: pointer to arg data 114 * 115 * Return: QDF_STATUS - Success or Failure 116 */ 117 QDF_STATUS wlan_cp_stats_peer_obj_create_handler( 118 struct wlan_objmgr_peer *peer, void *data); 119 120 /** 121 * wlan_cp_stats_peer_obj_destroy_handler() - peer destroy notification handler 122 * callback function 123 * @peer: pointer to peer object 124 * @data: pointer to arg data 125 * 126 * Return: QDF_STATUS - Success or Failure 127 */ 128 QDF_STATUS wlan_cp_stats_peer_obj_destroy_handler( 129 struct wlan_objmgr_peer *peer, void *data); 130 131 #ifndef QCA_SUPPORT_CP_STATS_DA 132 static inline 133 QDF_STATUS wlan_cp_stats_ctx_init_da(struct cp_stats_context *csc) 134 { 135 return QDF_STATUS_SUCCESS; 136 } 137 138 static inline 139 QDF_STATUS wlan_cp_stats_ctx_deinit_da(struct cp_stats_context *csc) 140 { 141 return QDF_STATUS_SUCCESS; 142 } 143 #endif 144 145 #endif /* QCA_SUPPORT_CP_STATS */ 146 #endif /* __WLAN_CP_STATS_OBJ_MGR_HANDLER_H__ */ 147