ata: ahci_xgene: use correct type for port mmio address
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Tue, 4 Jan 2022 08:49:54 +0000 (17:49 +0900)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Fri, 14 Jan 2022 06:17:16 +0000 (15:17 +0900)
Sparse complains about an incorrect type for port_mmio pointer
variables:

drivers/ata/ahci_xgene.c:196:41: warning: incorrect type in initializer
(different address spaces)
drivers/ata/ahci_xgene.c:196:41:    expected void *port_mmio
drivers/ata/ahci_xgene.c:196:41:    got void [noderef] __iomem *

Fix this by declaring port_mmio as "void __iomem *" instead of "void *".

Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
drivers/ata/ahci_xgene.c

index 4d8a186..68ec7e9 100644 (file)
@@ -193,7 +193,7 @@ static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc)
        struct xgene_ahci_context *ctx = hpriv->plat_data;
        int rc = 0;
        u32 port_fbs;
-       void *port_mmio = ahci_port_base(ap);
+       void __iomem *port_mmio = ahci_port_base(ap);
 
        /*
         * Write the pmp value to PxFBS.DEV
@@ -454,7 +454,7 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link, unsigned int *class,
        int pmp = sata_srst_pmp(link);
        struct ata_port *ap = link->ap;
        u32 rc;
-       void *port_mmio = ahci_port_base(ap);
+       void __iomem *port_mmio = ahci_port_base(ap);
        u32 port_fbs;
 
        /*
@@ -499,7 +499,7 @@ static int xgene_ahci_softreset(struct ata_link *link, unsigned int *class,
        struct ata_port *ap = link->ap;
        struct ahci_host_priv *hpriv = ap->host->private_data;
        struct xgene_ahci_context *ctx = hpriv->plat_data;
-       void *port_mmio = ahci_port_base(ap);
+       void __iomem *port_mmio = ahci_port_base(ap);
        u32 port_fbs;
        u32 port_fbs_save;
        u32 retry = 1;