Dmitry Antipov <[email protected]> wrote:
> When compiling with clang-18, I've noticed the following:
>
> drivers/net/wireless/realtek/rtw89/fw.c:389:28: warning: cast to smaller
> integer type 'enum rtw89_fw_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
> 389 | enum rtw89_fw_type type = (enum rtw89_fw_type)data;
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/net/wireless/realtek/rtw89/fw.c:569:13: warning: cast to smaller
> integer type 'enum rtw89_rf_path' from 'const void *' [-Wvoid-pointer-to-enum-cast]
> 569 | rf_path = (enum rtw89_rf_path)data;
> | ^~~~~~~~~~~~~~~~~~~~~~~~
>
> So avoid brutal everything-to-const-void-and-back casts, introduce
> 'union rtw89_fw_element_arg' to pass parameters to element handler
> callbacks, and adjust all of the related bits accordingly. Compile
> tested only.
>
> Signed-off-by: Dmitry Antipov <[email protected]>
Patch applied to wireless-next.git, thanks.
7d7b6f2953b3 wifi: rtw89: cleanup firmware elements parsing
--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches