#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/usb/input.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#define USB_VENDOR_ID_ACECAD …
#define USB_DEVICE_ID_FLAIR …
#define USB_DEVICE_ID_302 …
struct usb_acecad { … };
static void usb_acecad_irq(struct urb *urb)
{ … }
static int usb_acecad_open(struct input_dev *dev)
{ … }
static void usb_acecad_close(struct input_dev *dev)
{ … }
static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_id *id)
{ … }
static void usb_acecad_disconnect(struct usb_interface *intf)
{ … }
static const struct usb_device_id usb_acecad_id_table[] = …;
MODULE_DEVICE_TABLE(usb, usb_acecad_id_table);
static struct usb_driver usb_acecad_driver = …;
module_usb_driver(…) …;