#include <linux/usb.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/firmware.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
#include <linux/crc32.h>
#include <linux/module.h>
#include <net/mac80211.h>
#include "p54.h"
#include "lmac.h"
#include "p54usb.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;
MODULE_FIRMWARE(…) …;
MODULE_FIRMWARE(…) …;
static struct usb_driver p54u_driver;
static const struct usb_device_id p54u_table[] = …;
MODULE_DEVICE_TABLE(usb, p54u_table);
static const struct { … } p54u_fwlist[__NUM_P54U_HWTYPES] = …;
static void p54u_rx_cb(struct urb *urb)
{ … }
static void p54u_tx_cb(struct urb *urb)
{ … }
static void p54u_tx_dummy_cb(struct urb *urb) { … }
static void p54u_free_urbs(struct ieee80211_hw *dev)
{ … }
static void p54u_stop(struct ieee80211_hw *dev)
{ … }
static int p54u_init_urbs(struct ieee80211_hw *dev)
{ … }
static int p54u_open(struct ieee80211_hw *dev)
{ … }
static __le32 p54u_lm87_chksum(const __le32 *data, size_t length)
{ … }
static void p54u_tx_lm87(struct ieee80211_hw *dev, struct sk_buff *skb)
{ … }
static void p54u_tx_net2280(struct ieee80211_hw *dev, struct sk_buff *skb)
{ … }
static int p54u_write(struct p54u_priv *priv,
struct net2280_reg_write *buf,
enum net2280_op_type type,
__le32 addr, __le32 val)
{ … }
static int p54u_read(struct p54u_priv *priv, void *buf,
enum net2280_op_type type,
__le32 addr, __le32 *val)
{ … }
static int p54u_bulk_msg(struct p54u_priv *priv, unsigned int ep,
void *data, size_t len)
{ … }
static int p54u_device_reset(struct ieee80211_hw *dev)
{ … }
static const char p54u_romboot_3887[] = …;
static int p54u_firmware_reset_3887(struct ieee80211_hw *dev)
{ … }
static const char p54u_firmware_upload_3887[] = …;
static int p54u_upload_firmware_3887(struct ieee80211_hw *dev)
{ … }
static int p54u_upload_firmware_net2280(struct ieee80211_hw *dev)
{ … }
static int p54_find_type(struct p54u_priv *priv)
{ … }
static int p54u_start_ops(struct p54u_priv *priv)
{ … }
static void p54u_load_firmware_cb(const struct firmware *firmware,
void *context)
{ … }
static int p54u_load_firmware(struct ieee80211_hw *dev,
struct usb_interface *intf)
{ … }
static int p54u_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void p54u_disconnect(struct usb_interface *intf)
{ … }
static int p54u_pre_reset(struct usb_interface *intf)
{ … }
static int p54u_resume(struct usb_interface *intf)
{ … }
static int p54u_post_reset(struct usb_interface *intf)
{ … }
#ifdef CONFIG_PM
static int p54u_suspend(struct usb_interface *intf, pm_message_t message)
{ … }
#endif
static struct usb_driver p54u_driver = …;
module_usb_driver(…) …;