diff options
| author | Brian King <brking@us.ibm.com> | 2006-08-07 15:27:17 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-08-09 00:08:38 -0400 |
| commit | 155a8a9c8f4084016d9e27bf03ba1f19201438f4 (patch) | |
| tree | 31ea68dd479537b3d1e039f124e34d4270cb9eb8 /drivers | |
| parent | b03732f006bd1ecee32587ec8235c41af5ad905f (diff) | |
[PATCH] libata: Add ata_port_init
Separate out the ata_port initialization from ata_host_init
so that it can be used in future SAS patches.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/scsi/libata-core.c | 49 | ||||
| -rw-r--r-- | drivers/scsi/libata.h | 2 |
2 files changed, 36 insertions, 15 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 886440b128a5..f553c9dd962d 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
| @@ -5218,35 +5218,25 @@ void ata_dev_init(struct ata_device *dev) | |||
| 5218 | } | 5218 | } |
| 5219 | 5219 | ||
| 5220 | /** | 5220 | /** |
| 5221 | * ata_host_init - Initialize an ata_port structure | 5221 | * ata_port_init - Initialize an ata_port structure |
| 5222 | * @ap: Structure to initialize | 5222 | * @ap: Structure to initialize |
| 5223 | * @host: associated SCSI mid-layer structure | ||
| 5224 | * @host_set: Collection of hosts to which @ap belongs | 5223 | * @host_set: Collection of hosts to which @ap belongs |
| 5225 | * @ent: Probe information provided by low-level driver | 5224 | * @ent: Probe information provided by low-level driver |
| 5226 | * @port_no: Port number associated with this ata_port | 5225 | * @port_no: Port number associated with this ata_port |
| 5227 | * | 5226 | * |
| 5228 | * Initialize a new ata_port structure, and its associated | 5227 | * Initialize a new ata_port structure. |
| 5229 | * scsi_host. | ||
| 5230 | * | 5228 | * |
| 5231 | * LOCKING: | 5229 | * LOCKING: |
| 5232 | * Inherited from caller. | 5230 | * Inherited from caller. |
| 5233 | */ | 5231 | */ |
| 5234 | static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, | 5232 | void ata_port_init(struct ata_port *ap, struct ata_host_set *host_set, |
| 5235 | struct ata_host_set *host_set, | 5233 | const struct ata_probe_ent *ent, unsigned int port_no) |
| 5236 | const struct ata_probe_ent *ent, unsigned int port_no) | ||
| 5237 | { | 5234 | { |
| 5238 | unsigned int i; | 5235 | unsigned int i; |
| 5239 | 5236 | ||
| 5240 | host->max_id = 16; | ||
| 5241 | host->max_lun = 1; | ||
| 5242 | host->max_channel = 1; | ||
| 5243 | host->unique_id = ata_unique_id++; | ||
| 5244 | host->max_cmd_len = 12; | ||
| 5245 | |||
| 5246 | ap->lock = &host_set->lock; | 5237 | ap->lock = &host_set->lock; |
| 5247 | ap->flags = ATA_FLAG_DISABLED; | 5238 | ap->flags = ATA_FLAG_DISABLED; |
| 5248 | ap->id = host->unique_id; | 5239 | ap->id = ata_unique_id++; |
| 5249 | ap->host = host; | ||
| 5250 | ap->ctl = ATA_DEVCTL_OBS; | 5240 | ap->ctl = ATA_DEVCTL_OBS; |
| 5251 | ap->host_set = host_set; | 5241 | ap->host_set = host_set; |
| 5252 | ap->dev = ent->dev; | 5242 | ap->dev = ent->dev; |
| @@ -5298,6 +5288,35 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, | |||
| 5298 | } | 5288 | } |
| 5299 | 5289 | ||
| 5300 | /** | 5290 | /** |
| 5291 | * ata_host_init - Initialize an ata_port structure | ||
| 5292 | * @ap: Structure to initialize | ||
| 5293 | * @host: associated SCSI mid-layer structure | ||
| 5294 | * @host_set: Collection of hosts to which @ap belongs | ||
| 5295 | * @ent: Probe information provided by low-level driver | ||
| 5296 | * @port_no: Port number associated with this ata_port | ||
| 5297 | * | ||
| 5298 | * Initialize a new ata_port structure, and its associated | ||
| 5299 | * scsi_host. | ||
| 5300 | * | ||
| 5301 | * LOCKING: | ||
| 5302 | * Inherited from caller. | ||
| 5303 | */ | ||
| 5304 | |||
| 5305 | static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, | ||
| 5306 | struct ata_host_set *host_set, | ||
| 5307 | const struct ata_probe_ent *ent, unsigned int port_no) | ||
| 5308 | { | ||
| 5309 | ata_port_init(ap, host_set, ent, port_no); | ||
| 5310 | ap->host = host; | ||
| 5311 | |||
| 5312 | host->unique_id = ap->id; | ||
| 5313 | host->max_id = 16; | ||
| 5314 | host->max_lun = 1; | ||
| 5315 | host->max_channel = 1; | ||
| 5316 | host->max_cmd_len = 12; | ||
| 5317 | } | ||
| 5318 | |||
| 5319 | /** | ||
| 5301 | * ata_host_add - Attach low-level ATA driver to system | 5320 | * ata_host_add - Attach low-level ATA driver to system |
| 5302 | * @ent: Information provided by low-level driver | 5321 | * @ent: Information provided by low-level driver |
| 5303 | * @host_set: Collections of ports to which we add | 5322 | * @host_set: Collections of ports to which we add |
diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h index c325679d9b54..b38aa4a286be 100644 --- a/drivers/scsi/libata.h +++ b/drivers/scsi/libata.h | |||
| @@ -69,6 +69,8 @@ extern int ata_flush_cache(struct ata_device *dev); | |||
| 69 | extern void ata_dev_init(struct ata_device *dev); | 69 | extern void ata_dev_init(struct ata_device *dev); |
| 70 | extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg); | 70 | extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg); |
| 71 | extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg); | 71 | extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg); |
| 72 | extern void ata_port_init(struct ata_port *ap, struct ata_host_set *host_set, | ||
| 73 | const struct ata_probe_ent *ent, unsigned int port_no); | ||
| 72 | 74 | ||
| 73 | 75 | ||
| 74 | /* libata-scsi.c */ | 76 | /* libata-scsi.c */ |
