sparse identifies the following issues: drivers/misc/cxl/vphb.c:131:17: warning: incorrect type in assignment (different address spaces) drivers/misc/cxl/vphb.c:131:17: expected void volatile [noderef] <asn:2>*<noident> drivers/misc/cxl/vphb.c:131:17: got void *<noident> drivers/misc/cxl/vphb.c:252:23: warning: incorrect type in assignment (different address spaces) drivers/misc/cxl/vphb.c:252:23: expected void [noderef] <asn:2>*cfg_data drivers/misc/cxl/vphb.c:252:23: got void *<noident>
Add __iomem annotations and remove unnecessary casts to clear up these warnings. Reported-by: Daniel Axtens <d...@axtens.net> Signed-off-by: Andrew Donnellan <andrew.donnel...@au1.ibm.com> --- This patch is a respin of https://patchwork.ozlabs.org/patch/504976/, incorporating comments from mpe. As with the old patch, this patch doesn't make any changes to the return type of cxl_pcie_cfg_addr() and casts to an __iomem type when we use it in cxl_pcie_config_info(). cxl_pcie_cfg_addr() returns an unsigned long, rather than a pointer type, as we use its return value in bitwise operations. If there's a better way to handle this I'd like to know. --- drivers/misc/cxl/vphb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/cxl/vphb.c b/drivers/misc/cxl/vphb.c index c241e15..588bfc0 100644 --- a/drivers/misc/cxl/vphb.c +++ b/drivers/misc/cxl/vphb.c @@ -128,7 +128,7 @@ static int cxl_pcie_config_info(struct pci_bus *bus, unsigned int devfn, return PCIBIOS_BAD_REGISTER_NUMBER; addr = cxl_pcie_cfg_addr(phb, bus->number, devfn, offset); - *ioaddr = (void *)(addr & ~0x3ULL); + *ioaddr = (void __iomem *)(addr & ~0x3ULL); *shift = ((addr & 0x3) * 8); switch (len) { case 1: @@ -249,7 +249,7 @@ int cxl_pci_vphb_add(struct cxl_afu *afu) /* Setup the PHB using arch provided callback */ phb->ops = &cxl_pcie_pci_ops; phb->cfg_addr = afu->afu_desc_mmio + afu->crs_offset; - phb->cfg_data = (void *)(u64)afu->crs_len; + phb->cfg_data = (void __iomem *)afu->crs_len; phb->private_data = afu; phb->controller_ops = cxl_pci_controller_ops; -- Andrew Donnellan Software Engineer, OzLabs andrew.donnel...@au1.ibm.com Australia Development Lab, Canberra +61 2 6201 8874 (work) IBM Australia Limited _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev