Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.git] / include / scsi / scsi_device.h
index 8990e580b278bd5829a1d15317de3f2afa494c0f..080c7ce9bae8892a43838043d986282a1385283a 100644 (file)
@@ -315,6 +315,7 @@ extern void scsi_remove_device(struct scsi_device *);
 extern int scsi_unregister_device_handler(struct scsi_device_handler *scsi_dh);
 void scsi_attach_vpd(struct scsi_device *sdev);
 
+extern struct scsi_device *scsi_device_from_queue(struct request_queue *q);
 extern int scsi_device_get(struct scsi_device *);
 extern void scsi_device_put(struct scsi_device *);
 extern struct scsi_device *scsi_device_lookup(struct Scsi_Host *,
@@ -409,19 +410,16 @@ extern int scsi_is_target_device(const struct device *);
 extern void scsi_sanitize_inquiry_string(unsigned char *s, int len);
 extern int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd,
                        int data_direction, void *buffer, unsigned bufflen,
-                       unsigned char *sense, int timeout, int retries,
-                       u64 flags, int *resid);
-extern int scsi_execute_req_flags(struct scsi_device *sdev,
-       const unsigned char *cmd, int data_direction, void *buffer,
-       unsigned bufflen, struct scsi_sense_hdr *sshdr, int timeout,
-       int retries, int *resid, u64 flags, req_flags_t rq_flags);
+                       unsigned char *sense, struct scsi_sense_hdr *sshdr,
+                       int timeout, int retries, u64 flags,
+                       req_flags_t rq_flags, int *resid);
 static inline int scsi_execute_req(struct scsi_device *sdev,
        const unsigned char *cmd, int data_direction, void *buffer,
        unsigned bufflen, struct scsi_sense_hdr *sshdr, int timeout,
        int retries, int *resid)
 {
-       return scsi_execute_req_flags(sdev, cmd, data_direction, buffer,
-               bufflen, sshdr, timeout, retries, resid, 0, 0);
+       return scsi_execute(sdev, cmd, data_direction, buffer,
+               bufflen, NULL, sshdr, timeout, retries,  0, 0, resid);
 }
 extern void sdev_disable_disk_events(struct scsi_device *sdev);
 extern void sdev_enable_disk_events(struct scsi_device *sdev);
@@ -474,6 +472,10 @@ static inline int scsi_device_created(struct scsi_device *sdev)
                sdev->sdev_state == SDEV_CREATED_BLOCK;
 }
 
+int scsi_internal_device_block(struct scsi_device *sdev, bool wait);
+int scsi_internal_device_unblock(struct scsi_device *sdev,
+                                enum scsi_device_state new_state);
+
 /* accessor functions for the SCSI parameters */
 static inline int scsi_device_sync(struct scsi_device *sdev)
 {