aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
authorNiklas Cassel <cassel@kernel.org>2024-07-03 20:44:23 +0200
committerNiklas Cassel <cassel@kernel.org>2024-07-04 11:52:32 +0200
commit1c1fbb865d713d667d62c9c676b79cf9c14ba39e (patch)
tree1efd641f1e8e20dff212429b4b7a83d0ce414a2f /drivers/ata/libata-core.c
parentata: libata-core: Remove local_port_no struct member (diff)
downloadwireguard-linux-1c1fbb865d713d667d62c9c676b79cf9c14ba39e.tar.xz
wireguard-linux-1c1fbb865d713d667d62c9c676b79cf9c14ba39e.zip
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: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20240703184418.723066-17-cassel@kernel.org Signed-off-by: Niklas Cassel <cassel@kernel.org>
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r--drivers/ata/libata-core.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 68a75483822e..da7c141b1f2e 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -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]);