Hello all, This series moves the assignment of ap->print_id, which is used as a unique id for each port, earlier, such that we can use the ata_port_* print functions even before the ata_host has been registered. While the patch series was orginally meant to simply assign a unique id used for printing earlier (ap->print_id), it has since grown to also include cleanups related to ata_port_alloc() (since ap->print_id is now assigned in ata_port_alloc()). Kind regards, Niklas Changes since v2: -Sent out patches that were strict bug fixes as a separate series. -Rebased patch series. -Picked up tags. -Fixed minor typos. -Fixed problem reported by kernel test robot, by using a local variable to check for errors. -Removed existing super ugly code that iterates past host->n_ports (which relied on the ata_host_alloc() allocating n_ports+1 rather than n_ports), as suggested by Hannes. -Now when we don't have the ugly code that iterates past host->n_ports, change ata_host_alloc(() to only allocate n_ports, as the ugly workaround of allocating an n_ports+1 ports is no longer needed (as it was only needed for the feature that this patch series removes). Link to v2: https://lore.kernel.org/linux-ide/20240626180031.4050226-15-cassel@xxxxxxxxxx/ Link to v1: https://lore.kernel.org/linux-ide/20240618153537.2687621-7-cassel@xxxxxxxxxx/ Niklas Cassel (9): ata,scsi: Remove useless wrappers ata_sas_tport_{add,delete}() ata: libata: Remove unused function declaration for ata_scsi_detect() ata: libata-core: Remove support for decreasing the number of ports ata: libata-sata: Remove superfluous assignment in ata_sas_port_alloc() ata: libata-core: Remove local_port_no struct member ata: libata: Assign print_id at port allocation time ata: libata-core: Reuse available ata_port print_ids ata,scsi: Remove useless ata_sas_port_alloc() wrapper ata: ahci: Add debug print for external port drivers/ata/ahci.c | 4 ++- drivers/ata/libata-core.c | 41 +++++++++---------------- drivers/ata/libata-sata.c | 49 ------------------------------ drivers/ata/libata-transport.c | 5 ++- drivers/ata/libata-transport.h | 3 -- drivers/ata/libata.h | 2 -- drivers/scsi/libsas/sas_ata.c | 12 ++++++-- drivers/scsi/libsas/sas_discover.c | 2 +- include/linux/libata.h | 11 +++---- 9 files changed, 36 insertions(+), 93 deletions(-) -- 2.45.2