Re: [krzk-mem-ctrl:for-v5.17/renesas-rpc 5/5] drivers/memory/renesas-rpc-if.c:253:14: warning: cast to smaller integer type 'enum rpcif_type' from 'const void *'

From: Krzysztof Kozlowski
Date: Wed Nov 17 2021 - 03:27:53 EST


On 17/11/2021 04:56, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git for-v5.17/renesas-rpc
> head: b04cc0d912eb80d3c438b11d96ca847c3e77e8ab
> commit: b04cc0d912eb80d3c438b11d96ca847c3e77e8ab [5/5] memory: renesas-rpc-if: Add support for RZ/G2L
> config: x86_64-buildonly-randconfig-r002-20211116 (attached as .config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4c2cf3a314d9131b1b288e7c8ab0c75ac1b2be1d)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git/commit/?id=b04cc0d912eb80d3c438b11d96ca847c3e77e8ab
> git remote add krzk-mem-ctrl https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git
> git fetch --no-tags krzk-mem-ctrl for-v5.17/renesas-rpc
> git checkout b04cc0d912eb80d3c438b11d96ca847c3e77e8ab
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All warnings (new ones prefixed by >>):
>
>>> drivers/memory/renesas-rpc-if.c:253:14: warning: cast to smaller integer type 'enum rpcif_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
> rpc->type = (enum rpcif_type)of_device_get_match_data(dev);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 warning generated.
>

I am afraid several drivers repeat this pattern and will be affected as
well on clang. GCC does not complain (apparently cast is enough for
GCC), but still this has to be fixed. Maybe cast via uintptr_t would
quite it?

Let me know when I can expect the fix.

Best regards,
Krzysztof