#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/firmware.h>
#include <linux/usb.h>
#include <asm/unaligned.h>
#include <net/bluetooth/bluetooth.h>
#define VERSION …
#define ATH3K_FIRMWARE …
#define ATH3K_DNLOAD …
#define ATH3K_GETSTATE …
#define ATH3K_SET_NORMAL_MODE …
#define ATH3K_GETVERSION …
#define USB_REG_SWITCH_VID_PID …
#define ATH3K_MODE_MASK …
#define ATH3K_NORMAL_MODE …
#define ATH3K_PATCH_UPDATE …
#define ATH3K_SYSCFG_UPDATE …
#define ATH3K_XTAL_FREQ_26M …
#define ATH3K_XTAL_FREQ_40M …
#define ATH3K_XTAL_FREQ_19P2 …
#define ATH3K_NAME_LEN …
struct ath3k_version { … } __packed;
static const struct usb_device_id ath3k_table[] = …;
MODULE_DEVICE_TABLE(usb, ath3k_table);
#define BTUSB_ATH3012 …
static const struct usb_device_id ath3k_blist_tbl[] = …;
static inline void ath3k_log_failed_loading(int err, int len, int size,
int count)
{ … }
#define USB_REQ_DFU_DNLOAD …
#define BULK_SIZE …
#define FW_HDR_SIZE …
#define TIMEGAP_USEC_MIN …
#define TIMEGAP_USEC_MAX …
static int ath3k_load_firmware(struct usb_device *udev,
const struct firmware *firmware)
{ … }
static int ath3k_get_state(struct usb_device *udev, unsigned char *state)
{ … }
static int ath3k_get_version(struct usb_device *udev,
struct ath3k_version *version)
{ … }
static int ath3k_load_fwfile(struct usb_device *udev,
const struct firmware *firmware)
{ … }
static void ath3k_switch_pid(struct usb_device *udev)
{ … }
static int ath3k_set_normal_mode(struct usb_device *udev)
{ … }
static int ath3k_load_patch(struct usb_device *udev)
{ … }
static int ath3k_load_syscfg(struct usb_device *udev)
{ … }
static int ath3k_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static void ath3k_disconnect(struct usb_interface *intf)
{ … }
static struct usb_driver ath3k_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;
MODULE_FIRMWARE(…);