Lines Matching defs:sdev
89 static int ioctl_internal_command(struct scsi_device *sdev, char *cmd,
95 SCSI_LOG_IOCTL(1, sdev_printk(KERN_INFO, sdev,
98 result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL, 0,
101 SCSI_LOG_IOCTL(2, sdev_printk(KERN_INFO, sdev,
109 sdev->lockable = 0;
111 sdev_printk(KERN_INFO, sdev,
118 if (sdev->removable)
122 if (sdev->removable) {
123 sdev->changed = 1;
129 sdev_printk(KERN_INFO, sdev,
132 scsi_print_sense_hdr(sdev, NULL, &sshdr);
137 SCSI_LOG_IOCTL(2, sdev_printk(KERN_INFO, sdev,
142 int scsi_set_medium_removal(struct scsi_device *sdev, char state)
147 if (!sdev->removable || !sdev->lockable)
157 ret = ioctl_internal_command(sdev, scsi_cmd,
160 sdev->locked = (state == SCSI_REMOVAL_PREVENT);
175 static int scsi_ioctl_get_pci(struct scsi_device *sdev, void __user *arg)
177 struct device *dev = scsi_get_device(sdev->host);
192 static int scsi_ioctl_common(struct scsi_device *sdev, int cmd, void __user *arg)
216 .dev_id = (sdev->id & 0xff)
217 + ((sdev->lun & 0xff) << 8)
218 + ((sdev->channel & 0xff) << 16)
219 + ((sdev->host->host_no & 0xff) << 24),
220 .host_unique_id = sdev->host->unique_id
227 return put_user(sdev->host->host_no, (int __user *)arg);
229 return ioctl_probe(sdev->host, arg);
233 return sg_scsi_ioctl(sdev->request_queue, NULL, 0, arg);
235 return scsi_set_medium_removal(sdev, SCSI_REMOVAL_PREVENT);
237 return scsi_set_medium_removal(sdev, SCSI_REMOVAL_ALLOW);
239 return scsi_test_unit_ready(sdev, IOCTL_NORMAL_TIMEOUT,
246 return ioctl_internal_command(sdev, scsi_cmd,
253 return ioctl_internal_command(sdev, scsi_cmd,
256 return scsi_ioctl_get_pci(sdev, arg);
258 return scsi_ioctl_reset(sdev, arg);
265 * @sdev: scsi device receiving ioctl
273 int scsi_ioctl(struct scsi_device *sdev, int cmd, void __user *arg)
275 int ret = scsi_ioctl_common(sdev, cmd, arg);
280 if (sdev->host->hostt->ioctl)
281 return sdev->host->hostt->ioctl(sdev, cmd, arg);
288 int scsi_compat_ioctl(struct scsi_device *sdev, int cmd, void __user *arg)
290 int ret = scsi_ioctl_common(sdev, cmd, arg);
295 if (sdev->host->hostt->compat_ioctl)
296 return sdev->host->hostt->compat_ioctl(sdev, cmd, arg);
306 int scsi_ioctl_block_when_processing_errors(struct scsi_device *sdev, int cmd,
310 if (scsi_host_in_recovery(sdev->host))
313 if (!scsi_block_when_processing_errors(sdev))