linux/drivers/net/wireless/mediatek/mt76/mac80211.c

// SPDX-License-Identifier: ISC
/*
 * Copyright (C) 2016 Felix Fietkau <[email protected]>
 */
#include <linux/sched.h>
#include <linux/of.h>
#include "mt76.h"

#define CHAN2G(_idx, _freq)

#define CHAN5G(_idx, _freq)

#define CHAN6G(_idx, _freq)

static const struct ieee80211_channel mt76_channels_2ghz[] =;

static const struct ieee80211_channel mt76_channels_5ghz[] =;

static const struct ieee80211_channel mt76_channels_6ghz[] =;

static const struct ieee80211_tpt_blink mt76_tpt_blink[] =;

struct ieee80211_rate mt76_rates[] =;
EXPORT_SYMBOL_GPL();

static const struct cfg80211_sar_freq_ranges mt76_sar_freq_ranges[] =;

static const struct cfg80211_sar_capa mt76_sar_capa =;

static int mt76_led_init(struct mt76_phy *phy)
{}

static void mt76_led_cleanup(struct mt76_phy *phy)
{}

static void mt76_init_stream_cap(struct mt76_phy *phy,
				 struct ieee80211_supported_band *sband,
				 bool vht)
{}

void mt76_set_stream_caps(struct mt76_phy *phy, bool vht)
{}
EXPORT_SYMBOL_GPL();

static int
mt76_init_sband(struct mt76_phy *phy, struct mt76_sband *msband,
		const struct ieee80211_channel *chan, int n_chan,
		struct ieee80211_rate *rates, int n_rates,
		bool ht, bool vht)
{}

static int
mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates,
		   int n_rates)
{}

static int
mt76_init_sband_5g(struct mt76_phy *phy, struct ieee80211_rate *rates,
		   int n_rates, bool vht)
{}

static int
mt76_init_sband_6g(struct mt76_phy *phy, struct ieee80211_rate *rates,
		   int n_rates)
{}

static void
mt76_check_sband(struct mt76_phy *phy, struct mt76_sband *msband,
		 enum nl80211_band band)
{}

static int
mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
{}

struct mt76_phy *
mt76_alloc_phy(struct mt76_dev *dev, unsigned int size,
	       const struct ieee80211_ops *ops, u8 band_idx)
{}
EXPORT_SYMBOL_GPL();

int mt76_register_phy(struct mt76_phy *phy, bool vht,
		      struct ieee80211_rate *rates, int n_rates)
{}
EXPORT_SYMBOL_GPL();

void mt76_unregister_phy(struct mt76_phy *phy)
{}
EXPORT_SYMBOL_GPL();

int mt76_create_page_pool(struct mt76_dev *dev, struct mt76_queue *q)
{}
EXPORT_SYMBOL_GPL();

struct mt76_dev *
mt76_alloc_device(struct device *pdev, unsigned int size,
		  const struct ieee80211_ops *ops,
		  const struct mt76_driver_ops *drv_ops)
{}
EXPORT_SYMBOL_GPL();

int mt76_register_device(struct mt76_dev *dev, bool vht,
			 struct ieee80211_rate *rates, int n_rates)
{}
EXPORT_SYMBOL_GPL();

void mt76_unregister_device(struct mt76_dev *dev)
{}
EXPORT_SYMBOL_GPL();

void mt76_free_device(struct mt76_dev *dev)
{}
EXPORT_SYMBOL_GPL();

static void mt76_rx_release_amsdu(struct mt76_phy *phy, enum mt76_rxq_id q)
{}

static void mt76_rx_release_burst(struct mt76_phy *phy, enum mt76_rxq_id q,
				  struct sk_buff *skb)
{}

void mt76_rx(struct mt76_dev *dev, enum mt76_rxq_id q, struct sk_buff *skb)
{}
EXPORT_SYMBOL_GPL();

bool mt76_has_tx_pending(struct mt76_phy *phy)
{}
EXPORT_SYMBOL_GPL();

static struct mt76_channel_state *
mt76_channel_state(struct mt76_phy *phy, struct ieee80211_channel *c)
{}

void mt76_update_survey_active_time(struct mt76_phy *phy, ktime_t time)
{}
EXPORT_SYMBOL_GPL();

void mt76_update_survey(struct mt76_phy *phy)
{}
EXPORT_SYMBOL_GPL();

void mt76_set_channel(struct mt76_phy *phy)
{}
EXPORT_SYMBOL_GPL();

int mt76_get_survey(struct ieee80211_hw *hw, int idx,
		    struct survey_info *survey)
{}
EXPORT_SYMBOL_GPL();

