linux/drivers/staging/vt6656/main_usb.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
 * All rights reserved.
 *
 * Purpose: driver entry for initial, open, close, tx and rx.
 *
 * Author: Lyndon Chen
 *
 * Date: Dec 8, 2005
 *
 * Functions:
 *
 *   vt6656_probe - module initial (insmod) driver entry
 *   vnt_free_tx_bufs - free tx buffer function
 *   vnt_init_registers- initial MAC & BBP & RF internal registers.
 *
 * Revision History:
 */
#undef __NO_VERSION__

#include <linux/bits.h>
#include <linux/etherdevice.h>
#include <linux/file.h>
#include <linux/kernel.h>
#include "device.h"
#include "card.h"
#include "baseband.h"
#include "mac.h"
#include "power.h"
#include "wcmd.h"
#include "rxtx.h"
#include "rf.h"
#include "usbpipe.h"
#include "channel.h"

/*
 * define module options
 */

/* version information */
#define DRIVER_AUTHOR
MODULE_AUTHOR();
MODULE_LICENSE();
MODULE_DESCRIPTION();

#define RX_DESC_DEF0
static int vnt_rx_buffers =;
module_param_named(rx_buffers, vnt_rx_buffers, int, 0644);
MODULE_PARM_DESC();

#define TX_DESC_DEF0
static int vnt_tx_buffers =;
module_param_named(tx_buffers, vnt_tx_buffers, int, 0644);
MODULE_PARM_DESC();

#define RTS_THRESH_DEF
#define FRAG_THRESH_DEF

/* BasebandType[] baseband type selected
 * 0: indicate 802.11a type
 * 1: indicate 802.11b type
 * 2: indicate 802.11g type
 */

#define BBP_TYPE_DEF

/*
 * Static vars definitions
 */

static const struct usb_device_id vt6656_table[] =;

static void vnt_set_options(struct vnt_private *priv)
{}

static int vnt_download_firmware(struct vnt_private *priv)
{}

static int vnt_firmware_branch_to_sram(struct vnt_private *priv)
{}

static int vnt_check_firmware_version(struct vnt_private *priv)
{}

/*
 * initialization of MAC & BBP registers
 */
static int vnt_init_registers(struct vnt_private *priv)
{}

static void vnt_free_tx_bufs(struct vnt_private *priv)
{}

static void vnt_free_rx_bufs(struct vnt_private *priv)
{}

static void vnt_free_int_bufs(struct vnt_private *priv)
{}

static int vnt_alloc_bufs(struct vnt_private *priv)
{}

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

static int vnt_start(struct ieee80211_hw *hw)
{}

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

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

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

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

static void vnt_bss_info_changed(struct ieee80211_hw *hw,
				 struct ieee80211_vif *vif,
				 struct ieee80211_bss_conf *conf, u64 changed)
{}

static u64 vnt_prepare_multicast(struct ieee80211_hw *hw,
				 struct netdev_hw_addr_list *mc_list)
{}

static void vnt_configure(struct ieee80211_hw *hw,
			  unsigned int changed_flags,
			  unsigned int *total_flags, u64 multicast)
{}

static int vnt_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
		       struct ieee80211_vif *vif, struct ieee80211_sta *sta,
		       struct ieee80211_key_conf *key)
{}

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

static u64 vnt_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
{}

static void vnt_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
			u64 tsf)
{}

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

static const struct ieee80211_ops vnt_mac_ops =;

int vnt_init(struct vnt_private *priv)
{}

static int
vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id)
{}

static void vt6656_disconnect(struct usb_interface *intf)
{}

#ifdef CONFIG_PM

static int vt6656_suspend(struct usb_interface *intf, pm_message_t message)
{}

static int vt6656_resume(struct usb_interface *intf)
{}

#endif /* CONFIG_PM */

MODULE_DEVICE_TABLE();

static struct usb_driver vt6656_driver =;

module_usb_driver();

MODULE_FIRMWARE();