Lines Matching refs:device
94 static int sg_add_device(struct device *, struct class_interface *);
95 static void sg_remove_device(struct device *, struct class_interface *);
99 file descriptor list for device */
136 struct list_head sfd_siblings; /* protected by device's sfd_lock */
137 struct sg_device *parentdp; /* owning device */
157 typedef struct sg_device { /* holds the state of each scsi generic device */
158 struct scsi_device *device;
162 u32 index; /* device index number */
165 atomic_t detaching; /* 0->device usable, 1->device detaching */
205 sdev_prefix_printk(prefix, (sdp)->device, \
214 * userspace (e.g. if a process with access to such a device passes a file
239 if (sfp->parentdp->device->type == TYPE_SCANNER)
303 /* Prevent the device driver from vanishing while we sleep */
304 retval = scsi_device_get(sdp->device);
308 retval = scsi_autopm_get_device(sdp->device);
316 scsi_block_when_processing_errors(sdp->device))) {
318 /* we are in error recovery for this device */
347 q = sdp->device->request_queue;
373 scsi_autopm_put_device(sdp->device);
375 scsi_device_put(sdp->device);
392 scsi_autopm_put_device(sdp->device);
620 scsi_block_when_processing_errors(sdp->device)))
829 blk_execute_rq_nowait(sdp->device->request_queue, sdp->disk,
931 if (!scsi_block_when_processing_errors(sdp->device))
973 return put_user((int) sdp->device->host->unchecked_isa_dma, ip);
981 v.host_no = sdp->device->host->host_no;
982 v.channel = sdp->device->channel;
983 v.scsi_id = sdp->device->id;
984 v.lun = sdp->device->lun;
985 v.scsi_type = sdp->device->type;
986 v.h_cmd_per_lun = sdp->device->host->cmd_per_lun;
987 v.d_queue_depth = sdp->device->queue_depth;
1027 max_sectors_bytes(sdp->device->request_queue));
1043 max_sectors_bytes(sdp->device->request_queue));
1073 val = (sdp->device ? 1 : 0);
1100 return put_user(sdp->device->host->hostt->emulated, ip);
1104 return sg_scsi_ioctl(sdp->device->request_queue, NULL, filp->f_mode, p);
1112 return put_user(max_sectors_bytes(sdp->device->request_queue),
1115 return blk_trace_setup(sdp->device->request_queue,
1120 return blk_trace_startstop(sdp->device->request_queue, 1);
1122 return blk_trace_startstop(sdp->device->request_queue, 0);
1124 return blk_trace_remove(sdp->device->request_queue);
1139 result = scsi_ioctl_block_when_processing_errors(sdp->device,
1162 return scsi_ioctl(sdp->device, cmd_in, p);
1180 return scsi_compat_ioctl(sdp->device, cmd_in, p);
1354 pr_info("%s: device detaching\n", __func__);
1378 __scsi_print_sense(sdp->device, __func__, sense,
1386 && sdp->device->removable) {
1388 /* may be used if there are filesystems using this device */
1389 sdp->device->changed = 1;
1474 "Unable to attach sg device type=%d, minor number exceeds %d\n",
1491 sdp->device = scsidp;
1514 sg_add_device(struct device *cl_dev, struct class_interface *cl_intf)
1552 struct device *sg_class_member;
1597 /* CAUTION! Note that the device can still be found via idr_find()
1614 sg_remove_device(struct device *cl_dev, struct class_interface *cl_intf)
1627 return; /* only want to do following once per device */
1728 struct request_queue *q = sfp->parentdp->device->request_queue;
1776 !sfp->parentdp->device->host->unchecked_isa_dma &&
1918 if (sdp->device->host->unchecked_isa_dma)
2168 * If the device is detaching, wakeup any readers in case we just
2214 max_sectors_bytes(sdp->device->request_queue));
2256 scsi_device_put(sdp->device);
2510 if ((NULL == sdp) || (NULL == sdp->device) ||
2514 scsidp = sdp->device;
2536 scsidp = sdp ? sdp->device : NULL;
2541 seq_puts(s, "<no active device>\n");
2565 (int) sdp->device->host->unchecked_isa_dma);
2626 seq_printf(s, " >>> device=%s ", sdp->disk->disk_name);
2629 else if (sdp->device) {
2630 struct scsi_device *scsidp = sdp->device;