summaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/pcie-iproc-msi.c
diff options
context:
space:
mode:
authorBen Dooks (Codethink) <ben.dooks@codethink.co.uk>2019-10-15 18:07:02 +0200
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2019-10-17 12:01:24 +0200
commita243bf39d8be133f9d6d8c8b2565830c6d3d247b (patch)
tree548ccbb2f2a5e55cf7ae72727a059429b69a6306 /drivers/pci/controller/pcie-iproc-msi.c
parentLinux 5.4-rc1 (diff)
downloadlinux-a243bf39d8be133f9d6d8c8b2565830c6d3d247b.tar.xz
linux-a243bf39d8be133f9d6d8c8b2565830c6d3d247b.zip
PCI: iproc-msi: Fix __iomem annotation in decode_msi_hwirq()
Fix __iomem attribute on msg variable passed to readl() in the decode_msi_hwirq() function. Fixes the following sparse warning: drivers/pci/controller/pcie-iproc-msi.c:301:17: warning: incorrect type in argument 1 (different address spaces) drivers/pci/controller/pcie-iproc-msi.c:301:17: expected void const volatile [noderef] <asn:2> *addr drivers/pci/controller/pcie-iproc-msi.c:301:17: got unsigned int [usertype] *[assigned] msg Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Andrew Murray <andrew.murray@arm.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Ray Jui <rjui@broadcom.com> Cc: Scott Branden <sbranden@broadcom.com> Cc: bcm-kernel-feedback-list@broadcom.com Cc: linux-pci@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org
Diffstat (limited to 'drivers/pci/controller/pcie-iproc-msi.c')
-rw-r--r--drivers/pci/controller/pcie-iproc-msi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pci/controller/pcie-iproc-msi.c b/drivers/pci/controller/pcie-iproc-msi.c
index 0a3f61be5625..3176ad3ab0e5 100644
--- a/drivers/pci/controller/pcie-iproc-msi.c
+++ b/drivers/pci/controller/pcie-iproc-msi.c
@@ -293,11 +293,12 @@ static const struct irq_domain_ops msi_domain_ops = {
static inline u32 decode_msi_hwirq(struct iproc_msi *msi, u32 eq, u32 head)
{
- u32 *msg, hwirq;
+ u32 __iomem *msg;
+ u32 hwirq;
unsigned int offs;
offs = iproc_msi_eq_offset(msi, eq) + head * sizeof(u32);
- msg = (u32 *)(msi->eq_cpu + offs);
+ msg = (u32 __iomem *)(msi->eq_cpu + offs);
hwirq = readl(msg);
hwirq = (hwirq >> 5) + (hwirq & 0x1f);