#include <linux/kernel.h>
#include <linux/input.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/usb/input.h>
#include "usb.h"
#include "debug.h"
#include "scsiglue.h"
#define DRV_NAME …
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);
#define ONETOUCH_PKT_LEN …
#define ONETOUCH_BUTTON …
static int onetouch_connect_input(struct us_data *ss);
static void onetouch_release_input(void *onetouch_);
struct usb_onetouch { … };
#define UNUSUAL_DEV …
static struct usb_device_id onetouch_usb_ids[] = …;
MODULE_DEVICE_TABLE(usb, onetouch_usb_ids);
#undef UNUSUAL_DEV
#define UNUSUAL_DEV …
static struct us_unusual_dev onetouch_unusual_dev_list[] = …;
#undef UNUSUAL_DEV
static void usb_onetouch_irq(struct urb *urb)
{ … }
static int usb_onetouch_open(struct input_dev *dev)
{ … }
static void usb_onetouch_close(struct input_dev *dev)
{ … }
#ifdef CONFIG_PM
static void usb_onetouch_pm_hook(struct us_data *us, int action)
{ … }
#endif
static int onetouch_connect_input(struct us_data *ss)
{ … }
static void onetouch_release_input(void *onetouch_)
{ … }
static struct scsi_host_template onetouch_host_template;
static int onetouch_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static struct usb_driver onetouch_driver = …;
module_usb_stor_driver(onetouch_driver, onetouch_host_template, DRV_NAME);