#include <linux/module.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/firmware.h>
#include <linux/etherdevice.h>
#include <linux/device.h>
#include <net/mac80211.h>
#include "carl9170.h"
#include "cmd.h"
#include "hw.h"
#include "fwcmd.h"
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_FIRMWARE(…);
MODULE_ALIAS(…) …;
MODULE_ALIAS(…) …;
static const struct usb_device_id carl9170_usb_ids[] = …;
MODULE_DEVICE_TABLE(usb, carl9170_usb_ids);
static struct usb_driver carl9170_driver;
static void carl9170_usb_submit_data_urb(struct ar9170 *ar)
{ … }
static void carl9170_usb_tx_data_complete(struct urb *urb)
{ … }
static int carl9170_usb_submit_cmd_urb(struct ar9170 *ar)
{ … }
static void carl9170_usb_cmd_complete(struct urb *urb)
{ … }
static void carl9170_usb_rx_irq_complete(struct urb *urb)
{ … }
static int carl9170_usb_submit_rx_urb(struct ar9170 *ar, gfp_t gfp)
{ … }
static void carl9170_usb_rx_work(struct ar9170 *ar)
{ … }
void carl9170_usb_handle_tx_err(struct ar9170 *ar)
{ … }
static void carl9170_usb_tasklet(struct tasklet_struct *t)
{ … }
static void carl9170_usb_rx_complete(struct urb *urb)
{ … }
static struct urb *carl9170_usb_alloc_rx_urb(struct ar9170 *ar, gfp_t gfp)
{ … }
static int carl9170_usb_send_rx_irq_urb(struct ar9170 *ar)
{ … }
static int carl9170_usb_init_rx_bulk_urbs(struct ar9170 *ar)
{ … }
static int carl9170_usb_flush(struct ar9170 *ar)
{ … }
static void carl9170_usb_cancel_urbs(struct ar9170 *ar)
{ … }
int __carl9170_exec_cmd(struct ar9170 *ar, struct carl9170_cmd *cmd,
const bool free_buf)
{ … }
int carl9170_exec_cmd(struct ar9170 *ar, const enum carl9170_cmd_oids cmd,
unsigned int plen, void *payload, unsigned int outlen, void *out)
{ … }
void carl9170_usb_tx(struct ar9170 *ar, struct sk_buff *skb)
{ … }
static void carl9170_release_firmware(struct ar9170 *ar)
{ … }
void carl9170_usb_stop(struct ar9170 *ar)
{ … }
int carl9170_usb_open(struct ar9170 *ar)
{ … }
static int carl9170_usb_load_firmware(struct ar9170 *ar)
{ … }
int carl9170_usb_restart(struct ar9170 *ar)
{ … }
void carl9170_usb_reset(struct ar9170 *ar)
{ … }
static int carl9170_usb_init_device(struct ar9170 *ar)
{ … }
static void carl9170_usb_firmware_failed(struct ar9170 *ar)
{ … }
static void carl9170_usb_firmware_finish(struct ar9170 *ar)
{ … }
static void carl9170_usb_firmware_step2(const struct firmware *fw,
void *context)
{ … }
static int carl9170_usb_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void carl9170_usb_disconnect(struct usb_interface *intf)
{ … }
#ifdef CONFIG_PM
static int carl9170_usb_suspend(struct usb_interface *intf,
pm_message_t message)
{ … }
static int carl9170_usb_resume(struct usb_interface *intf)
{ … }
#endif
static struct usb_driver carl9170_driver = …;
module_usb_driver(…) …;