1 struct SHT usb_stor_host_template
= {
2 /* basic userland interface stuff */
4 .proc_name
= "usb-storage",
5 .proc_info2
= usb_storage_proc_info2
,
6 .proc_info
= usb_storage_proc_info
,
8 .info
= usb_storage_info
,
11 /* old-style detect and release */
15 /* command interface -- queued only */
17 .queuecommand
= usb_storage_queuecommand
,
19 /* error and abort handlers */
20 .eh_abort_handler
= usb_storage_command_abort
,
21 .eh_device_reset_handler
= usb_storage_device_reset
,
22 .eh_bus_reset_handler
= usb_storage_bus_reset
,
23 .eh_host_reset_handler
= NULL
,
24 .eh_strategy_handler
= NULL
,
26 /* queue commands only, only one command per LUN */
30 /* unknown initiator id */
33 /* no limit on commands */
36 /* pre- and post- device scan functions */
38 .slave_configure
= NULL
,
39 .slave_destroy
= NULL
,
41 /* lots of sg segments can be handled */
42 .sg_tablesize
= SG_ALL
,
44 /* use 32-bit address space for DMA */
45 .unchecked_isa_dma
= FALSE
,
48 /* merge commands... this seems to help performance, but
49 * periodically someone should test to see which setting is more
52 .use_clustering
= TRUE
,
57 /* sorry, no BIOS to help us */
60 /* module management */
64 /* For a device that is "Not Ready" */
65 unsigned char usb_stor_sense_notready
[18] = {
66 [0] = 0x70, /* current error */
67 [2] = 0x02, /* not ready */
68 [7] = 0x0a, /* additional length */
69 [12] = 0x04, /* not ready */
70 [13] = 0x03 /* manual intervention */
74 void usb_storage_proc_info(int i
) {
78 void usb_storage_proc_info2(int i
) {
83 void not_usb_storage_proc_info(int i
) {