void mt76_wcid_key_setup(struct mt76_dev *dev, struct mt76_wcid *wcid,
			 struct ieee80211_key_conf *key)
{}
EXPORT_SYMBOL();

int mt76_rx_signal(u8 chain_mask, s8 *chain_signal)
{}
EXPORT_SYMBOL();

static void
mt76_rx_convert(struct mt76_dev *dev, struct sk_buff *skb,
		struct ieee80211_hw **hw,
		struct ieee80211_sta **sta)
{}

static void
mt76_check_ccmp_pn(struct sk_buff *skb)
{}

static void
mt76_airtime_report(struct mt76_dev *dev, struct mt76_rx_status *status,
		    int len)
{}

static void
mt76_airtime_flush_ampdu(struct mt76_dev *dev)
{}

static void
mt76_airtime_check(struct mt76_dev *dev, struct sk_buff *skb)
{}

static void
mt76_check_sta(struct mt76_dev *dev, struct sk_buff *skb)
{}

void mt76_rx_complete(struct mt76_dev *dev, struct sk_buff_head *frames,
		      struct napi_struct *napi)
{}

void mt76_rx_poll_complete(struct mt76_dev *dev, enum mt76_rxq_id q,
			   struct napi_struct *napi)
{}
EXPORT_SYMBOL_GPL();

static int
mt76_sta_add(struct mt76_phy *phy, struct ieee80211_vif *vif,
	     struct ieee80211_sta *sta)
{}

void __mt76_sta_remove(struct mt76_dev *dev, struct ieee80211_vif *vif,
		       struct ieee80211_sta *sta)
{}
EXPORT_SYMBOL_GPL();

static void
mt76_sta_remove(struct mt76_dev *dev, struct ieee80211_vif *vif,
		struct ieee80211_sta *sta)
{}

int mt76_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
		   struct ieee80211_sta *sta,
		   enum ieee80211_sta_state old_state,
		   enum ieee80211_sta_state new_state)
{}
EXPORT_SYMBOL_GPL();

void mt76_sta_pre_rcu_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
			     struct ieee80211_sta *sta)
{}
EXPORT_SYMBOL_GPL();

void mt76_wcid_init(struct mt76_wcid *wcid)
{}
EXPORT_SYMBOL_GPL();

void mt76_wcid_cleanup(struct mt76_dev *dev, struct mt76_wcid *wcid)
{}
EXPORT_SYMBOL_GPL();

int mt76_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
		     int *dbm)
{}
EXPORT_SYMBOL_GPL();

int mt76_init_sar_power(struct ieee80211_hw *hw,
			const struct cfg80211_sar_specs *sar)
{}
EXPORT_SYMBOL_GPL();

int mt76_get_sar_power(struct mt76_phy *phy,
		       struct ieee80211_channel *chan,
		       int power)
{}
EXPORT_SYMBOL_GPL();

static void
__mt76_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
{}

void mt76_csa_finish(struct mt76_dev *dev)
{}
EXPORT_SYMBOL_GPL();

static void
__mt76_csa_check(void *priv, u8 *mac, struct ieee80211_vif *vif)
{}

void mt76_csa_check(struct mt76_dev *dev)
{}
EXPORT_SYMBOL_GPL();

int
mt76_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, bool set)
{}
EXPORT_SYMBOL_GPL();

void mt76_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id)
{}
EXPORT_SYMBOL_GPL();

int mt76_get_rate(struct mt76_dev *dev,
		  struct ieee80211_supported_band *sband,
		  int idx, bool cck)
{}
EXPORT_SYMBOL_GPL();

void mt76_sw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
		  const u8 *mac)
{}
EXPORT_SYMBOL_GPL();

void mt76_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
{}
EXPORT_SYMBOL_GPL();

int mt76_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant)
{}
EXPORT_SYMBOL_GPL();

struct mt76_queue *
mt76_init_queue(struct mt76_dev *dev, int qid, int idx, int n_desc,
		int ring_base, void *wed, u32 flags)
{}
EXPORT_SYMBOL_GPL();

u16 mt76_calculate_default_rate(struct mt76_phy *phy,
				struct ieee80211_vif *vif, int rateidx)
{}
EXPORT_SYMBOL_GPL();

void mt76_ethtool_worker(struct mt76_ethtool_worker_info *wi,
			 struct mt76_sta_stats *stats, bool eht)
{}
EXPORT_SYMBOL_GPL();

void mt76_ethtool_page_pool_stats(struct mt76_dev *dev, u64 *data, int *index)
{}
EXPORT_SYMBOL_GPL();

enum mt76_dfs_state mt76_phy_dfs_state(struct mt76_phy *phy)
{}
EXPORT_SYMBOL_GPL();