Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

irqchip/tegra: Fix sparse warnings on __iomem

Fix the following warnings from sparse due to casting to/from __iomem
annotated variables:

drivers/irqchip/irq-tegra.c:93:31: warning: incorrect type in initializer (different address spaces)
drivers/irqchip/irq-tegra.c:93:31: expected void [noderef] <asn:2>*base
drivers/irqchip/irq-tegra.c:93:31: got void *chip_data
drivers/irqchip/irq-tegra.c:93:31: warning: incorrect type in initializer (different address spaces)
drivers/irqchip/irq-tegra.c:93:31: expected void [noderef] <asn:2>*base
drivers/irqchip/irq-tegra.c:93:31: got void *chip_data
drivers/irqchip/irq-tegra.c:93:31: warning: incorrect type in initializer (different address spaces)
drivers/irqchip/irq-tegra.c:93:31: expected void [noderef] <asn:2>*base
drivers/irqchip/irq-tegra.c:93:31: got void *chip_data
drivers/irqchip/irq-tegra.c:93:31: warning: incorrect type in initializer (different address spaces)
drivers/irqchip/irq-tegra.c:93:31: expected void [noderef] <asn:2>*base
drivers/irqchip/irq-tegra.c:93:31: got void *chip_data
drivers/irqchip/irq-tegra.c:269:57: warning: incorrect type in argument 5 (different address spaces)
drivers/irqchip/irq-tegra.c:269:57: expected void *chip_data
drivers/irqchip/irq-tegra.c:269:57: got void [noderef] <asn:2>*<noident>

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lkml.kernel.org/r/1465302292-4840-1-git-send-email-ben.dooks@codethink.co.uk
Signed-off-by: Jason Cooper <jason@lakedaemon.net>

authored by

Ben Dooks and committed by
Jason Cooper
f6fbaaa4 4a3691cc

+2 -2
+2 -2
drivers/irqchip/irq-tegra.c
··· 90 90 91 91 static inline void tegra_ictlr_write_mask(struct irq_data *d, unsigned long reg) 92 92 { 93 - void __iomem *base = d->chip_data; 93 + void __iomem *base = (void __iomem __force *)d->chip_data; 94 94 u32 mask; 95 95 96 96 mask = BIT(d->hwirq % 32); ··· 266 266 267 267 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, 268 268 &tegra_ictlr_chip, 269 - info->base[ictlr]); 269 + (void __force *)info->base[ictlr]); 270 270 } 271 271 272 272 parent_fwspec = *fwspec;