#include <linux/slab.h>
#include <linux/module.h>
#include <scsi/scsi.h>
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_eh.h>
#include <scsi/scsi_dh.h>
#define HP_SW_NAME …
#define HP_SW_TIMEOUT …
#define HP_SW_RETRIES …
#define HP_SW_PATH_UNINITIALIZED …
#define HP_SW_PATH_ACTIVE …
#define HP_SW_PATH_PASSIVE …
struct hp_sw_dh_data { … };
static int hp_sw_start_stop(struct hp_sw_dh_data *);
static int tur_done(struct scsi_device *sdev, struct hp_sw_dh_data *h,
struct scsi_sense_hdr *sshdr)
{ … }
static int hp_sw_tur(struct scsi_device *sdev, struct hp_sw_dh_data *h)
{ … }
static int hp_sw_start_stop(struct hp_sw_dh_data *h)
{ … }
static blk_status_t hp_sw_prep_fn(struct scsi_device *sdev, struct request *req)
{ … }
static int hp_sw_activate(struct scsi_device *sdev,
activate_complete fn, void *data)
{ … }
static int hp_sw_bus_attach(struct scsi_device *sdev)
{ … }
static void hp_sw_bus_detach( struct scsi_device *sdev )
{ … }
static struct scsi_device_handler hp_sw_dh = …;
static int __init hp_sw_init(void)
{ … }
static void __exit hp_sw_exit(void)
{ … }
module_init(…) …;
module_exit(hp_sw_exit);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;