#include <linux/module.h>
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_eh.h>
#include <linux/ata.h>
#include "usb.h"
#include "protocol.h"
#include "scsiglue.h"
#include "debug.h"
#define DRV_NAME …
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);
#define UNUSUAL_DEV …
static struct usb_device_id cypress_usb_ids[] = …;
MODULE_DEVICE_TABLE(usb, cypress_usb_ids);
#undef UNUSUAL_DEV
#define UNUSUAL_DEV …
static struct us_unusual_dev cypress_unusual_dev_list[] = …;
#undef UNUSUAL_DEV
static void cypress_atacb_passthrough(struct scsi_cmnd *srb, struct us_data *us)
{ … }
static struct scsi_host_template cypress_host_template;
static int cypress_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static struct usb_driver cypress_driver = …;
module_usb_stor_driver(cypress_driver, cypress_host_template, DRV_NAME);