Commit 155a8a9c authored by Brian King's avatar Brian King Committed by Jeff Garzik

[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: default avatarBrian King <brking@us.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent b03732f0
...@@ -5218,35 +5218,25 @@ void ata_dev_init(struct ata_device *dev) ...@@ -5218,35 +5218,25 @@ void ata_dev_init(struct ata_device *dev)
} }
/** /**
* ata_host_init - Initialize an ata_port structure * ata_port_init - Initialize an ata_port structure
* @ap: Structure to initialize * @ap: Structure to initialize
* @host: associated SCSI mid-layer structure
* @host_set: Collection of hosts to which @ap belongs * @host_set: Collection of hosts to which @ap belongs
* @ent: Probe information provided by low-level driver * @ent: Probe information provided by low-level driver
* @port_no: Port number associated with this ata_port * @port_no: Port number associated with this ata_port
* *
* Initialize a new ata_port structure, and its associated * Initialize a new ata_port structure.
* scsi_host.
* *
* LOCKING: * LOCKING:
* Inherited from caller. * Inherited from caller.
*/ */
static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, void ata_port_init(struct ata_port *ap, struct ata_host_set *host_set,
struct ata_host_set *host_set, const struct ata_probe_ent *ent, unsigned int port_no)
const struct ata_probe_ent *ent, unsigned int port_no)
{ {
unsigned int i; unsigned int i;
host->max_id = 16;
host->max_lun = 1;
host->max_channel = 1;
host->unique_id = ata_unique_id++;
host->max_cmd_len = 12;
ap->lock = &host_set->lock; ap->lock = &host_set->lock;
ap->flags = ATA_FLAG_DISABLED; ap->flags = ATA_FLAG_DISABLED;
ap->id = host->unique_id; ap->id = ata_unique_id++;
ap->host = host;
ap->ctl = ATA_DEVCTL_OBS; ap->ctl = ATA_DEVCTL_OBS;
ap->host_set = host_set; ap->host_set = host_set;
ap->dev = ent->dev; ap->dev = ent->dev;
...@@ -5297,6 +5287,35 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, ...@@ -5297,6 +5287,35 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
memcpy(&ap->ioaddr, &ent->port[port_no], sizeof(struct ata_ioports)); memcpy(&ap->ioaddr, &ent->port[port_no], sizeof(struct ata_ioports));
} }
/**
* ata_host_init - Initialize an ata_port structure
* @ap: Structure to initialize
* @host: associated SCSI mid-layer structure
* @host_set: Collection of hosts to which @ap belongs
* @ent: Probe information provided by low-level driver
* @port_no: Port number associated with this ata_port
*
* Initialize a new ata_port structure, and its associated
* scsi_host.
*
* LOCKING:
* Inherited from caller.
*/
static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
struct ata_host_set *host_set,
const struct ata_probe_ent *ent, unsigned int port_no)
{
ata_port_init(ap, host_set, ent, port_no);
ap->host = host;
host->unique_id = ap->id;
host->max_id = 16;
host->max_lun = 1;
host->max_channel = 1;
host->max_cmd_len = 12;
}
/** /**
* ata_host_add - Attach low-level ATA driver to system * ata_host_add - Attach low-level ATA driver to system
* @ent: Information provided by low-level driver * @ent: Information provided by low-level driver
......
...@@ -69,6 +69,8 @@ extern int ata_flush_cache(struct ata_device *dev); ...@@ -69,6 +69,8 @@ extern int ata_flush_cache(struct ata_device *dev);
extern void ata_dev_init(struct ata_device *dev); extern void ata_dev_init(struct ata_device *dev);
extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg); extern int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg);
extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg); extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg);
extern void ata_port_init(struct ata_port *ap, struct ata_host_set *host_set,
const struct ata_probe_ent *ent, unsigned int port_no);
/* libata-scsi.c */ /* libata-scsi.c */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment