Re: [PATCH v2 09/13] ata: libata-core: Remove local_port_no struct member

Hannes Reinecke
2024-06-27T06:37:58Z

On 6/26/24 20:00, Niklas Cassel wrote:
> ap->local_port_no is simply ap->port_no + 1.
> Since ap->local_port_no can be derived from ap->port_no, there is no need
> for the ap->local_port_no struct member, so remove ap->local_port_no.
>
> Signed-off-by: Niklas Cassel <cassel@kernel.org>
> ---
> drivers/ata/libata-core.c | 5 +----
> drivers/ata/libata-transport.c | 3 ++-
> include/linux/libata.h | 1 -
> 3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index a213a9c0d0a5..ceee4b6ba3dd 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -5464,7 +5464,6 @@ 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->local_port_no = -1;
> ap->host = host;
> ap->dev = host->dev;
>
> @@ -5912,10 +5911,8 @@ int ata_host_register(struct ata_host *host, const struct scsi_host_template *sh
> WARN_ON(host->ports[i]);
>
> /* give ports names and add SCSI hosts */
> - for (i = 0; i < host->n_ports; i++) {
> + for (i = 0; i < host->n_ports; i++)
> host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
> - host->ports[i]->local_port_no = i + 1;
> - }
>
> /* Create associated sysfs transport objects */
> for (i = 0; i < host->n_ports; i++) {
> diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c
> index d24f201c0ab2..9e24c33388f9 100644
> --- a/drivers/ata/libata-transport.c
> +++ b/drivers/ata/libata-transport.c
> @@ -217,7 +217,8 @@ static DEVICE_ATTR(name, S_IRUGO, show_ata_port_##name, NULL)
>
> ata_port_simple_attr(nr_pmp_links, nr_pmp_links, "%d\n", int);
> ata_port_simple_attr(stats.idle_irq, idle_irq, "%ld\n", unsigned long);
> -ata_port_simple_attr(local_port_no, port_no, "%u\n", unsigned int);
> +/* We want the port_no sysfs attibute to start at 1 (ap->port_no starts at 0) */
> +ata_port_simple_attr(port_no + 1, port_no, "%u\n", unsigned int);
>
> static DECLARE_TRANSPORT_CLASS(ata_port_class,
> "ata_port", NULL, NULL, NULL);
> diff --git a/include/linux/libata.h b/include/linux/libata.h
> index b7c5d3f33368..84a7bfbac9fa 100644
> --- a/include/linux/libata.h
> +++ b/include/linux/libata.h
> @@ -814,7 +814,6 @@ struct ata_port {
> /* Flags that change dynamically, protected by ap->lock */
> unsigned int pflags; /* ATA_PFLAG_xxx */
> unsigned int print_id; /* user visible unique port ID */
> - unsigned int local_port_no; /* host local port num */
> unsigned int port_no; /* 0 based port no. inside the host */
>
> #ifdef CONFIG_ATA_SFF

Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich