• Dmitry Antipov's avatar
    wifi: rtw89: cleanup firmware elements parsing · 7d7b6f29
    Dmitry Antipov authored
    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: default avatarDmitry Antipov <dmantipov@yandex.ru>
    Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/20231020040940.33154-1-dmantipov@yandex.ru
    7d7b6f29
fw.c 143 KB