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

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

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/if_ether.h>
#include <linux/nospec.h>

#include "core.h"
#include "bus.h"
#include "trans.h"
#include "commands.h"
#include "cfg80211.h"
#include "event.h"
#include "util.h"
#include "switchdev.h"

#define QTNF_PRIMARY_VIF_IDX

static bool slave_radar =;
module_param(slave_radar, bool, 0644);
MODULE_PARM_DESC();

static bool dfs_offload;
module_param(dfs_offload, bool, 0644);
MODULE_PARM_DESC();

static struct dentry *qtnf_debugfs_dir;

bool qtnf_slave_radar_get(void)
{}

bool qtnf_dfs_offload_get(void)
{}

struct qtnf_wmac *qtnf_core_get_mac(const struct qtnf_bus *bus, u8 macid)
{}

/* Netdev handler for open.
 */
static int qtnf_netdev_open(struct net_device *ndev)
{}

/* Netdev handler for close.
 */
static int qtnf_netdev_close(struct net_device *ndev)
{}

static void qtnf_packet_send_hi_pri(struct sk_buff *skb)
{}

/* Netdev handler for data transmission.
 */
static netdev_tx_t
qtnf_netdev_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev)
{}

/* Netdev handler for transmission timeout.
 */
static void qtnf_netdev_tx_timeout(struct net_device *ndev, unsigned int txqueue)
{}

static int qtnf_netdev_set_mac_address(struct net_device *ndev, void *addr)
{}

static int qtnf_netdev_port_parent_id(struct net_device *ndev,
				      struct netdev_phys_item_id *ppid)
{}

/* Network device ops handlers */
const struct net_device_ops qtnf_netdev_ops =;

static int qtnf_mac_init_single_band(struct wiphy *wiphy,
				     struct qtnf_wmac *mac,
				     enum nl80211_band band)
{}

static int qtnf_mac_init_bands(struct qtnf_wmac *mac)
{}

struct qtnf_vif *qtnf_mac_get_free_vif(struct qtnf_wmac *mac)
{}

struct qtnf_vif *qtnf_mac_get_base_vif(struct qtnf_wmac *mac)
{}

void qtnf_mac_iface_comb_free(struct qtnf_wmac *mac)
{}

void qtnf_mac_ext_caps_free(struct qtnf_wmac *mac)
{}

static void qtnf_vif_reset_handler(struct work_struct *work)
{}

static void qtnf_mac_init_primary_intf(struct qtnf_wmac *mac)
{}

static void qtnf_mac_scan_finish(struct qtnf_wmac *mac, bool aborted)
{}

void qtnf_scan_done(struct qtnf_wmac *mac, bool aborted)
{}

static void qtnf_mac_scan_timeout(struct work_struct *work)
{}

static void qtnf_vif_send_data_high_pri(struct work_struct *work)
{}

static struct qtnf_wmac *qtnf_core_mac_alloc(struct qtnf_bus *bus,
					     unsigned int macid)
{}

static const struct ethtool_ops qtnf_ethtool_ops =;

int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
			 const char *name, unsigned char name_assign_type)
{}

static void qtnf_core_mac_detach(struct qtnf_bus *bus, unsigned int macid)
{}

static int qtnf_core_mac_attach(struct qtnf_bus *bus, unsigned int macid)
{}

bool qtnf_netdev_is_qtn(const struct net_device *ndev)
{}

static int qtnf_check_br_ports(struct net_device *dev,
			       struct netdev_nested_priv *priv)
{}

static int qtnf_core_netdevice_event(struct notifier_block *nb,
				     unsigned long event, void *ptr)
{}

int qtnf_core_attach(struct qtnf_bus *bus)
{}
EXPORT_SYMBOL_GPL();

void qtnf_core_detach(struct qtnf_bus *bus)
{}
EXPORT_SYMBOL_GPL();

static inline int qtnf_is_frame_meta_magic_valid(struct qtnf_frame_meta_info *m)
{}

struct net_device *qtnf_classify_skb(struct qtnf_bus *bus, struct sk_buff *skb)
{}
EXPORT_SYMBOL_GPL();

void qtnf_wake_all_queues(struct net_device *ndev)
{}
EXPORT_SYMBOL_GPL();

struct dentry *qtnf_get_debugfs_dir(void)
{}
EXPORT_SYMBOL_GPL();

static int __init qtnf_core_register(void)
{}

static void __exit qtnf_core_exit(void)
{}

module_init();
module_exit(qtnf_core_exit);

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();