wifi: rtw89: cleanup firmware elements parsing
authorDmitry Antipov <dmantipov@yandex.ru>
Fri, 20 Oct 2023 04:09:36 +0000 (07:09 +0300)
committerKalle Valo <kvalo@kernel.org>
Wed, 25 Oct 2023 09:08:52 +0000 (12:08 +0300)
commit7d7b6f2953b342bf6eab81886a03680109f3cb1c
tree6708ede1391fca4f4924bb1723626ca4e809da8b
parentcca74bed37af1c8217bcd8282d9b384efdbf73bd
wifi: rtw89: cleanup firmware elements parsing

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 <dmantipov@yandex.ru>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231020040940.33154-1-dmantipov@yandex.ru
drivers/net/wireless/realtek/rtw89/fw.c