dect
/
linux-2.6
Archived
13
0
Fork 0

[SCSI] Mention scsi_scan_host() in scsi_mid_low_api.txt

Update to mention scsi_scan_host()

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
Matthew Wilcox 2005-11-10 07:45:55 -07:00 committed by James Bottomley
parent c6ce15d7cd
commit dc25fcfbba
1 changed files with 28 additions and 9 deletions

View File

@ -150,7 +150,8 @@ scsi devices of which only the first 2 respond:
LLD mid level LLD LLD mid level LLD
===-------------------=========--------------------===------ ===-------------------=========--------------------===------
scsi_host_alloc() --> scsi_host_alloc() -->
scsi_add_host() --------+ scsi_add_host() ---->
scsi_scan_host() -------+
| |
slave_alloc() slave_alloc()
slave_configure() --> scsi_adjust_queue_depth() slave_configure() --> scsi_adjust_queue_depth()
@ -196,7 +197,7 @@ of the issues involved. See the section on reference counting below.
The hotplug concept may be extended to SCSI devices. Currently, when an The hotplug concept may be extended to SCSI devices. Currently, when an
HBA is added, the scsi_add_host() function causes a scan for SCSI devices HBA is added, the scsi_scan_host() function causes a scan for SCSI devices
attached to the HBA's SCSI transport. On newer SCSI transports the HBA attached to the HBA's SCSI transport. On newer SCSI transports the HBA
may become aware of a new SCSI device _after_ the scan has completed. may become aware of a new SCSI device _after_ the scan has completed.
An LLD can use this sequence to make the mid level aware of a SCSI device: An LLD can use this sequence to make the mid level aware of a SCSI device:
@ -372,7 +373,7 @@ names all start with "scsi_".
Summary: Summary:
scsi_activate_tcq - turn on tag command queueing scsi_activate_tcq - turn on tag command queueing
scsi_add_device - creates new scsi device (lu) instance scsi_add_device - creates new scsi device (lu) instance
scsi_add_host - perform sysfs registration and SCSI bus scan. scsi_add_host - perform sysfs registration and set up transport class
scsi_adjust_queue_depth - change the queue depth on a SCSI device scsi_adjust_queue_depth - change the queue depth on a SCSI device
scsi_assign_lock - replace default host_lock with given lock scsi_assign_lock - replace default host_lock with given lock
scsi_bios_ptable - return copy of block device's partition table scsi_bios_ptable - return copy of block device's partition table
@ -386,6 +387,7 @@ Summary:
scsi_remove_device - detach and remove a SCSI device scsi_remove_device - detach and remove a SCSI device
scsi_remove_host - detach and remove all SCSI devices owned by host scsi_remove_host - detach and remove all SCSI devices owned by host
scsi_report_bus_reset - report scsi _bus_ reset observed scsi_report_bus_reset - report scsi _bus_ reset observed
scsi_scan_host - scan SCSI bus
scsi_track_queue_full - track successive QUEUE_FULL events scsi_track_queue_full - track successive QUEUE_FULL events
scsi_unblock_requests - allow further commands to be queued to given host scsi_unblock_requests - allow further commands to be queued to given host
scsi_unregister - [calls scsi_host_put()] scsi_unregister - [calls scsi_host_put()]
@ -425,10 +427,10 @@ void scsi_activate_tcq(struct scsi_device *sdev, int depth)
* Might block: yes * Might block: yes
* *
* Notes: This call is usually performed internally during a scsi * Notes: This call is usually performed internally during a scsi
* bus scan when an HBA is added (i.e. scsi_add_host()). So it * bus scan when an HBA is added (i.e. scsi_scan_host()). So it
* should only be called if the HBA becomes aware of a new scsi * should only be called if the HBA becomes aware of a new scsi
* device (lu) after scsi_add_host() has completed. If successful * device (lu) after scsi_scan_host() has completed. If successful
* this call we lead to slave_alloc() and slave_configure() callbacks * this call can lead to slave_alloc() and slave_configure() callbacks
* into the LLD. * into the LLD.
* *
* Defined in: drivers/scsi/scsi_scan.c * Defined in: drivers/scsi/scsi_scan.c
@ -439,7 +441,7 @@ struct scsi_device * scsi_add_device(struct Scsi_Host *shost,
/** /**
* scsi_add_host - perform sysfs registration and SCSI bus scan. * scsi_add_host - perform sysfs registration and set up transport class
* @shost: pointer to scsi host instance * @shost: pointer to scsi host instance
* @dev: pointer to struct device of type scsi class * @dev: pointer to struct device of type scsi class
* *
@ -448,7 +450,11 @@ struct scsi_device * scsi_add_device(struct Scsi_Host *shost,
* Might block: no * Might block: no
* *
* Notes: Only required in "hotplug initialization model" after a * Notes: Only required in "hotplug initialization model" after a
* successful call to scsi_host_alloc(). * successful call to scsi_host_alloc(). This function does not
* scan the bus; this can be done by calling scsi_scan_host() or
* in some other transport-specific way. The LLD must set up
* the transport template before calling this function and may only
* access the transport class data after this function has been called.
* *
* Defined in: drivers/scsi/hosts.c * Defined in: drivers/scsi/hosts.c
**/ **/
@ -559,7 +565,7 @@ void scsi_deactivate_tcq(struct scsi_device *sdev, int depth)
* area for the LLD's exclusive use. * area for the LLD's exclusive use.
* Both associated refcounting objects have their refcount set to 1. * Both associated refcounting objects have their refcount set to 1.
* Full registration (in sysfs) and a bus scan are performed later when * Full registration (in sysfs) and a bus scan are performed later when
* scsi_add_host() is called. * scsi_add_host() and scsi_scan_host() are called.
* *
* Defined in: drivers/scsi/hosts.c . * Defined in: drivers/scsi/hosts.c .
**/ **/
@ -698,6 +704,19 @@ int scsi_remove_host(struct Scsi_Host *shost)
void scsi_report_bus_reset(struct Scsi_Host * shost, int channel) void scsi_report_bus_reset(struct Scsi_Host * shost, int channel)
/**
* scsi_scan_host - scan SCSI bus
* @shost: a pointer to a scsi host instance
*
* Might block: yes
*
* Notes: Should be called after scsi_add_host()
*
* Defined in: drivers/scsi/scsi_scan.c
**/
void scsi_scan_host(struct Scsi_Host *shost)
/** /**
* scsi_track_queue_full - track successive QUEUE_FULL events on given * scsi_track_queue_full - track successive QUEUE_FULL events on given
* device to determine if and when there is a need * device to determine if and when there is a need