1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
4  * All rights reserved.
5  */
6 
7 #ifndef WILC_CFG80211_H
8 #define WILC_CFG80211_H
9 #include "netdev.h"
10 
11 struct wiphy *wilc_cfg_alloc(void);
12 int wilc_cfg80211_init(struct wilc **wilc, struct device *dev, int io_type,
13 		       const struct wilc_hif_func *ops);
14 struct wilc *wilc_create_wiphy(struct device *dev);
15 void wilc_deinit_host_int(struct net_device *net);
16 int wilc_init_host_int(struct net_device *net);
17 void wilc_wfi_monitor_rx(struct net_device *mon_dev, u8 *buff, u32 size);
18 struct wilc_vif *wilc_netdev_interface(struct wilc *wl, const char *name,
19 				       enum nl80211_iftype type);
20 void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked);
21 struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl,
22 					       const char *name,
23 					       struct net_device *real_dev);
24 void wilc_update_mgmt_frame_registrations(struct wiphy *wiphy,
25 					  struct wireless_dev *wdev,
26 					  struct mgmt_frame_regs *upd);
27 struct wilc_vif *wilc_get_interface(struct wilc *wl);
28 struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl);
29 void wlan_deinit_locks(struct wilc *wilc);
30 #endif
31