From: Jerome Pouiller <Jerome.Pouiller@silabs.com> To: "devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>, "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org> Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Kalle Valo <kvalo@codeaurora.org>, "David S . Miller" <davem@davemloft.net>, David Le Goff <David.Legoff@silabs.com>, Jerome Pouiller <Jerome.Pouiller@silabs.com> Subject: [PATCH v3 00/20] Add support for Silicon Labs WiFi chip WF200 and further Date: Thu, 19 Sep 2019 14:25:36 +0000 [thread overview] Message-ID: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> (raw) From: Jérôme Pouiller <jerome.pouiller@silabs.com> Hello all, This series add support for Silicon Labs WiFi chip WF200 and further: https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf This driver is an export from: https://github.com/SiliconLabs/wfx-linux-driver/ I squashed all commits from github (it definitely does not make sense to import history). Then I split it in comprehensible (at least try to be) commits. I hope it will help readers to understand driver architecture. IMHO, firsts commits are clean enough to be reviewed. Things get more difficult when I introduce mac8011 API. I tried to extract important parts like Rx/Tx process but, big and complex patches seem unavoidable in this part. Architecture itself is described in commit messages. The series below is aligned on version 2.3.1 on github. If compare this series with github, you will find traditional differences between external and a in-tree driver: Documentation, build infrastructure, compatibility with older kernel revisions, etc... In add, I dropped all code in CONFIG_WFX_SECURE_LINK. Indeed, "Secure Link" feature depends on mbedtls and I don't think to pull mbedtls in kernel is an option (see "TODO" file in first commit). v3: - Fill commit log of patches 18, 19 and 20 v2: - Add TODO file (and dropped todo list from cover letter) - Drop code relative to compatibility with older kernels Jérôme Pouiller (20): staging: wfx: add infrastructure for new driver staging: wfx: add support for I/O access staging: wfx: add I/O API staging: wfx: add tracepoints for I/O access staging: wfx: load firmware staging: wfx: import HIF API headers staging: wfx: add IRQ handling staging: wfx: add tracepoints for HIF staging: wfx: add support for start-up indication staging: wfx: instantiate mac80211 data staging: wfx: allow to send commands to chip staging: wfx: add HIF commands helpers staging: wfx: introduce "secure link" staging: wfx: setup initial chip configuration staging: wfx: add debug files and trace debug events staging: wfx: allow to send 802.11 frames staging: wfx: allow to receive 802.11 frames staging: wfx: allow to scan networks staging: wfx: implement 802.11 key handling staging: wfx: implement the rest of mac80211 API MAINTAINERS | 5 + drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 1 + .../bindings/net/wireless/siliabs,wfx.txt | 97 + drivers/staging/wfx/Kconfig | 7 + drivers/staging/wfx/Makefile | 24 + drivers/staging/wfx/TODO | 20 + drivers/staging/wfx/bh.c | 316 ++++ drivers/staging/wfx/bh.h | 32 + drivers/staging/wfx/bus.h | 34 + drivers/staging/wfx/bus_sdio.c | 268 +++ drivers/staging/wfx/bus_spi.c | 264 +++ drivers/staging/wfx/data_rx.c | 208 +++ drivers/staging/wfx/data_rx.h | 18 + drivers/staging/wfx/data_tx.c | 799 ++++++++ drivers/staging/wfx/data_tx.h | 93 + drivers/staging/wfx/debug.c | 305 +++ drivers/staging/wfx/debug.h | 19 + drivers/staging/wfx/fwio.c | 387 ++++ drivers/staging/wfx/fwio.h | 15 + drivers/staging/wfx/hif_api_cmd.h | 681 +++++++ drivers/staging/wfx/hif_api_general.h | 437 +++++ drivers/staging/wfx/hif_api_mib.h | 558 ++++++ drivers/staging/wfx/hif_rx.c | 336 ++++ drivers/staging/wfx/hif_rx.h | 18 + drivers/staging/wfx/hif_tx.c | 470 +++++ drivers/staging/wfx/hif_tx.h | 67 + drivers/staging/wfx/hif_tx_mib.h | 281 +++ drivers/staging/wfx/hwio.c | 338 ++++ drivers/staging/wfx/hwio.h | 75 + drivers/staging/wfx/key.c | 258 +++ drivers/staging/wfx/key.h | 22 + drivers/staging/wfx/main.c | 500 +++++ drivers/staging/wfx/main.h | 48 + drivers/staging/wfx/queue.c | 606 ++++++ drivers/staging/wfx/queue.h | 59 + drivers/staging/wfx/scan.c | 289 +++ drivers/staging/wfx/scan.h | 42 + drivers/staging/wfx/secure_link.h | 46 + drivers/staging/wfx/sta.c | 1643 +++++++++++++++++ drivers/staging/wfx/sta.h | 101 + drivers/staging/wfx/traces.h | 434 +++++ drivers/staging/wfx/wfx.h | 204 ++ drivers/staging/wfx/wfx_version.h | 3 + 44 files changed, 10430 insertions(+) create mode 100644 drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/siliabs,wfx.txt create mode 100644 drivers/staging/wfx/Kconfig create mode 100644 drivers/staging/wfx/Makefile create mode 100644 drivers/staging/wfx/TODO create mode 100644 drivers/staging/wfx/bh.c create mode 100644 drivers/staging/wfx/bh.h create mode 100644 drivers/staging/wfx/bus.h create mode 100644 drivers/staging/wfx/bus_sdio.c create mode 100644 drivers/staging/wfx/bus_spi.c create mode 100644 drivers/staging/wfx/data_rx.c create mode 100644 drivers/staging/wfx/data_rx.h create mode 100644 drivers/staging/wfx/data_tx.c create mode 100644 drivers/staging/wfx/data_tx.h create mode 100644 drivers/staging/wfx/debug.c create mode 100644 drivers/staging/wfx/debug.h create mode 100644 drivers/staging/wfx/fwio.c create mode 100644 drivers/staging/wfx/fwio.h create mode 100644 drivers/staging/wfx/hif_api_cmd.h create mode 100644 drivers/staging/wfx/hif_api_general.h create mode 100644 drivers/staging/wfx/hif_api_mib.h create mode 100644 drivers/staging/wfx/hif_rx.c create mode 100644 drivers/staging/wfx/hif_rx.h create mode 100644 drivers/staging/wfx/hif_tx.c create mode 100644 drivers/staging/wfx/hif_tx.h create mode 100644 drivers/staging/wfx/hif_tx_mib.h create mode 100644 drivers/staging/wfx/hwio.c create mode 100644 drivers/staging/wfx/hwio.h create mode 100644 drivers/staging/wfx/key.c create mode 100644 drivers/staging/wfx/key.h create mode 100644 drivers/staging/wfx/main.c create mode 100644 drivers/staging/wfx/main.h create mode 100644 drivers/staging/wfx/queue.c create mode 100644 drivers/staging/wfx/queue.h create mode 100644 drivers/staging/wfx/scan.c create mode 100644 drivers/staging/wfx/scan.h create mode 100644 drivers/staging/wfx/secure_link.h create mode 100644 drivers/staging/wfx/sta.c create mode 100644 drivers/staging/wfx/sta.h create mode 100644 drivers/staging/wfx/traces.h create mode 100644 drivers/staging/wfx/wfx.h create mode 100644 drivers/staging/wfx/wfx_version.h -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Jerome Pouiller <Jerome.Pouiller@silabs.com> To: "devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>, "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org> Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, David Le Goff <David.Legoff@silabs.com>, "David S . Miller" <davem@davemloft.net>, Kalle Valo <kvalo@codeaurora.org> Subject: [PATCH v3 00/20] Add support for Silicon Labs WiFi chip WF200 and further Date: Thu, 19 Sep 2019 14:25:36 +0000 [thread overview] Message-ID: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> (raw) From: Jérôme Pouiller <jerome.pouiller@silabs.com> Hello all, This series add support for Silicon Labs WiFi chip WF200 and further: https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf This driver is an export from: https://github.com/SiliconLabs/wfx-linux-driver/ I squashed all commits from github (it definitely does not make sense to import history). Then I split it in comprehensible (at least try to be) commits. I hope it will help readers to understand driver architecture. IMHO, firsts commits are clean enough to be reviewed. Things get more difficult when I introduce mac8011 API. I tried to extract important parts like Rx/Tx process but, big and complex patches seem unavoidable in this part. Architecture itself is described in commit messages. The series below is aligned on version 2.3.1 on github. If compare this series with github, you will find traditional differences between external and a in-tree driver: Documentation, build infrastructure, compatibility with older kernel revisions, etc... In add, I dropped all code in CONFIG_WFX_SECURE_LINK. Indeed, "Secure Link" feature depends on mbedtls and I don't think to pull mbedtls in kernel is an option (see "TODO" file in first commit). v3: - Fill commit log of patches 18, 19 and 20 v2: - Add TODO file (and dropped todo list from cover letter) - Drop code relative to compatibility with older kernels Jérôme Pouiller (20): staging: wfx: add infrastructure for new driver staging: wfx: add support for I/O access staging: wfx: add I/O API staging: wfx: add tracepoints for I/O access staging: wfx: load firmware staging: wfx: import HIF API headers staging: wfx: add IRQ handling staging: wfx: add tracepoints for HIF staging: wfx: add support for start-up indication staging: wfx: instantiate mac80211 data staging: wfx: allow to send commands to chip staging: wfx: add HIF commands helpers staging: wfx: introduce "secure link" staging: wfx: setup initial chip configuration staging: wfx: add debug files and trace debug events staging: wfx: allow to send 802.11 frames staging: wfx: allow to receive 802.11 frames staging: wfx: allow to scan networks staging: wfx: implement 802.11 key handling staging: wfx: implement the rest of mac80211 API MAINTAINERS | 5 + drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 1 + .../bindings/net/wireless/siliabs,wfx.txt | 97 + drivers/staging/wfx/Kconfig | 7 + drivers/staging/wfx/Makefile | 24 + drivers/staging/wfx/TODO | 20 + drivers/staging/wfx/bh.c | 316 ++++ drivers/staging/wfx/bh.h | 32 + drivers/staging/wfx/bus.h | 34 + drivers/staging/wfx/bus_sdio.c | 268 +++ drivers/staging/wfx/bus_spi.c | 264 +++ drivers/staging/wfx/data_rx.c | 208 +++ drivers/staging/wfx/data_rx.h | 18 + drivers/staging/wfx/data_tx.c | 799 ++++++++ drivers/staging/wfx/data_tx.h | 93 + drivers/staging/wfx/debug.c | 305 +++ drivers/staging/wfx/debug.h | 19 + drivers/staging/wfx/fwio.c | 387 ++++ drivers/staging/wfx/fwio.h | 15 + drivers/staging/wfx/hif_api_cmd.h | 681 +++++++ drivers/staging/wfx/hif_api_general.h | 437 +++++ drivers/staging/wfx/hif_api_mib.h | 558 ++++++ drivers/staging/wfx/hif_rx.c | 336 ++++ drivers/staging/wfx/hif_rx.h | 18 + drivers/staging/wfx/hif_tx.c | 470 +++++ drivers/staging/wfx/hif_tx.h | 67 + drivers/staging/wfx/hif_tx_mib.h | 281 +++ drivers/staging/wfx/hwio.c | 338 ++++ drivers/staging/wfx/hwio.h | 75 + drivers/staging/wfx/key.c | 258 +++ drivers/staging/wfx/key.h | 22 + drivers/staging/wfx/main.c | 500 +++++ drivers/staging/wfx/main.h | 48 + drivers/staging/wfx/queue.c | 606 ++++++ drivers/staging/wfx/queue.h | 59 + drivers/staging/wfx/scan.c | 289 +++ drivers/staging/wfx/scan.h | 42 + drivers/staging/wfx/secure_link.h | 46 + drivers/staging/wfx/sta.c | 1643 +++++++++++++++++ drivers/staging/wfx/sta.h | 101 + drivers/staging/wfx/traces.h | 434 +++++ drivers/staging/wfx/wfx.h | 204 ++ drivers/staging/wfx/wfx_version.h | 3 + 44 files changed, 10430 insertions(+) create mode 100644 drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/siliabs,wfx.txt create mode 100644 drivers/staging/wfx/Kconfig create mode 100644 drivers/staging/wfx/Makefile create mode 100644 drivers/staging/wfx/TODO create mode 100644 drivers/staging/wfx/bh.c create mode 100644 drivers/staging/wfx/bh.h create mode 100644 drivers/staging/wfx/bus.h create mode 100644 drivers/staging/wfx/bus_sdio.c create mode 100644 drivers/staging/wfx/bus_spi.c create mode 100644 drivers/staging/wfx/data_rx.c create mode 100644 drivers/staging/wfx/data_rx.h create mode 100644 drivers/staging/wfx/data_tx.c create mode 100644 drivers/staging/wfx/data_tx.h create mode 100644 drivers/staging/wfx/debug.c create mode 100644 drivers/staging/wfx/debug.h create mode 100644 drivers/staging/wfx/fwio.c create mode 100644 drivers/staging/wfx/fwio.h create mode 100644 drivers/staging/wfx/hif_api_cmd.h create mode 100644 drivers/staging/wfx/hif_api_general.h create mode 100644 drivers/staging/wfx/hif_api_mib.h create mode 100644 drivers/staging/wfx/hif_rx.c create mode 100644 drivers/staging/wfx/hif_rx.h create mode 100644 drivers/staging/wfx/hif_tx.c create mode 100644 drivers/staging/wfx/hif_tx.h create mode 100644 drivers/staging/wfx/hif_tx_mib.h create mode 100644 drivers/staging/wfx/hwio.c create mode 100644 drivers/staging/wfx/hwio.h create mode 100644 drivers/staging/wfx/key.c create mode 100644 drivers/staging/wfx/key.h create mode 100644 drivers/staging/wfx/main.c create mode 100644 drivers/staging/wfx/main.h create mode 100644 drivers/staging/wfx/queue.c create mode 100644 drivers/staging/wfx/queue.h create mode 100644 drivers/staging/wfx/scan.c create mode 100644 drivers/staging/wfx/scan.h create mode 100644 drivers/staging/wfx/secure_link.h create mode 100644 drivers/staging/wfx/sta.c create mode 100644 drivers/staging/wfx/sta.h create mode 100644 drivers/staging/wfx/traces.h create mode 100644 drivers/staging/wfx/wfx.h create mode 100644 drivers/staging/wfx/wfx_version.h -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
next reply other threads:[~2019-09-19 14:28 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-19 14:25 Jerome Pouiller [this message] 2019-09-19 14:25 ` [PATCH v3 00/20] Add support for Silicon Labs WiFi chip WF200 and further Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 01/20] staging: wfx: add infrastructure for new driver Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-10-04 8:23 ` Greg Kroah-Hartman 2019-10-04 8:23 ` Greg Kroah-Hartman 2019-09-19 14:25 ` [PATCH v3 02/20] staging: wfx: add support for I/O access Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 03/20] staging: wfx: add I/O API Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 05/20] staging: wfx: load firmware Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 04/20] staging: wfx: add tracepoints for I/O access Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 06/20] staging: wfx: import HIF API headers Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 07/20] staging: wfx: add IRQ handling Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 08/20] staging: wfx: add tracepoints for HIF Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 09/20] staging: wfx: add support for start-up indication Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 10/20] staging: wfx: instantiate mac80211 data Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 11/20] staging: wfx: allow to send commands to chip Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 12/20] staging: wfx: add HIF commands helpers Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 13/20] staging: wfx: introduce "secure link" Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 14/20] staging: wfx: setup initial chip configuration Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 15/20] staging: wfx: add debug files and trace debug events Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 16/20] staging: wfx: allow to send 802.11 frames Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 17/20] staging: wfx: allow to receive " Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 18/20] staging: wfx: allow to scan networks Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 19/20] staging: wfx: implement 802.11 key handling Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:25 ` [PATCH v3 20/20] staging: wfx: implement the rest of mac80211 API Jerome Pouiller 2019-09-19 14:25 ` Jerome Pouiller 2019-09-19 14:41 ` [PATCH v3 00/20] Add support for Silicon Labs WiFi chip WF200 and further Greg Kroah-Hartman 2019-09-19 14:41 ` Greg Kroah-Hartman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190919142527.31797-1-Jerome.Pouiller@silabs.com \ --to=jerome.pouiller@silabs.com \ --cc=David.Legoff@silabs.com \ --cc=davem@davemloft.net \ --cc=devel@driverdev.osuosl.org \ --cc=gregkh@linuxfoundation.org \ --cc=kvalo@codeaurora.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-wireless@vger.kernel.org \ --cc=netdev@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.