#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/device.h>
#include <linux/firmware.h>
#include <linux/usb.h>
#include <net/bluetooth/bluetooth.h>
#define VERSION …
static const struct usb_device_id bcm203x_table[] = …;
MODULE_DEVICE_TABLE(usb, bcm203x_table);
#define BCM203X_ERROR …
#define BCM203X_RESET …
#define BCM203X_LOAD_MINIDRV …
#define BCM203X_SELECT_MEMORY …
#define BCM203X_CHECK_MEMORY …
#define BCM203X_LOAD_FIRMWARE …
#define BCM203X_CHECK_FIRMWARE …
#define BCM203X_IN_EP …
#define BCM203X_OUT_EP …
struct bcm203x_data { … };
static void bcm203x_complete(struct urb *urb)
{ … }
static void bcm203x_work(struct work_struct *work)
{ … }
static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id *id)
{ … }
static void bcm203x_disconnect(struct usb_interface *intf)
{ … }
static struct usb_driver bcm203x_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;
MODULE_FIRMWARE(…) …;
MODULE_FIRMWARE(…) …;