linux/drivers/net/wireless/purelifi/plfxlc/mac.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2021 pureLiFi
 */

#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/jiffies.h>
#include <net/ieee80211_radiotap.h>

#include "chip.h"
#include "mac.h"
#include "usb.h"

static const struct ieee80211_rate plfxlc_rates[] =;

static const struct ieee80211_channel plfxlc_channels[] =;

int plfxlc_mac_preinit_hw(struct ieee80211_hw *hw, const u8 *hw_address)
{}

int plfxlc_mac_init_hw(struct ieee80211_hw *hw)
{}

void plfxlc_mac_release(struct plfxlc_mac *mac)
{}

int plfxlc_op_start(struct ieee80211_hw *hw)
{}

void plfxlc_op_stop(struct ieee80211_hw *hw, bool suspend)
{}

int plfxlc_restore_settings(struct plfxlc_mac *mac)
{}

static void plfxlc_mac_tx_status(struct ieee80211_hw *hw,
				 struct sk_buff *skb,
				 int ackssi,
				 struct tx_status *tx_status)
{}

void plfxlc_mac_tx_to_dev(struct sk_buff *skb, int error)
{}

static int plfxlc_fill_ctrlset(struct plfxlc_mac *mac, struct sk_buff *skb)
{}

static void plfxlc_op_tx(struct ieee80211_hw *hw,
			 struct ieee80211_tx_control *control,
			 struct sk_buff *skb)
{}

static int plfxlc_filter_ack(struct ieee80211_hw *hw, struct ieee80211_hdr *rx_hdr,
			     struct ieee80211_rx_status *stats)
{}

int plfxlc_mac_rx(struct ieee80211_hw *hw, const u8 *buffer,
		  unsigned int length)
{}

static int plfxlc_op_add_interface(struct ieee80211_hw *hw,
				   struct ieee80211_vif *vif)
{}

static void plfxlc_op_remove_interface(struct ieee80211_hw *hw,
				       struct ieee80211_vif *vif)
{}

static int plfxlc_op_config(struct ieee80211_hw *hw, u32 changed)
{}

#define SUPPORTED_FIF_FLAGS
static void plfxlc_op_configure_filter(struct ieee80211_hw *hw,
				       unsigned int changed_flags,
				       unsigned int *new_flags,
				       u64 multicast)
{}

static void plfxlc_op_bss_info_changed(struct ieee80211_hw *hw,
				       struct ieee80211_vif *vif,
				       struct ieee80211_bss_conf *bss_conf,
				       u64 changes)
{}

static int plfxlc_get_stats(struct ieee80211_hw *hw,
			    struct ieee80211_low_level_stats *stats)
{}

static const char et_strings[][ETH_GSTRING_LEN] =;

static int plfxlc_get_et_sset_count(struct ieee80211_hw *hw,
				    struct ieee80211_vif *vif, int sset)
{}

static void plfxlc_get_et_strings(struct ieee80211_hw *hw,
				  struct ieee80211_vif *vif,
				  u32 sset, u8 *data)
{}

static void plfxlc_get_et_stats(struct ieee80211_hw *hw,
				struct ieee80211_vif *vif,
				struct ethtool_stats *stats, u64 *data)
{}

static int plfxlc_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
{}

static const struct ieee80211_ops plfxlc_ops =;

struct ieee80211_hw *plfxlc_mac_alloc_hw(struct usb_interface *intf)
{}