Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+34 −15
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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 */