提交 155a8a9c 编写于 作者: B Brian King 提交者: 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: NBrian King <brking@us.ibm.com>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 b03732f0
......@@ -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
* @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.
* Initialize a new ata_port structure.
*
* LOCKING:
* Inherited from caller.
*/
static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
struct ata_host_set *host_set,
void ata_port_init(struct ata_port *ap, struct ata_host_set *host_set,
const struct ata_probe_ent *ent, unsigned int port_no)
{
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->flags = ATA_FLAG_DISABLED;
ap->id = host->unique_id;
ap->host = host;
ap->id = ata_unique_id++;
ap->ctl = ATA_DEVCTL_OBS;
ap->host_set = host_set;
ap->dev = ent->dev;
......@@ -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));
}
/**
* 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
* @ent: Information provided by low-level driver
......
......@@ -69,6 +69,8 @@ extern int ata_flush_cache(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_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 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册