wifi: brcmfmac: add support for vendor-specific firmware api
authorArend van Spriel <arend.vanspriel@broadcom.com>
Tue, 29 Nov 2022 13:54:42 +0000 (14:54 +0100)
committerKalle Valo <kvalo@kernel.org>
Thu, 8 Dec 2022 14:44:07 +0000 (16:44 +0200)
commitd6a5c562214f26e442c8ec3ff1e28e16675d1bcf
tree1345db010f5b0042f29c0871b3b839546e4ac9b8
parentda6d9c8ecd00e20218461007948f2b0a8e7fa242
wifi: brcmfmac: add support for vendor-specific firmware api

The driver is being used by multiple vendors who develop the firmware
api independently. So far the firmware api as used by the driver has
not diverged (yet). This change adds framework for supporting multiple
firmware apis. The vendor-specific support code has to provide a number
of callback operations. Right now it is only attach and detach callbacks
so no real functionality as the api is still common. This code only
adds WCC variant anyway, which is selected for all devices right now.
The vendor-specific part will be built in a separate module when the
driver is configured to be built as a module through Kconfig, ie. when
CONFIG_BRCMFMAC=m.

Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221129135446.151065-4-arend.vanspriel@broadcom.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c [new file with mode: 0644]
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h [new file with mode: 0644]
drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/Makefile [new file with mode: 0644]
drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c [new file with mode: 0644]
drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/module.c [new file with mode: 0644]
drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/vops.h [new file with mode: 0644]