Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _SCSI_SCSI_DRIVER_H |
2 | #define _SCSI_SCSI_DRIVER_H | |
3 | ||
4 | #include <linux/device.h> | |
5 | ||
6 | struct module; | |
7 | struct scsi_cmnd; | |
8 | ||
9 | ||
10 | struct scsi_driver { | |
11 | struct module *owner; | |
12 | struct device_driver gendrv; | |
13 | ||
14 | int (*init_command)(struct scsi_cmnd *); | |
15 | void (*rescan)(struct device *); | |
16 | int (*issue_flush)(struct device *, sector_t *); | |
17 | int (*prepare_flush)(struct request_queue *, struct request *); | |
18 | void (*end_flush)(struct request_queue *, struct request *); | |
19 | }; | |
20 | #define to_scsi_driver(drv) \ | |
21 | container_of((drv), struct scsi_driver, gendrv) | |
22 | ||
23 | extern int scsi_register_driver(struct device_driver *); | |
24 | #define scsi_unregister_driver(drv) \ | |
25 | driver_unregister(drv); | |
26 | ||
27 | extern int scsi_register_interface(struct class_interface *); | |
28 | #define scsi_unregister_interface(intf) \ | |
29 | class_interface_unregister(intf) | |
30 | ||
31 | #endif /* _SCSI_SCSI_DRIVER_H */ |