mbox series

[V2,0/7] brcmfmac: support devices from multiple vendors

Message ID 20221129135446.151065-1-arend.vanspriel@broadcom.com (mailing list archive)
Headers show
Series brcmfmac: support devices from multiple vendors | expand

Message

Arend van Spriel Nov. 29, 2022, 1:54 p.m. UTC
Took my sweet time coming with this follow-up series, but here
it is. Hopefully, sending patches is working for me now.

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.

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/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    |  11 +
 .../broadcom/brcm80211/brcmfmac/bcmsdh.c      |  52 ++---
 .../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    |  11 +
 .../broadcom/brcm80211/brcmfmac/fwvid.c       | 199 ++++++++++++++++++
 .../broadcom/brcm80211/brcmfmac/fwvid.h       |  47 +++++
 .../broadcom/brcm80211/brcmfmac/pcie.c        |  70 +++---
 .../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    |  11 +
 22 files changed, 634 insertions(+), 65 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

Comments

Arend van Spriel Nov. 29, 2022, 1:58 p.m. UTC | #1
On 11/29/2022 2:54 PM, Arend van Spriel wrote:
> Took my sweet time coming with this follow-up series, but here
> it is. Hopefully, sending patches is working for me now.
> 
> 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.
> 
> The patches apply to the main branch of the wireless-next repository.

Just realized I forgot the 'wifi:' prefix. Hopefully you can forgive me 
this time? If not, I can resend.

Regards,
Arend
Kalle Valo Dec. 1, 2022, 11:12 a.m. UTC | #2
Arend van Spriel <arend.vanspriel@broadcom.com> writes:

> On 11/29/2022 2:54 PM, Arend van Spriel wrote:
>> Took my sweet time coming with this follow-up series, but here
>> it is. Hopefully, sending patches is working for me now.
>>
>> 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.
>>
>> The patches apply to the main branch of the wireless-next repository.
>
> Just realized I forgot the 'wifi:' prefix. Hopefully you can forgive
> me this time? If not, I can resend.

Yeah, I can add that. When we switched to using "wifi:" I was mentally
(and in my tools) prepared to adding those the next couple of years :)
Arend van Spriel Dec. 1, 2022, 11:21 a.m. UTC | #3
On 12/1/2022 12:12 PM, Kalle Valo wrote:
> Arend van Spriel <arend.vanspriel@broadcom.com> writes:
> 
>> On 11/29/2022 2:54 PM, Arend van Spriel wrote:
>>> Took my sweet time coming with this follow-up series, but here
>>> it is. Hopefully, sending patches is working for me now.
>>>
>>> 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.
>>>
>>> The patches apply to the main branch of the wireless-next repository.
>>
>> Just realized I forgot the 'wifi:' prefix. Hopefully you can forgive
>> me this time? If not, I can resend.
> 
> Yeah, I can add that. When we switched to using "wifi:" I was mentally
> (and in my tools) prepared to adding those the next couple of years :)

 From my side I will try to shorten that period ;-D

Gr. AvS