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