wifi: brcmfmac: allow per-vendor event handling
authorArend van Spriel <arend.vanspriel@broadcom.com>
Sat, 6 Jan 2024 10:38:35 +0000 (11:38 +0100)
committerKalle Valo <kvalo@kernel.org>
Fri, 19 Jan 2024 17:30:19 +0000 (19:30 +0200)
commitedec42821911a68317a611a2c2434a80c48bd3c0
tree32b394ce65761f5009d7e6eb802fd4a9d2ee9c2b
parentb822015a1f57268f5b2ff656736dc4004e7097da
wifi: brcmfmac: allow per-vendor event handling

The firmware interface also defines events generated by
firmware on the device. As the get/set primitives the
events are likely to diverge between the vendors so this
commit adds support for per-vendor handling. The number
of events may differ so we let the vendor-specific code
allocate the struct brcmf_fweh_info which contains array
of event handlers. The existing event enumeration will be
used by the higher layers and thus are common definitions.
The vendor-specific code can provide a mapping table for
converting the common definition to the vendor-specific
firmware event definition and vice-versa.

Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240106103835.269149-4-arend.vanspriel@broadcom.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h
drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c