linux/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c

// SPDX-License-Identifier: GPL-2.0+
/* Copyright (c) 2015-2016 Quantenna Communications. All rights reserved. */

#include <linux/kernel.h>
#include <linux/etherdevice.h>
#include <linux/vmalloc.h>
#include <linux/ieee80211.h>
#include <net/cfg80211.h>
#include <net/netlink.h>

#include "cfg80211.h"
#include "commands.h"
#include "core.h"
#include "util.h"
#include "bus.h"

/* Supported rates to be advertised to the cfg80211 */
static struct ieee80211_rate qtnf_rates_2g[] =;

/* Supported rates to be advertised to the cfg80211 */
static struct ieee80211_rate qtnf_rates_5g[] =;

/* Supported crypto cipher suits to be advertised to cfg80211 */
static const u32 qtnf_cipher_suites[] =;

/* Supported mgmt frame types to be advertised to cfg80211 */
static const struct ieee80211_txrx_stypes
qtnf_mgmt_stypes[NUM_NL80211_IFTYPES] =;

static int
qtnf_validate_iface_combinations(struct wiphy *wiphy,
				 struct qtnf_vif *change_vif,
				 enum nl80211_iftype new_type)
{}

static int
qtnf_change_virtual_intf(struct wiphy *wiphy,
			 struct net_device *dev,
			 enum nl80211_iftype type,
			 struct vif_params *params)
{}

int qtnf_del_virtual_intf(struct wiphy *wiphy, struct wireless_dev *wdev)
{}

static struct wireless_dev *qtnf_add_virtual_intf(struct wiphy *wiphy,
						  const char *name,
						  unsigned char name_assign_t,
						  enum nl80211_iftype type,
						  struct vif_params *params)
{}

static int qtnf_mgmt_set_appie(struct qtnf_vif *vif,
			       const struct cfg80211_beacon_data *info)
{}

static int qtnf_change_beacon(struct wiphy *wiphy, struct net_device *dev,
			      struct cfg80211_ap_update *info)
{}

static int qtnf_start_ap(struct wiphy *wiphy, struct net_device *dev,
			 struct cfg80211_ap_settings *settings)
{}

static int qtnf_stop_ap(struct wiphy *wiphy, struct net_device *dev,
			unsigned int link_id)
{}

static int qtnf_set_wiphy_params(struct wiphy *wiphy, u32 changed)
{}

static void
qtnf_update_mgmt_frame_registrations(struct wiphy *wiphy,
				     struct wireless_dev *wdev,
				     struct mgmt_frame_regs *upd)
{}

static int
qtnf_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
	     struct cfg80211_mgmt_tx_params *params, u64 *cookie)
{}

static int
qtnf_get_station(struct wiphy *wiphy, struct net_device *dev,
		 const u8 *mac, struct station_info *sinfo)
{}

static int
qtnf_dump_station(struct wiphy *wiphy, struct net_device *dev,
		  int idx, u8 *mac, struct station_info *sinfo)
{}

static int qtnf_add_key(struct wiphy *wiphy, struct net_device *dev,
			int link_id, u8 key_index, bool pairwise,
			const u8 *mac_addr, struct key_params *params)
{}

static int qtnf_del_key(struct wiphy *wiphy, struct net_device *dev,
			int link_id, u8 key_index, bool pairwise,
			const u8 *mac_addr)
{}

static int qtnf_set_default_key(struct wiphy *wiphy, struct net_device *dev,
				int link_id, u8 key_index, bool unicast,
				bool multicast)
{}

static int
qtnf_set_default_mgmt_key(struct wiphy *wiphy, struct net_device *dev,
			  int link_id, u8 key_index)
{}

static int
qtnf_change_station(struct wiphy *wiphy, struct net_device *dev,
		    const u8 *mac, struct station_parameters *params)
{}

static int
qtnf_del_station(struct wiphy *wiphy, struct net_device *dev,
		 struct station_del_parameters *params)
{}

static int
qtnf_scan(struct wiphy *wiphy, struct cfg80211_scan_request *request)
{}

static int
qtnf_connect(struct wiphy *wiphy, struct net_device *dev,
	     struct cfg80211_connect_params *sme)
{}

static int
qtnf_external_auth(struct wiphy *wiphy, struct net_device *dev,
		   struct cfg80211_external_auth_params *auth)
{}

static int
qtnf_disconnect(struct wiphy *wiphy, struct net_device *dev,
		u16 reason_code)
{}

static int
qtnf_dump_survey(struct wiphy *wiphy, struct net_device *dev,
		 int idx, struct survey_info *survey)
{}

static int
qtnf_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev,
		 unsigned int link_id, struct cfg80211_chan_def *chandef)
{}

static int qtnf_channel_switch(struct wiphy *wiphy, struct net_device *dev,
			       struct cfg80211_csa_settings *params)
{}

static int qtnf_start_radar_detection(struct wiphy *wiphy,
				      struct net_device *ndev,
				      struct cfg80211_chan_def *chandef,
				      u32 cac_time_ms)
{}

static int qtnf_set_mac_acl(struct wiphy *wiphy,
			    struct net_device *dev,
			    const struct cfg80211_acl_data *params)
{}

static int qtnf_set_power_mgmt(struct wiphy *wiphy, struct net_device *dev,
			       bool enabled, int timeout)
{}

static int qtnf_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
			     int *dbm)
{}

static int qtnf_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
			     enum nl80211_tx_power_setting type, int mbm)
{}

static int qtnf_update_owe_info(struct wiphy *wiphy, struct net_device *dev,
				struct cfg80211_update_owe_info *owe_info)
{}

#ifdef CONFIG_PM
static int qtnf_suspend(struct wiphy *wiphy, struct cfg80211_wowlan *wowlan)
{}

static int qtnf_resume(struct wiphy *wiphy)
{}

static void qtnf_set_wakeup(struct wiphy *wiphy, bool enabled)
{}
#endif

static struct cfg80211_ops qtn_cfg80211_ops =;

static void qtnf_cfg80211_reg_notifier(struct wiphy *wiphy,
				       struct regulatory_request *req)
{}

struct wiphy *qtnf_wiphy_allocate(struct qtnf_bus *bus,
				  struct platform_device *pdev)
{}

static int
qtnf_wiphy_setup_if_comb(struct wiphy *wiphy, struct qtnf_mac_info *mac_info)
{}

int qtnf_wiphy_register(struct qtnf_hw_info *hw_info, struct qtnf_wmac *mac)
{}

void qtnf_netdev_updown(struct net_device *ndev, bool up)
{}

void qtnf_virtual_intf_cleanup(struct net_device *ndev)
{}

void qtnf_cfg80211_vif_reset(struct qtnf_vif *vif)
{}

void qtnf_band_init_rates(struct ieee80211_supported_band *band)
{}