On Thu, 03 Dec 2020, Arnd Bergmann wrote:

> From: Arnd Bergmann <[email protected]>
> 
> A recent fix improved the way the resource gets passed to
> the low-level accessors, but left one warning that appears
> in configurations with a resource_size_t that is wider than
> a pointer:
> 
> In file included from drivers/mfd/altera-sysmgr.c:19:
> drivers/mfd/altera-sysmgr.c: In function 'sysmgr_probe':
> drivers/mfd/altera-sysmgr.c:148:40: error: cast to pointer from integer of 
> different size [-Werror=int-to-pointer-cast]
>   148 |   regmap = devm_regmap_init(dev, NULL, (void *)res->start,
>       |                                        ^
> include/linux/regmap.h:646:6: note: in definition of macro 
> '__regmap_lockdep_wrapper'
>   646 |   fn(__VA_ARGS__, &_key,     \
>       |      ^~~~~~~~~~~
> drivers/mfd/altera-sysmgr.c:148:12: note: in expansion of macro 
> 'devm_regmap_init'
>   148 |   regmap = devm_regmap_init(dev, NULL, (void *)res->start,
>       |            ^~~~~~~~~~~~~~~~
> 
> I had tried a different approach that would store the address
> in the private data as a phys_addr_t, but the easiest solution
> now seems to be to add a double cast to shut up the warning.
> 
> As the address is passed to an inline assembly, it is guaranteed
> to not be wider than a register anyway.
> 
> Fixes: d9ca7801b6e5 ("mfd: altera-sysmgr: Fix physical address storing hacks")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>  drivers/mfd/altera-sysmgr.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Applied, thanks.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

Reply via email to