xref: /linux/drivers/net/wireless/silabs/wfx/scan.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Scan related functions.
4  *
5  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
6  * Copyright (c) 2010, ST-Ericsson
7  */
8 #ifndef WFX_SCAN_H
9 #define WFX_SCAN_H
10 
11 #include <net/mac80211.h>
12 
13 struct wfx_dev;
14 struct wfx_vif;
15 
16 void wfx_hw_scan_work(struct work_struct *work);
17 int wfx_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
18 		struct ieee80211_scan_request *req);
19 void wfx_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
20 void wfx_scan_complete(struct wfx_vif *wvif, int nb_chan_done);
21 
22 void wfx_remain_on_channel_work(struct work_struct *work);
23 int wfx_remain_on_channel(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
24 			  struct ieee80211_channel *chan, int duration,
25 			  enum ieee80211_roc_type type);
26 int wfx_cancel_remain_on_channel(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
27 
28 #endif
29