#include "testmode.h"
#include <net/netlink.h>
#include "debug.h"
#include "wmi.h"
#include "hw.h"
#include "core.h"
#include "testmode_i.h"
#define ATH11K_FTM_SEGHDR_CURRENT_SEQ …
#define ATH11K_FTM_SEGHDR_TOTAL_SEGMENTS …
static const struct nla_policy ath11k_tm_policy[ATH11K_TM_ATTR_MAX + 1] = …;
static struct ath11k *ath11k_tm_get_ar(struct ath11k_base *ab)
{ … }
static void ath11k_tm_wmi_event_unsegmented(struct ath11k_base *ab, u32 cmd_id,
struct sk_buff *skb)
{ … }
static int ath11k_tm_process_event(struct ath11k_base *ab, u32 cmd_id,
const struct wmi_ftm_event_msg *ftm_msg,
u16 length)
{ … }
static void ath11k_tm_wmi_event_segmented(struct ath11k_base *ab, u32 cmd_id,
struct sk_buff *skb)
{ … }
void ath11k_tm_wmi_event(struct ath11k_base *ab, u32 cmd_id, struct sk_buff *skb)
{ … }
static int ath11k_tm_cmd_get_version(struct ath11k *ar, struct nlattr *tb[])
{ … }
static int ath11k_tm_cmd_testmode_start(struct ath11k *ar, struct nlattr *tb[])
{ … }
static int ath11k_tm_cmd_wmi(struct ath11k *ar, struct nlattr *tb[],
struct ieee80211_vif *vif)
{ … }
static int ath11k_tm_cmd_wmi_ftm(struct ath11k *ar, struct nlattr *tb[])
{ … }
int ath11k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void *data, int len)
{ … }