On Mon, Oct 09, 2017 at 03:26:33PM +0200, [email protected] wrote:
> From: Masahiro Yamada <[email protected]>
> 
> Fix the following sparse warnings:
> 
> drivers/nvmem/qfprom.c:23:30: warning: incorrect type in initializer 
> (different address spaces)
> drivers/nvmem/qfprom.c:23:30:    expected void [noderef] <asn:2>*base
> drivers/nvmem/qfprom.c:23:30:    got void *context
> drivers/nvmem/qfprom.c:36:30: warning: incorrect type in initializer 
> (different address spaces)
> drivers/nvmem/qfprom.c:36:30:    expected void [noderef] <asn:2>*base
> drivers/nvmem/qfprom.c:36:30:    got void *context
> drivers/nvmem/qfprom.c:76:22: warning: incorrect type in assignment 
> (different address spaces)
> drivers/nvmem/qfprom.c:76:22:    expected void *static [toplevel] [assigned] 
> priv
> drivers/nvmem/qfprom.c:76:22:    got void [noderef] <asn:2>*[assigned] base
> 
> The type of nvmem_config->priv is (void *), so sparse complains
> about assignment of the base address with (void __iomem *) type.
> 
> Even if we cast it out, sparse still warns:
> warning: cast removes address space of expression
> 
> Of course, we can shut up the sparse by marking __force, but a more
> correct way is to put the base address into driver private data.

Same objection here.  Don't hide things like this.

greg k-h

Reply via email to