• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/scsi/

Lines Matching defs:sdp

198 static Sg_fd *sg_add_sfp(Sg_device * sdp, int dev);
199 static int sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp);
200 static void __sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp);
227 Sg_device *sdp;
234 sdp = sg_get_dev(dev);
235 if ((!sdp) || (!sdp->device))
237 if (sdp->detached)
242 retval = scsi_device_get(sdp->device);
247 scsi_block_when_processing_errors(sdp->device))) {
258 if (sdp->headfp && (flags & O_NONBLOCK)) {
263 __wait_event_interruptible(sdp->o_excl_wait,
264 ((sdp->headfp || sdp->exclude) ? 0 : (sdp->exclude = 1)), res);
269 } else if (sdp->exclude) { /* some other fd has an exclusive lock on dev */
275 __wait_event_interruptible(sdp->o_excl_wait, (!sdp->exclude),
282 if (sdp->detached) {
286 if (!sdp->headfp) { /* no existing opens on this device */
287 sdp->sgdebug = 0;
288 q = sdp->device->request_queue;
289 sdp->sg_tablesize = min(q->max_hw_segments,
292 if ((sfp = sg_add_sfp(sdp, dev)))
296 sdp->exclude = 0; /* undo if error */
303 scsi_device_put(sdp->device);
311 Sg_device *sdp;
314 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
316 SCSI_LOG_TIMEOUT(3, printk("sg_release: %s\n", sdp->disk->disk_name));
318 if (0 == sg_remove_sfp(sdp, sfp)) { /* Returns 1 when sdp gone */
319 if (!sdp->detached) {
320 scsi_device_put(sdp->device);
322 sdp->exclude = 0;
323 wake_up_interruptible(&sdp->o_excl_wait);
331 Sg_device *sdp;
339 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
342 sdp->disk->disk_name, (int) count));
376 if (sdp->detached) {
387 (sdp->detached ||
390 if (sdp->detached) {
524 Sg_device *sdp;
531 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
534 sdp->disk->disk_name, (int) count));
535 if (sdp->detached)
538 scsi_block_when_processing_errors(sdp->device)))
697 Sg_device *sdp = sfp->parentdp;
721 if (sdp->detached) {
744 if (scsi_execute_async(sdp->device, cmnd, hp->cmd_len, data_dir, srp->data.buffer,
777 Sg_device *sdp;
782 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
785 sdp->disk->disk_name, (int) cmd_in));
793 if (sdp->detached)
795 if (!scsi_block_when_processing_errors(sdp->device))
808 (sdp->detached || sfp->closed || sg_srp_done(srp, sfp)),
810 if (sdp->detached)
852 if (sdp->detached)
854 sfp->low_dma = sdp->device->host->unchecked_isa_dma;
865 if (sdp->detached)
867 __put_user((int) sdp->device->host->host_no,
869 __put_user((int) sdp->device->channel,
871 __put_user((int) sdp->device->id, &sg_idp->scsi_id);
872 __put_user((int) sdp->device->lun, &sg_idp->lun);
873 __put_user((int) sdp->device->type, &sg_idp->scsi_type);
874 __put_user((short) sdp->device->host->cmd_per_lun,
876 __put_user((short) sdp->device->queue_depth,
912 return put_user(sdp->sg_tablesize, ip);
920 sdp->device->request_queue->max_sectors * 512);
930 sdp->device->request_queue->max_sectors * 512);
958 val = (sdp->device ? 1 : 0);
1007 if (sdp->detached)
1009 return put_user(sdp->device->host->hostt->emulated, ip);
1011 if (sdp->detached)
1014 if (scsi_host_in_recovery(sdp->device->host))
1016 } else if (!scsi_block_when_processing_errors(sdp->device))
1038 return (scsi_reset_provider(sdp->device, val) ==
1041 if (sdp->detached)
1049 if (!sg_allow_access(opcode, sdp->device->type))
1052 return sg_scsi_ioctl(filp, sdp->device->request_queue, NULL, p);
1057 sdp->sgdebug = (char) val;
1063 if (sdp->detached)
1065 return scsi_ioctl(sdp->device, cmd_in, p);
1067 return put_user(sdp->device->request_queue->max_sectors * 512,
1072 return scsi_ioctl(sdp->device, cmd_in, p);
1079 Sg_device *sdp;
1083 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
1086 sdev = sdp->device;
1103 Sg_device *sdp;
1109 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))
1122 if (sdp->detached)
1130 sdp->disk->disk_name, (int) res));
1138 Sg_device *sdp;
1141 if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp)))
1144 sdp->disk->disk_name, mode));
1234 Sg_device *sdp = NULL;
1245 sdp = sfp->parentdp;
1246 if ((NULL == sdp) || sdp->detached) {
1253 sdp->disk->disk_name, srp->header.pack_id, result));
1267 if ((sdp->sgdebug > 0) &&
1278 && sdp->device->removable) {
1281 sdp->device->changed = 1;
1292 if (0 == sg_remove_sfp(sdp, sfp)) { /* device still present */
1293 scsi_device_put(sdp->device);
1337 Sg_device *sdp;
1342 sdp = kzalloc(sizeof(Sg_device), GFP_KERNEL);
1343 if (!sdp) {
1374 sdp->disk = disk;
1375 sdp->device = scsidp;
1376 init_waitqueue_head(&sdp->o_excl_wait);
1377 sdp->sg_tablesize = min(q->max_hw_segments, q->max_phys_segments);
1380 sg_dev_arr[k] = sdp;
1386 kfree(sdp);
1409 Sg_device *sdp = NULL;
1436 sdp = sg_dev_arr[k];
1442 sdp->cdev = cdev;
1453 class_set_devdata(sg_class_member, sdp);
1485 Sg_device *sdp = NULL;
1498 sdp = sg_dev_arr[k];
1499 if ((NULL == sdp) || (sdp->device != scsidp))
1501 if (sdp->headfp) {
1502 sdp->detached = 1;
1503 for (sfp = sdp->headfp; sfp; sfp = tsfp) {
1511 scsi_device_put(sdp->device);
1512 __sg_remove_sfp(sdp, sfp);
1521 if (NULL == sdp->headfp) {
1533 if (sdp) {
1536 cdev_del(sdp->cdev);
1537 sdp->cdev = NULL;
1538 put_disk(sdp->disk);
1539 sdp->disk = NULL;
1540 if (NULL == sdp->headfp)
1541 kfree((char *) sdp);
2316 sg_get_nth_sfp(Sg_device * sdp, int nth)
2323 for (k = 0, resp = sdp->headfp; resp && (k < nth);
2331 sg_add_sfp(Sg_device * sdp, int dev)
2348 sdp->device->host->unchecked_isa_dma : 1;
2351 sfp->parentdp = sdp;
2353 if (!sdp->headfp)
2354 sdp->headfp = sfp;
2356 Sg_fd *pfp = sdp->headfp;
2367 sdp->device->request_queue->max_sectors * 512);
2375 __sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp)
2380 prev_fp = sdp->headfp;
2382 sdp->headfp = prev_fp->nextfp;
2403 /* Returns 0 in normal case, 1 when detached and sdp object removed */
2405 sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp)
2423 __sg_remove_sfp(sdp, sfp);
2424 if (sdp->detached && (NULL == sdp->headfp)) {
2429 if (sdp == sg_dev_arr[k])
2434 kfree((char *) sdp);
2442 scsi_device_get(sdp->device);
2554 Sg_device *sdp = NULL;
2560 sdp = sg_dev_arr[dev];
2563 return sdp;
2826 Sg_device *sdp;
2829 sdp = it ? sg_get_dev(it->index) : NULL;
2830 if (sdp && (scsidp = sdp->device) && (!sdp->detached))
2851 Sg_device *sdp;
2854 sdp = it ? sg_get_dev(it->index) : NULL;
2855 if (sdp && (scsidp = sdp->device) && (!sdp->detached))
2863 static void sg_proc_debug_helper(struct seq_file *s, Sg_device * sdp)
2872 for (k = 0; (fp = sg_get_nth_sfp(sdp, k)); ++k) {
2930 Sg_device *sdp;
2937 sdp = it ? sg_get_dev(it->index) : NULL;
2938 if (sdp) {
2939 struct scsi_device *scsidp = sdp->device;
2947 if (sg_get_nth_sfp(sdp, 0)) {
2949 sdp->disk->disk_name);
2950 if (sdp->detached)
2960 sdp->sg_tablesize, sdp->exclude);
2962 sg_proc_debug_helper(s, sdp);