diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/scsi/scsi_mid_low_api.txt | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/scsi/scsi_mid_low_api.txt index 75a535a975c3..6f70f2b9327e 100644 --- a/Documentation/scsi/scsi_mid_low_api.txt +++ b/Documentation/scsi/scsi_mid_low_api.txt | |||
@@ -375,7 +375,6 @@ Summary: | |||
375 | scsi_add_device - creates new scsi device (lu) instance | 375 | scsi_add_device - creates new scsi device (lu) instance |
376 | scsi_add_host - perform sysfs registration and set up transport class | 376 | scsi_add_host - perform sysfs registration and set up transport class |
377 | scsi_adjust_queue_depth - change the queue depth on a SCSI device | 377 | scsi_adjust_queue_depth - change the queue depth on a SCSI device |
378 | scsi_assign_lock - replace default host_lock with given lock | ||
379 | scsi_bios_ptable - return copy of block device's partition table | 378 | scsi_bios_ptable - return copy of block device's partition table |
380 | scsi_block_requests - prevent further commands being queued to given host | 379 | scsi_block_requests - prevent further commands being queued to given host |
381 | scsi_deactivate_tcq - turn off tag command queueing | 380 | scsi_deactivate_tcq - turn off tag command queueing |
@@ -489,20 +488,6 @@ void scsi_adjust_queue_depth(struct scsi_device * sdev, int tagged, | |||
489 | 488 | ||
490 | 489 | ||
491 | /** | 490 | /** |
492 | * scsi_assign_lock - replace default host_lock with given lock | ||
493 | * @shost: a pointer to a scsi host instance | ||
494 | * @lock: pointer to lock to replace host_lock for this host | ||
495 | * | ||
496 | * Returns nothing | ||
497 | * | ||
498 | * Might block: no | ||
499 | * | ||
500 | * Defined in: include/scsi/scsi_host.h . | ||
501 | **/ | ||
502 | void scsi_assign_lock(struct Scsi_Host *shost, spinlock_t *lock) | ||
503 | |||
504 | |||
505 | /** | ||
506 | * scsi_bios_ptable - return copy of block device's partition table | 491 | * scsi_bios_ptable - return copy of block device's partition table |
507 | * @dev: pointer to block device | 492 | * @dev: pointer to block device |
508 | * | 493 | * |
@@ -1366,17 +1351,11 @@ Locks | |||
1366 | Each struct Scsi_Host instance has a spin_lock called struct | 1351 | Each struct Scsi_Host instance has a spin_lock called struct |
1367 | Scsi_Host::default_lock which is initialized in scsi_host_alloc() [found in | 1352 | Scsi_Host::default_lock which is initialized in scsi_host_alloc() [found in |
1368 | hosts.c]. Within the same function the struct Scsi_Host::host_lock pointer | 1353 | hosts.c]. Within the same function the struct Scsi_Host::host_lock pointer |
1369 | is initialized to point at default_lock with the scsi_assign_lock() function. | 1354 | is initialized to point at default_lock. Thereafter lock and unlock |
1370 | Thereafter lock and unlock operations performed by the mid level use the | 1355 | operations performed by the mid level use the struct Scsi_Host::host_lock |
1371 | struct Scsi_Host::host_lock pointer. | 1356 | pointer. Previously drivers could override the host_lock pointer but |
1372 | 1357 | this is not allowed anymore. | |
1373 | LLDs can override the use of struct Scsi_Host::default_lock by | 1358 | |
1374 | using scsi_assign_lock(). The earliest opportunity to do this would | ||
1375 | be in the detect() function after it has invoked scsi_register(). It | ||
1376 | could be replaced by a coarser grain lock (e.g. per driver) or a | ||
1377 | lock of equal granularity (i.e. per host). Using finer grain locks | ||
1378 | (e.g. per SCSI device) may be possible by juggling locks in | ||
1379 | queuecommand(). | ||
1380 | 1359 | ||
1381 | Autosense | 1360 | Autosense |
1382 | ========= | 1361 | ========= |