Lines Matching defs:sdev
67 static int ioctl_internal_command(struct scsi_device *sdev, char *cmd,
76 SCSI_LOG_IOCTL(1, sdev_printk(KERN_INFO, sdev,
79 result = scsi_execute_cmd(sdev, cmd, REQ_OP_DRV_IN, NULL, 0, timeout,
82 SCSI_LOG_IOCTL(2, sdev_printk(KERN_INFO, sdev,
91 sdev->lockable = 0;
93 sdev_printk(KERN_INFO, sdev,
100 if (sdev->removable)
104 if (sdev->removable) {
105 sdev->changed = 1;
111 sdev_printk(KERN_INFO, sdev,
114 scsi_print_sense_hdr(sdev, NULL, &sshdr);
119 SCSI_LOG_IOCTL(2, sdev_printk(KERN_INFO, sdev,
124 int scsi_set_medium_removal(struct scsi_device *sdev, char state)
129 if (!sdev->removable || !sdev->lockable)
139 ret = ioctl_internal_command(sdev, scsi_cmd,
142 sdev->locked = (state == SCSI_REMOVAL_PREVENT);
157 static int scsi_ioctl_get_pci(struct scsi_device *sdev, void __user *arg)
159 struct device *dev = scsi_get_device(sdev->host);
179 static int sg_set_timeout(struct scsi_device *sdev, int __user *p)
184 sdev->sg_timeout = clock_t_to_jiffies(timeout);
189 static int sg_get_reserved_size(struct scsi_device *sdev, int __user *p)
191 int val = min(sdev->sg_reserved_size,
192 queue_max_bytes(sdev->request_queue));
197 static int sg_set_reserved_size(struct scsi_device *sdev, int __user *p)
207 sdev->sg_reserved_size = min_t(unsigned int, size,
208 queue_max_bytes(sdev->request_queue));
221 static int scsi_get_idlun(struct scsi_device *sdev, void __user *argp)
224 .dev_id = (sdev->id & 0xff) +
225 ((sdev->lun & 0xff) << 8) +
226 ((sdev->channel & 0xff) << 16) +
227 ((sdev->host->host_no & 0xff) << 24),
228 .host_unique_id = sdev->host->unique_id
235 static int scsi_send_start_stop(struct scsi_device *sdev, int data)
241 return ioctl_internal_command(sdev, cdb, START_STOP_TIMEOUT,
348 static int scsi_fill_sghdr_rq(struct scsi_device *sdev, struct request *rq,
363 rq->timeout = sdev->sg_timeout;
410 static int sg_io(struct scsi_device *sdev, struct sg_io_hdr *hdr,
424 if (hdr->dxfer_len > (queue_max_hw_sectors(sdev->request_queue) << 9))
441 rq = scsi_alloc_request(sdev->request_queue, writing ?
452 ret = scsi_fill_sghdr_rq(sdev, rq, hdr, open_for_write);
779 static int scsi_cdrom_send_packet(struct scsi_device *sdev, bool open_for_write,
820 err = sg_io(sdev, &hdr, open_for_write);
835 static int scsi_ioctl_sg_io(struct scsi_device *sdev, bool open_for_write,
844 error = sg_io(sdev, &hdr, open_for_write);
854 * @sdev: scsi device receiving ioctl
863 int scsi_ioctl(struct scsi_device *sdev, bool open_for_write, int cmd,
866 struct request_queue *q = sdev->request_queue;
889 return sg_set_timeout(sdev, arg);
891 return jiffies_to_clock_t(sdev->sg_timeout);
893 return sg_get_reserved_size(sdev, arg);
895 return sg_set_reserved_size(sdev, arg);
899 return scsi_ioctl_sg_io(sdev, open_for_write, arg);
903 return scsi_cdrom_send_packet(sdev, open_for_write, arg);
905 return scsi_send_start_stop(sdev, 3);
907 return scsi_send_start_stop(sdev, 2);
909 return scsi_get_idlun(sdev, arg);
911 return put_user(sdev->host->host_no, (int __user *)arg);
913 return ioctl_probe(sdev->host, arg);
915 return scsi_set_medium_removal(sdev, SCSI_REMOVAL_PREVENT);
917 return scsi_set_medium_removal(sdev, SCSI_REMOVAL_ALLOW);
919 return scsi_test_unit_ready(sdev, IOCTL_NORMAL_TIMEOUT,
922 return scsi_send_start_stop(sdev, 1);
924 return scsi_send_start_stop(sdev, 0);
926 return scsi_ioctl_get_pci(sdev, arg);
928 return scsi_ioctl_reset(sdev, arg);
933 if (!sdev->host->hostt->compat_ioctl)
935 return sdev->host->hostt->compat_ioctl(sdev, cmd, arg);
938 if (!sdev->host->hostt->ioctl)
940 return sdev->host->hostt->ioctl(sdev, cmd, arg);
947 int scsi_ioctl_block_when_processing_errors(struct scsi_device *sdev, int cmd,
951 if (scsi_host_in_recovery(sdev->host))
954 if (!scsi_block_when_processing_errors(sdev))