1 struct SHT usb_stor_host_template
= {
2 /* basic userland interface stuff */
4 .proc_name
= "usb-storage",
5 .proc_info
= usb_storage_proc_info
,
7 .info
= usb_storage_info
,
10 /* old-style detect and release */
14 /* command interface -- queued only */
16 .queuecommand
= usb_storage_queuecommand
,
18 /* error and abort handlers */
19 .eh_abort_handler
= usb_storage_command_abort
,
20 .eh_device_reset_handler
= usb_storage_device_reset
,
21 .eh_bus_reset_handler
= usb_storage_bus_reset
,
22 .eh_host_reset_handler
= NULL
,
23 .eh_strategy_handler
= NULL
,
25 /* queue commands only, only one command per LUN */
29 /* unknown initiator id */
32 /* no limit on commands */
35 /* pre- and post- device scan functions */
37 .slave_configure
= NULL
,
38 .slave_destroy
= NULL
,
40 /* lots of sg segments can be handled */
41 .sg_tablesize
= SG_ALL
,
43 /* use 32-bit address space for DMA */
44 .unchecked_isa_dma
= FALSE
,
47 /* merge commands... this seems to help performance, but
48 * periodically someone should test to see which setting is more
51 .use_clustering
= TRUE
,
56 /* sorry, no BIOS to help us */
59 /* module management */
63 /* For a device that is "Not Ready" */
64 unsigned char usb_stor_sense_notready
[18] = {
65 [0] = 0x70, /* current error */
66 [2] = 0x02, /* not ready */
67 [7] = 0x0a, /* additional length */
68 [12] = 0x04, /* not ready */
69 [13] = 0x03 /* manual intervention */