[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191017101720.GA9589@e121166-lin.cambridge.arm.com>
Date: Thu, 17 Oct 2019 11:17:27 +0100
From: Lorenzo Pieralisi <lorenzo.pieralisi@....com>
To: "Ben Dooks (Codethink)" <ben.dooks@...ethink.co.uk>
Cc: linux-kernel@...ts.codethink.co.uk,
Andrew Murray <andrew.murray@....com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Ray Jui <rjui@...adcom.com>,
Scott Branden <sbranden@...adcom.com>,
bcm-kernel-feedback-list@...adcom.com, linux-pci@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] pci: iproc-msi: fix __iomem annotation in
decode_msi_hwirq()
On Tue, Oct 15, 2019 at 05:07:02PM +0100, Ben Dooks (Codethink) wrote:
> 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@...ethink.co.uk>
> ---
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@....com>
> Cc: Andrew Murray <andrew.murray@....com>
> Cc: Bjorn Helgaas <bhelgaas@...gle.com>
> Cc: Ray Jui <rjui@...adcom.com>
> Cc: Scott Branden <sbranden@...adcom.com>
> Cc: bcm-kernel-feedback-list@...adcom.com
> Cc: linux-pci@...r.kernel.org
> Cc: linux-arm-kernel@...ts.infradead.org
> Cc: linux-kernel@...r.kernel.org
> .. (open list)
> ---
> drivers/pci/controller/pcie-iproc-msi.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
Applied to pci/misc, thanks.
Lorenzo
> 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);
>
> --
> 2.23.0
>
Powered by blists - more mailing lists