[PATCH v5 4/4] thermal: Add Tegra SOCTHERM thermal management driver
From: edubezval@gmail.com (Eduardo Valentin)
Date: 2014-09-24 23:28:07
Also in:
linux-pm, linux-tegra, lkml
Hello, On Wed, Sep 24, 2014 at 10:32:13PM +0300, Mikko Perttunen wrote:
On 09/24/2014 10:18 PM, Eduardo Valentin wrote:quoted
Mikko, On Thu, Aug 21, 2014 at 01:17:22PM +0300, Mikko Perttunen wrote:quoted
... + +static int enable_tsensor(struct tegra_soctherm *tegra, + const struct tegra_tsensor *sensor, + struct tsensor_shared_calibration shared) +{ + void * __iomem base = tegra->regs + sensor->base;I get sparse complaining about this declaration. For the sake of keeping a clean static checks, can you please: - void * __iomem base = tegra->regs + sensor->base; + void __iomem * base = tegra->regs + sensor->base;Sure.
Good.
quoted
Can you also please check the remaining sparse errors? CHECK drivers/thermal/tegra_soctherm.c drivers/thermal/tegra_soctherm.c:260:43: warning: incorrect type in initializer (different address spaces) drivers/thermal/tegra_soctherm.c:260:43: expected void *[noderef] <asn:2>base drivers/thermal/tegra_soctherm.c:260:43: got void [noderef] <asn:2>* drivers/thermal/tegra_soctherm.c:271:9: warning: incorrect type in argument 2 (different address spaces) drivers/thermal/tegra_soctherm.c:271:9: expected void volatile [noderef] <asn:2>*addr drivers/thermal/tegra_soctherm.c:271:9: got void * drivers/thermal/tegra_soctherm.c:279:9: warning: incorrect type in argument 2 (different address spaces) drivers/thermal/tegra_soctherm.c:279:9: expected void volatile [noderef] <asn:2>*addr drivers/thermal/tegra_soctherm.c:279:9: got void * drivers/thermal/tegra_soctherm.c:281:9: warning: incorrect type in argument 2 (different address spaces) drivers/thermal/tegra_soctherm.c:281:9: expected void volatile [noderef] <asn:2>*addr drivers/thermal/tegra_soctherm.c:281:9: got void * drivers/thermal/tegra_soctherm.c:347:25: warning: incorrect type in argument 1 (different address spaces) drivers/thermal/tegra_soctherm.c:347:25: expected void const *ptr drivers/thermal/tegra_soctherm.c:347:25: got void [noderef] <asn:2>*regs drivers/thermal/tegra_soctherm.c:349:37: warning: incorrect type in argument 1 (different address spaces) drivers/thermal/tegra_soctherm.c:349:37: expected void const *ptr drivers/thermal/tegra_soctherm.c:349:37: got void [noderef] <asn:2>*regs drivers/thermal/tegra_soctherm.c:271:9: warning: dereference of noderef expression drivers/thermal/tegra_soctherm.c:279:9: warning: dereference of noderef expression drivers/thermal/tegra_soctherm.c:281:9: warning: dereference of noderef expressionMost of these seem to be caused by the above-mentioned swapping of __iomem and *. The ones on lines 347 and 349 are more peculiar, though. Apparently sparse doesn't like using IS_ERR and PTR_ERR on the void __iomem * pointer returned by devm_ioremap_resource. Looks like this has been discussed before (https://lkml.org/lkml/2013/6/17/216) and sparse should have been patched to ignore this situation, so I'm not sure why it's complaining about it. Anyway, there shouldn't be any issue here.
Sounds good to me.
Mikko