The bcm43xx family of wifi chipsets found its way to different groups inside and outside Broadcom. For the fullmac devices this means that in those difference groups firmware is being developed and the firmware api is bound to diverge. This series introduces a design change to accomodate supporting multiple firmware api's. The vender-specific support can be compiled in brcmfmac or built as a separate module. Currently the vendor-specific support does not have any real effect. At the momemt looking into SAE support which appear to be different for Cypress devices so that might be a first use-case. Meanwhile wanted to put this series out there and get feedback on it. Some ideas were taken from iwlwifi which does similar things for iwlmvm, iwldvm, etc. The patches apply to the main branch of the wireless-next repository. Arend van Spriel (7): brcmfmac: add function to unbind device to bus layer api brcmfmac: add firmware vendor info in driver data brcmfmac: add support for vendor-specific firmware api brcmfmac: add support for Cypress firmware api brcmfmac: add support Broadcom BCA firmware api brcmfmac: add vendor name in revinfo debugfs file brcmfmac: introduce BRCMFMAC exported symbols namespace .../broadcom/brcm80211/brcmfmac/Kconfig | 30 +++ .../broadcom/brcm80211/brcmfmac/Makefile | 11 + .../broadcom/brcm80211/brcmfmac/bca/Makefile | 12 + .../broadcom/brcm80211/brcmfmac/bca/core.c | 27 +++ .../broadcom/brcm80211/brcmfmac/bca/module.c | 27 +++ .../broadcom/brcm80211/brcmfmac/bca/vops.h | 15 ++ .../broadcom/brcm80211/brcmfmac/bcmsdh.c | 50 +++-- .../broadcom/brcm80211/brcmfmac/bus.h | 30 ++- .../broadcom/brcm80211/brcmfmac/core.c | 12 +- .../broadcom/brcm80211/brcmfmac/core.h | 8 + .../broadcom/brcm80211/brcmfmac/cyw/Makefile | 12 + .../broadcom/brcm80211/brcmfmac/cyw/core.c | 27 +++ .../broadcom/brcm80211/brcmfmac/cyw/module.c | 27 +++ .../broadcom/brcm80211/brcmfmac/cyw/vops.h | 15 ++ .../broadcom/brcm80211/brcmfmac/fwvid.c | 205 ++++++++++++++++++ .../broadcom/brcm80211/brcmfmac/fwvid.h | 47 ++++ .../broadcom/brcm80211/brcmfmac/pcie.c | 64 +++--- .../broadcom/brcm80211/brcmfmac/sdio.c | 12 +- .../broadcom/brcm80211/brcmfmac/usb.c | 27 ++- .../broadcom/brcm80211/brcmfmac/wcc/Makefile | 12 + .../broadcom/brcm80211/brcmfmac/wcc/core.c | 27 +++ .../broadcom/brcm80211/brcmfmac/wcc/module.c | 27 +++ .../broadcom/brcm80211/brcmfmac/wcc/vops.h | 15 ++ 23 files changed, 678 insertions(+), 61 deletions(-) create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/Makefile create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/module.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/vops.h create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/Makefile create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/module.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/vops.h create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/Makefile create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/module.c create mode 100644 drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/vops.h -- 2.32.0