Re: [PATCH] mfd: altera-sysmgr: Fix physical address storing more

From: Lee Jones
Date: Wed Dec 16 2020 - 03:48:11 EST


On Thu, 03 Dec 2020, Arnd Bergmann wrote:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> 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 <arnd@xxxxxxxx>
> ---
> 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