Commit 1c1fbb86 authored by Niklas Cassel's avatar Niklas Cassel
Browse files

ata: libata: Assign print_id at port allocation time



While the assignment of ap->print_id could have been moved to
ata_host_alloc(), let's simply move it to ata_port_alloc().

If you allocate a port, you want to give it a unique name that can be used
for printing.

By moving the ap->print_id assignment to ata_port_alloc(), means that we
can also remove the ap->print_id assignment from ata_sas_port_alloc().

This will allow a LLD to use the ata_port_*() print functions before
ata_host_register() has been called.

Reviewed-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240703184418.723066-17-cassel@kernel.org


Signed-off-by: default avatarNiklas Cassel <cassel@kernel.org>
parent 1dd63a6b
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -5470,7 +5470,7 @@ struct ata_port *ata_port_alloc(struct ata_host *host)

	ap->pflags |= ATA_PFLAG_INITIALIZING | ATA_PFLAG_FROZEN;
	ap->lock = &host->lock;
	ap->print_id = -1;
	ap->print_id = atomic_inc_return(&ata_print_id);
	ap->host = host;
	ap->dev = host->dev;

@@ -5907,10 +5907,6 @@ int ata_host_register(struct ata_host *host, const struct scsi_host_template *sh
		return -EINVAL;
	}

	/* give ports names and add SCSI hosts */
	for (i = 0; i < host->n_ports; i++)
		host->ports[i]->print_id = atomic_inc_return(&ata_print_id);

	/* Create associated sysfs transport objects  */
	for (i = 0; i < host->n_ports; i++) {
		rc = ata_tport_add(host->dev,host->ports[i]);
+0 −1
Original line number Diff line number Diff line
@@ -1234,7 +1234,6 @@ struct ata_port *ata_sas_port_alloc(struct ata_host *host,
	ap->flags |= port_info->flags;
	ap->ops = port_info->port_ops;
	ap->cbl = ATA_CBL_SATA;
	ap->print_id = atomic_inc_return(&ata_print_id);

	return ap;
}
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ enum {

#define ATA_PORT_TYPE_NAME	"ata_port"

extern atomic_t ata_print_id;
extern int atapi_passthru16;
extern int libata_fua;
extern int libata_noacpi;