diff options
author | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-04-06 11:11:31 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-04-06 11:11:31 +0200 |
commit | 5c807f98e94548dac3fcbd391389c0869f8a9f32 (patch) | |
tree | d8b652c2d428b78f7bdfd890102b5a5ca2628093 /drivers/staging/cw1200/scan.h | |
parent | fe07b033c06f6f5e9bda543da22cfa7962325e56 (diff) | |
parent | bd6a3784c37447e7336759ff4910f6cd3ff89f34 (diff) |
Merge topic branch 'wlan' into integration-linux-ux500-3.3
Diffstat (limited to 'drivers/staging/cw1200/scan.h')
-rw-r--r-- | drivers/staging/cw1200/scan.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/drivers/staging/cw1200/scan.h b/drivers/staging/cw1200/scan.h new file mode 100644 index 00000000000..abffd1d796f --- /dev/null +++ b/drivers/staging/cw1200/scan.h @@ -0,0 +1,54 @@ +/* + * Scan interface for ST-Ericsson CW1200 mac80211 drivers + * + * Copyright (c) 2010, ST-Ericsson + * Author: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef SCAN_H_INCLUDED +#define SCAN_H_INCLUDED + +#include <linux/semaphore.h> +#include "wsm.h" + +/* external */ struct sk_buff; +/* external */ struct cfg80211_scan_request; +/* external */ struct ieee80211_channel; +/* external */ struct ieee80211_hw; +/* external */ struct work_struct; + +struct cw1200_scan { + struct semaphore lock; + struct work_struct work; + struct delayed_work timeout; + struct cfg80211_scan_request *req; + struct ieee80211_channel **begin; + struct ieee80211_channel **curr; + struct ieee80211_channel **end; + struct wsm_ssid ssids[WSM_SCAN_MAX_NUM_OF_SSIDS]; + int output_power; + int n_ssids; + int status; + atomic_t in_progress; + /* Direct probe requests workaround */ + struct delayed_work probe_work; + int direct_probe; +}; + +int cw1200_hw_scan(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct cfg80211_scan_request *req); +void cw1200_scan_work(struct work_struct *work); +void cw1200_scan_timeout(struct work_struct *work); +void cw1200_scan_complete_cb(struct cw1200_common *priv, + struct wsm_scan_complete *arg); + +/* ******************************************************************** */ +/* Raw probe requests TX workaround */ +void cw1200_probe_work(struct work_struct *work); + +#endif |