linux/drivers/staging/wfx/scan.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Scan related functions.
   4 *
   5 * Copyright (c) 2017-2019, Silicon Laboratories, Inc.
   6 * Copyright (c) 2010, ST-Ericsson
   7 */
   8#ifndef WFX_SCAN_H
   9#define WFX_SCAN_H
  10
  11#include <linux/semaphore.h>
  12#include <linux/workqueue.h>
  13#include <net/mac80211.h>
  14
  15#include "hif_api_cmd.h"
  16
  17struct wfx_dev;
  18struct wfx_vif;
  19
  20struct wfx_scan {
  21        struct semaphore lock;
  22        struct work_struct work;
  23        struct delayed_work timeout;
  24        struct cfg80211_scan_request *req;
  25        struct ieee80211_channel **begin;
  26        struct ieee80211_channel **curr;
  27        struct ieee80211_channel **end;
  28        struct hif_ssid_def ssids[HIF_API_MAX_NB_SSIDS];
  29        int output_power;
  30        int n_ssids;
  31        int status;
  32        atomic_t in_progress;
  33};
  34
  35int wfx_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  36                struct ieee80211_scan_request *req);
  37void wfx_scan_work(struct work_struct *work);
  38void wfx_scan_timeout(struct work_struct *work);
  39void wfx_scan_complete_cb(struct wfx_vif *wvif, struct hif_ind_scan_cmpl *arg);
  40void wfx_scan_failed_cb(struct wfx_vif *wvif);
  41
  42#endif /* WFX_SCAN_H */
  43